aboutsummaryrefslogtreecommitdiff
path: root/include/btf.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/btf.h')
-rw-r--r--include/btf.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/include/btf.h b/include/btf.h
index da62135..2f8f6f6 100644
--- a/include/btf.h
+++ b/include/btf.h
@@ -178,6 +178,15 @@ struct btf_param
uint32_t type; /* Type of parameter. */
};
+/* BTF_KIND_FUNC records encode linkage information in the VLEN bits
+ of the type record. These are the supported values. */
+enum btf_func_linkage
+{
+ BTF_FUNC_STATIC = 0,
+ BTF_FUNC_GLOBAL = 1,
+ BTF_FUNC_EXTERN = 2,
+};
+
/* BTF_KIND_VAR records encode linkage information in a single
trailing struct btf_var. These are the supported values. */
enum btf_var_linkage
@@ -195,12 +204,13 @@ struct btf_var
};
/* BTF_KIND_DATASEC is followed by VLEN struct btf_var_secinfo entries,
- which describe all BTF_KIND_VAR types contained in the section. */
+ which describe all BTF_KIND_VAR or extern BTF_KIND_FUNC types contained
+ in the section. */
struct btf_var_secinfo
{
- uint32_t type; /* Type of variable. */
- uint32_t offset; /* In-section offset of variable (in bytes). */
- uint32_t size; /* Size (in bytes) of variable. */
+ uint32_t type; /* Type of BTF_KIND_VAR or BTF_KIND_FUNC item. */
+ uint32_t offset; /* In-section offset (in bytes) of item. */
+ uint32_t size; /* Size (in bytes) of item. */
};
/* BTF_KIND_ENUM64 is followed by VLEN struct btf_enum64 entries,