LLVM 19.0.0git
Classes | Enumerations | Variables
llvm::BTF Namespace Reference

Classes

struct  ArrayType
 
struct  BPFFieldReloc
 Specifying one offset relocation. More...
 
struct  BPFFuncInfo
 Specifying one function info. More...
 
struct  BPFLineInfo
 Specifying one line info. More...
 
struct  BTFArray
 BTF_KIND_ARRAY is followed by one "struct BTFArray". More...
 
struct  BTFDataSec
 BTF_KIND_DATASEC are followed by multiple "struct BTFDataSecVar". More...
 
struct  BTFEnum
 BTF_KIND_ENUM is followed by multiple "struct BTFEnum". More...
 
struct  BTFEnum64
 BTF_KIND_ENUM64 is followed by multiple "struct BTFEnum64". More...
 
struct  BTFMember
 BTF_KIND_STRUCT and BTF_KIND_UNION are followed by multiple "struct BTFMember". More...
 
struct  BTFParam
 BTF_KIND_FUNC_PROTO are followed by multiple "struct BTFParam". More...
 
struct  CommonType
 The BTF common type definition. More...
 
struct  Enum64Type
 
struct  EnumType
 
struct  ExtHeader
 The .BTF.ext section header definition. More...
 
struct  Header
 The .BTF section header definition. More...
 
struct  SecFieldReloc
 Specifying offset relocation's in one section. More...
 
struct  SecFuncInfo
 Specifying function info's in one section. More...
 
struct  SecLineInfo
 Specifying line info's in one section. More...
 
struct  StructType
 

Enumerations

enum  : uint32_t { MAGIC = 0xeB9F , VERSION = 1 }
 
enum  {
  HeaderSize = 24 , ExtHeaderSize = 32 , CommonTypeSize = 12 , BTFArraySize = 12 ,
  BTFEnumSize = 8 , BTFEnum64Size = 12 , BTFMemberSize = 12 , BTFParamSize = 8 ,
  BTFDataSecVarSize = 12 , SecFuncInfoSize = 8 , SecLineInfoSize = 8 , SecFieldRelocSize = 8 ,
  BPFFuncInfoSize = 8 , BPFLineInfoSize = 16 , BPFFieldRelocSize = 16
}
 Sizes in bytes of various things in the BTF format. More...
 
enum  : uint32_t { MAX_VLEN = 0xffff }
 
enum  TypeKinds : uint8_t
 
enum  : uint8_t { INT_SIGNED = (1 << 0) , INT_CHAR = (1 << 1) , INT_BOOL = (1 << 2) }
 Attributes stored in the INT_ENCODING. More...
 
enum  : uint8_t { FUNC_STATIC = 0 , FUNC_GLOBAL = 1 , FUNC_EXTERN = 2 }
 BTF_KIND_FUNC can be global, static or extern. More...
 
enum  : uint8_t { VAR_STATIC = 0 , VAR_GLOBAL_ALLOCATED = 1 , VAR_GLOBAL_EXTERNAL = 2 }
 Variable scoping information. More...
 
enum  PatchableRelocKind : uint32_t {
  FIELD_BYTE_OFFSET = 0 , FIELD_BYTE_SIZE , FIELD_EXISTENCE , FIELD_SIGNEDNESS ,
  FIELD_LSHIFT_U64 , FIELD_RSHIFT_U64 , BTF_TYPE_ID_LOCAL , BTF_TYPE_ID_REMOTE ,
  TYPE_EXISTENCE , TYPE_SIZE , ENUM_VALUE_EXISTENCE , ENUM_VALUE ,
  TYPE_MATCH , MAX_FIELD_RELOC_KIND
}
 CO-RE relocation kind codes used in .BTF.ext section. More...
 

Variables

constexpr uint32_t FWD_UNION_FLAG = 1u << 31
 
constexpr uint32_t ENUM_SIGNED_FLAG = 1u << 31
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
MAGIC 
VERSION 

Definition at line 57 of file BTF.h.

◆ anonymous enum

anonymous enum

Sizes in bytes of various things in the BTF format.

Enumerator
HeaderSize 
ExtHeaderSize 
CommonTypeSize 
BTFArraySize 
BTFEnumSize 
BTFEnum64Size 
BTFMemberSize 
BTFParamSize 
BTFDataSecVarSize 
SecFuncInfoSize 
SecLineInfoSize 
SecFieldRelocSize 
BPFFuncInfoSize 
BPFLineInfoSize 
BPFFieldRelocSize 

Definition at line 60 of file BTF.h.

◆ anonymous enum

anonymous enum : uint32_t
Enumerator
MAX_VLEN 

Max # of struct/union/enum members or func args.

Definition at line 92 of file BTF.h.

◆ anonymous enum

anonymous enum : uint8_t

Attributes stored in the INT_ENCODING.

Enumerator
INT_SIGNED 
INT_CHAR 
INT_BOOL 

Definition at line 145 of file BTF.h.

◆ anonymous enum

anonymous enum : uint8_t

BTF_KIND_FUNC can be global, static or extern.

Enumerator
FUNC_STATIC 
FUNC_GLOBAL 
FUNC_EXTERN 

Definition at line 200 of file BTF.h.

◆ anonymous enum

anonymous enum : uint8_t

Variable scoping information.

Enumerator
VAR_STATIC 

Linkage: InternalLinkage.

VAR_GLOBAL_ALLOCATED 

Linkage: ExternalLinkage.

VAR_GLOBAL_EXTERNAL 

Linkage: ExternalLinkage.

Definition at line 207 of file BTF.h.

◆ PatchableRelocKind

CO-RE relocation kind codes used in .BTF.ext section.

Enumerator
FIELD_BYTE_OFFSET 
FIELD_BYTE_SIZE 
FIELD_EXISTENCE 
FIELD_SIGNEDNESS 
FIELD_LSHIFT_U64 
FIELD_RSHIFT_U64 
BTF_TYPE_ID_LOCAL 
BTF_TYPE_ID_REMOTE 
TYPE_EXISTENCE 
TYPE_SIZE 
ENUM_VALUE_EXISTENCE 
ENUM_VALUE 
TYPE_MATCH 
MAX_FIELD_RELOC_KIND 

Definition at line 281 of file BTF.h.

◆ TypeKinds

enum llvm::BTF::TypeKinds : uint8_t

Definition at line 96 of file BTF.h.

Variable Documentation

◆ ENUM_SIGNED_FLAG

constexpr uint32_t llvm::BTF::ENUM_SIGNED_FLAG = 1u << 31
constexpr

Definition at line 103 of file BTF.h.

Referenced by llvm::BTFParser::symbolize().

◆ FWD_UNION_FLAG

constexpr uint32_t llvm::BTF::FWD_UNION_FLAG = 1u << 31
constexpr

Definition at line 102 of file BTF.h.

Referenced by llvm::BTFParser::symbolize().