Loading [MathJax]/extensions/tex2jax.js
CS350 COS
COS
All Data Structures Files Functions Variables Typedefs Macros
elf64.h File Reference
#include <sys/elf_common.h>
Include dependency graph for elf64.h:

Go to the source code of this file.

Data Structures

struct  Elf64_Ehdr
 
struct  Elf64_Shdr
 
struct  Elf64_Phdr
 
struct  Elf64_Dyn
 
struct  Elf64_Rel
 
struct  Elf64_Rela
 
struct  Elf64_Move
 
struct  Elf64_Cap
 
struct  Elf64_Sym
 
struct  Elf64_Verdef
 
struct  Elf64_Verdaux
 
struct  Elf64_Verneed
 
struct  Elf64_Vernaux
 
struct  Elf64_Syminfo
 
union  Elf64_Dyn.d_un
 
union  Elf64_Cap.c_un
 

Macros

#define ELF64_R_SYM(info)   ((info) >> 32)
 
#define ELF64_R_TYPE(info)   ((info) & 0xffffffffL)
 
#define ELF64_R_INFO(sym, type)   (((sym) << 32) + ((type) & 0xffffffffL))
 
#define ELF64_R_TYPE_DATA(info)   (((Elf64_Xword)(info)<<32)>>40)
 
#define ELF64_R_TYPE_ID(info)   (((Elf64_Xword)(info)<<56)>>56)
 
#define ELF64_R_TYPE_INFO(data, type)    (((Elf64_Xword)(data)<<8)+(Elf64_Xword)(type))
 
#define ELF64_M_SYM(info)   ((info)>>8)
 
#define ELF64_M_SIZE(info)   ((unsigned char)(info))
 
#define ELF64_M_INFO(sym, size)   (((sym)<<8)+(unsigned char)(size))
 
#define ELF64_ST_BIND(info)   ((info) >> 4)
 
#define ELF64_ST_TYPE(info)   ((info) & 0xf)
 
#define ELF64_ST_INFO(bind, type)   (((bind) << 4) + ((type) & 0xf))
 
#define ELF64_ST_VISIBILITY(oth)   ((oth) & 0x3)
 

Typedefs

typedef uint64_t Elf64_Addr
 
typedef uint16_t Elf64_Half
 
typedef uint64_t Elf64_Off
 
typedef int32_t Elf64_Sword
 
typedef int64_t Elf64_Sxword
 
typedef uint32_t Elf64_Word
 
typedef uint64_t Elf64_Lword
 
typedef uint64_t Elf64_Xword
 
typedef Elf64_Word Elf64_Hashelt
 
typedef Elf64_Xword Elf64_Size
 
typedef Elf64_Sxword Elf64_Ssize
 
typedef Elf_Note Elf64_Nhdr
 
typedef Elf64_Half Elf64_Versym
 

Data Structure Documentation

◆ Elf64_Ehdr

struct Elf64_Ehdr

Definition at line 64 of file elf64.h.

Collaboration diagram for Elf64_Ehdr:
[legend]
Data Fields
Elf64_Half e_ehsize
Elf64_Addr e_entry
Elf64_Word e_flags
unsigned char e_ident[EI_NIDENT]
Elf64_Half e_machine
Elf64_Half e_phentsize
Elf64_Half e_phnum
Elf64_Off e_phoff
Elf64_Half e_shentsize
Elf64_Half e_shnum
Elf64_Off e_shoff
Elf64_Half e_shstrndx
Elf64_Half e_type
Elf64_Word e_version

◆ Elf64_Shdr

struct Elf64_Shdr

Definition at line 85 of file elf64.h.

Collaboration diagram for Elf64_Shdr:
[legend]
Data Fields
Elf64_Addr sh_addr
Elf64_Xword sh_addralign
Elf64_Xword sh_entsize
Elf64_Xword sh_flags
Elf64_Word sh_info
Elf64_Word sh_link
Elf64_Word sh_name
Elf64_Off sh_offset
Elf64_Xword sh_size
Elf64_Word sh_type

◆ Elf64_Phdr

struct Elf64_Phdr

Definition at line 103 of file elf64.h.

Collaboration diagram for Elf64_Phdr:
[legend]
Data Fields
Elf64_Xword p_align
Elf64_Xword p_filesz
Elf64_Word p_flags
Elf64_Xword p_memsz
Elf64_Off p_offset
Elf64_Addr p_paddr
Elf64_Word p_type
Elf64_Addr p_vaddr

◆ Elf64_Dyn

struct Elf64_Dyn

Definition at line 118 of file elf64.h.

Collaboration diagram for Elf64_Dyn:
[legend]
Data Fields
Elf64_Sxword d_tag
union Elf64_Dyn.d_un d_un

◆ Elf64_Rel

struct Elf64_Rel

Definition at line 131 of file elf64.h.

Collaboration diagram for Elf64_Rel:
[legend]
Data Fields
Elf64_Xword r_info
Elf64_Addr r_offset

◆ Elf64_Rela

struct Elf64_Rela

Definition at line 137 of file elf64.h.

Collaboration diagram for Elf64_Rela:
[legend]
Data Fields
Elf64_Sxword r_addend
Elf64_Xword r_info
Elf64_Addr r_offset

◆ Elf64_Move

struct Elf64_Move

Definition at line 163 of file elf64.h.

Collaboration diagram for Elf64_Move:
[legend]
Data Fields
Elf64_Xword m_info
Elf64_Xword m_poffset
Elf64_Half m_repeat
Elf64_Half m_stride
Elf64_Lword m_value

◆ Elf64_Cap

struct Elf64_Cap

Definition at line 178 of file elf64.h.

Collaboration diagram for Elf64_Cap:
[legend]
Data Fields
Elf64_Xword c_tag
union Elf64_Cap.c_un c_un

◆ Elf64_Sym

struct Elf64_Sym

Definition at line 190 of file elf64.h.

Collaboration diagram for Elf64_Sym:
[legend]
Data Fields
unsigned char st_info
Elf64_Word st_name
unsigned char st_other
Elf64_Half st_shndx
Elf64_Xword st_size
Elf64_Addr st_value

◆ Elf64_Verdef

struct Elf64_Verdef

Definition at line 210 of file elf64.h.

Collaboration diagram for Elf64_Verdef:
[legend]
Data Fields
Elf64_Word vd_aux
Elf64_Half vd_cnt
Elf64_Half vd_flags
Elf64_Word vd_hash
Elf64_Half vd_ndx
Elf64_Word vd_next
Elf64_Half vd_version

◆ Elf64_Verdaux

struct Elf64_Verdaux

Definition at line 220 of file elf64.h.

Collaboration diagram for Elf64_Verdaux:
[legend]
Data Fields
Elf64_Word vda_name
Elf64_Word vda_next

◆ Elf64_Verneed

struct Elf64_Verneed

Definition at line 225 of file elf64.h.

Collaboration diagram for Elf64_Verneed:
[legend]
Data Fields
Elf64_Word vn_aux
Elf64_Half vn_cnt
Elf64_Word vn_file
Elf64_Word vn_next
Elf64_Half vn_version

◆ Elf64_Vernaux

struct Elf64_Vernaux

Definition at line 233 of file elf64.h.

Collaboration diagram for Elf64_Vernaux:
[legend]
Data Fields
Elf64_Half vna_flags
Elf64_Word vna_hash
Elf64_Word vna_name
Elf64_Word vna_next
Elf64_Half vna_other

◆ Elf64_Syminfo

struct Elf64_Syminfo

Definition at line 243 of file elf64.h.

Collaboration diagram for Elf64_Syminfo:
[legend]
Data Fields
Elf64_Half si_boundto
Elf64_Half si_flags

◆ Elf64_Dyn.d_un

union Elf64_Dyn.d_un

Definition at line 120 of file elf64.h.

Data Fields
Elf64_Addr d_ptr
Elf64_Xword d_val

◆ Elf64_Cap.c_un

union Elf64_Cap.c_un

Definition at line 180 of file elf64.h.

Data Fields
Elf64_Addr c_ptr
Elf64_Xword c_val

Macro Definition Documentation

◆ ELF64_M_INFO

#define ELF64_M_INFO (   sym,
  size 
)    (((sym)<<8)+(unsigned char)(size))

Definition at line 173 of file elf64.h.

◆ ELF64_M_SIZE

#define ELF64_M_SIZE (   info)    ((unsigned char)(info))

Definition at line 172 of file elf64.h.

◆ ELF64_M_SYM

#define ELF64_M_SYM (   info)    ((info)>>8)

Definition at line 171 of file elf64.h.

◆ ELF64_R_INFO

#define ELF64_R_INFO (   sym,
  type 
)    (((sym) << 32) + ((type) & 0xffffffffL))

Definition at line 148 of file elf64.h.

◆ ELF64_R_SYM

#define ELF64_R_SYM (   info)    ((info) >> 32)

Definition at line 144 of file elf64.h.

◆ ELF64_R_TYPE

#define ELF64_R_TYPE (   info)    ((info) & 0xffffffffL)

Definition at line 145 of file elf64.h.

◆ ELF64_R_TYPE_DATA

#define ELF64_R_TYPE_DATA (   info)    (((Elf64_Xword)(info)<<32)>>40)

Definition at line 150 of file elf64.h.

◆ ELF64_R_TYPE_ID

#define ELF64_R_TYPE_ID (   info)    (((Elf64_Xword)(info)<<56)>>56)

Definition at line 151 of file elf64.h.

◆ ELF64_R_TYPE_INFO

#define ELF64_R_TYPE_INFO (   data,
  type 
)     (((Elf64_Xword)(data)<<8)+(Elf64_Xword)(type))

Definition at line 152 of file elf64.h.

◆ ELF64_ST_BIND

#define ELF64_ST_BIND (   info)    ((info) >> 4)

Definition at line 200 of file elf64.h.

◆ ELF64_ST_INFO

#define ELF64_ST_INFO (   bind,
  type 
)    (((bind) << 4) + ((type) & 0xf))

Definition at line 204 of file elf64.h.

◆ ELF64_ST_TYPE

#define ELF64_ST_TYPE (   info)    ((info) & 0xf)

Definition at line 201 of file elf64.h.

◆ ELF64_ST_VISIBILITY

#define ELF64_ST_VISIBILITY (   oth)    ((oth) & 0x3)

Definition at line 207 of file elf64.h.

Typedef Documentation

◆ Elf64_Addr

Definition at line 38 of file elf64.h.

◆ Elf64_Half

Definition at line 39 of file elf64.h.

◆ Elf64_Hashelt

Definition at line 54 of file elf64.h.

◆ Elf64_Lword

Definition at line 44 of file elf64.h.

◆ Elf64_Nhdr

Definition at line 158 of file elf64.h.

◆ Elf64_Off

Definition at line 40 of file elf64.h.

◆ Elf64_Size

Definition at line 57 of file elf64.h.

◆ Elf64_Ssize

Definition at line 58 of file elf64.h.

◆ Elf64_Sword

Definition at line 41 of file elf64.h.

◆ Elf64_Sxword

Definition at line 42 of file elf64.h.

◆ Elf64_Versym

Definition at line 241 of file elf64.h.

◆ Elf64_Word

Definition at line 43 of file elf64.h.

◆ Elf64_Xword

Definition at line 45 of file elf64.h.