Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
elf_interfaces.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define ELF_IFD_HAS_VARIABLE_PART(pifd)   (((pifd)->attrs & (SA_FREE_REGS|SA_PARAMETERS)) ? 1 : 0)
#define ELF_IFD_HAS_FREE_REG_MASK(pifd)   (((pifd)->attrs & SA_FREE_REGS) ? 1 : 0)
#define ELF_IFD_HAS_AUX_PCNT(pifd)   ((pifd)->pcnt == 255)
#define ELF_IFD_HAS_RETURN_TYPE(pifd)   ((pifd)->attrs & SA_FUNCTION)
#define ELF_IFD_FIXED_SIZE   (sizeof(Elf_Ifd))
#define ELF_IFD_VARIABLE_SIZE(pifd)
#define ELF_IFD_TOTAL_SIZE(pifd)   (ELF_IFD_FIXED_SIZE + ELF_IFD_VARIABLE_SIZE(pifd))
#define ELF_IFD_NEXT_INTERFACE(pifd)   ((Elf_Ifd *)((Elf64_Byte *)(pifd) + ELF_IFD_TOTAL_SIZE(pifd)))
#define ELF_IFD_VARIABLE_PART(pifd)
#define ELF_IFD_FREE_REG_MASK(pifd)
#define ELF_IFD_PARAMETER_COUNT(pifd)
#define ELF_IFD_FIRST_PARAMETER(pifd)
#define ELF_IFD_NEXT_PARAMETER(ppar)
#define ELF_IFD_PARAMETER_SPECIFIES_SIZE(ppar)   (((*(Elf64_Byte *)(ppar)) & PDMF_SIZE) ? 1 : 0)
#define ELF_IFD_QUALIFIER_COUNT(ppar)   ((*(Elf64_Byte *)(ppar)) & PDMF_Qualifiers)
#define ELF_IFD_FIRST_QUALIFIER(ppar)
#define ELF_IFD_PARAMETER_TYPE(ppar)   (*((Elf64_Byte *)(ppar) + sizeof(Elf64_Byte)))
#define ELF_IFD_PARAMETER_SIZE(ppar)

Variables

static Elf64_Byte Elf_Ifc_Size []

Define Documentation

#define ELF_IFD_FIRST_PARAMETER (   pifd)
Value:
((Elf64_Byte *)(pifd) + ELF_IFD_FIXED_SIZE + sizeof(Elf64_Half) + \
 (ELF_IFD_HAS_AUX_PCNT(pifd) * sizeof(Elf64_Half)) + \
 (ELF_IFD_HAS_FREE_REG_MASK(pifd) * sizeof(Elf64_Half)))

Definition at line 162 of file elf_interfaces.h.

#define ELF_IFD_FIRST_QUALIFIER (   ppar)
Value:
((Elf64_Byte *)(ppar) + sizeof(Elf64_Half) + \
 ELF_IFD_PARAMETER_SPECIFIES_SIZE(ppar) * sizeof(Elf64_Word))

Definition at line 178 of file elf_interfaces.h.

#define ELF_IFD_FIXED_SIZE   (sizeof(Elf_Ifd))

Definition at line 135 of file elf_interfaces.h.

#define ELF_IFD_FREE_REG_MASK (   pifd)
Value:
(*(Elf64_Half *)((Elf64_Byte *)(pifd) + ELF_IFD_FIXED_SIZE + \
                 sizeof(Elf64_Word)))

Definition at line 152 of file elf_interfaces.h.

#define ELF_IFD_HAS_AUX_PCNT (   pifd)    ((pifd)->pcnt == 255)

Definition at line 129 of file elf_interfaces.h.

#define ELF_IFD_HAS_FREE_REG_MASK (   pifd)    (((pifd)->attrs & SA_FREE_REGS) ? 1 : 0)

Definition at line 126 of file elf_interfaces.h.

#define ELF_IFD_HAS_RETURN_TYPE (   pifd)    ((pifd)->attrs & SA_FUNCTION)

Definition at line 132 of file elf_interfaces.h.

#define ELF_IFD_HAS_VARIABLE_PART (   pifd)    (((pifd)->attrs & (SA_FREE_REGS|SA_PARAMETERS)) ? 1 : 0)

Definition at line 123 of file elf_interfaces.h.

#define ELF_IFD_NEXT_INTERFACE (   pifd)    ((Elf_Ifd *)((Elf64_Byte *)(pifd) + ELF_IFD_TOTAL_SIZE(pifd)))

Definition at line 145 of file elf_interfaces.h.

#define ELF_IFD_NEXT_PARAMETER (   ppar)
Value:
((Elf64_Byte *)(ppar) + sizeof(Elf64_Half) + \
 (ELF_IFD_PARAMETER_SPECIFIES_SIZE(ppar) * sizeof(Elf64_Word)) + \
 (ELF_IFD_QUALIFIER_COUNT(ppar) * sizeof(Elf64_Byte)))

Definition at line 167 of file elf_interfaces.h.

#define ELF_IFD_PARAMETER_COUNT (   pifd)
Value:
(ELF_IFD_HAS_AUX_PCNT(pifd) \
 ? *(Elf64_Half *)((Elf64_Byte *)(pifd) + ELF_IFD_FIXED_SIZE + \
                   sizeof(Elf64_Half)) \
 : (pifd)->pcnt)

Definition at line 156 of file elf_interfaces.h.

#define ELF_IFD_PARAMETER_SIZE (   ppar)
Value:
(ELF_IFD_PARAMETER_SPECIFIES_SIZE(ppar) \
 ? ((Elf64_Word)((((((((Elf64_Byte *)(ppar))[2]<<8) + \
                     ((Elf64_Byte *)(ppar))[3])<<8) + \
                   ((Elf64_Byte *)(ppar))[4])<<8) + \
                 ((Elf64_Byte *)(ppar))[5])) \
 : Elf_Ifc_Size[ELF_IFD_PARAMETER_TYPE(ppar)])

Definition at line 185 of file elf_interfaces.h.

#define ELF_IFD_PARAMETER_SPECIFIES_SIZE (   ppar)    (((*(Elf64_Byte *)(ppar)) & PDMF_SIZE) ? 1 : 0)

Definition at line 172 of file elf_interfaces.h.

#define ELF_IFD_PARAMETER_TYPE (   ppar)    (*((Elf64_Byte *)(ppar) + sizeof(Elf64_Byte)))

Definition at line 182 of file elf_interfaces.h.

#define ELF_IFD_QUALIFIER_COUNT (   ppar)    ((*(Elf64_Byte *)(ppar)) & PDMF_Qualifiers)

Definition at line 175 of file elf_interfaces.h.

#define ELF_IFD_TOTAL_SIZE (   pifd)    (ELF_IFD_FIXED_SIZE + ELF_IFD_VARIABLE_SIZE(pifd))

Definition at line 142 of file elf_interfaces.h.

#define ELF_IFD_VARIABLE_PART (   pifd)
Value:

Definition at line 148 of file elf_interfaces.h.

#define ELF_IFD_VARIABLE_SIZE (   pifd)
Value:

Definition at line 137 of file elf_interfaces.h.


Variable Documentation

Definition at line 63 of file elf_interfaces.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines