elf32_xlatetof(3elf) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

elf32_xlatetof(3elf)

elf32_xlatetof(3ELF)         ELF Library Functions        elf32_xlatetof(3ELF)

NAME
       elf32_xlatetof, elf32_xlatetom, elf64_xlatetof, elf64_xlatetom - class-
       dependent data translation

SYNOPSIS
       cc [ flag ... ] file... -lelf [ library ... ]
       #include <libelf.h>

       Elf_Data *elf32_xlatetof(Elf_Data *dst, const Elf_Data *src,
            uint_t encode);


       Elf_Data *elf32_xlatetom(Elf_Data *dst, const Elf_Data *src,
            uint_t encode);


       Elf_Data *elf64_xlatetof(Elf_Data *dst, const Elf_Data *src,
            uint_t encode);


       Elf_Data *elf64_xlatetom(Elf_Data *dst, const Elf_Data *src,
            uint_t encode);

DESCRIPTION
       elf32_xlatetom()  translates  various data structures from their 32-bit
       class   file   representations   to   their   memory   representations;
       elf32_xlatetof()  provides the inverse. This conversion is particularly
       important for cross development environments. src is a pointer  to  the
       source  buffer that holds the original data; dst is a pointer to a des‐
       tination buffer that will hold the translated copy.  encode  gives  the
       byte  encoding in which the file objects are to be represented and must
       have  one  of  the  encoding  values  defined  for  the  ELF   header's
       e_ident[EI_DATA]  entry  (see  elf_getident(3ELF)).  If the data can be
       translated, the functions return dst. Otherwise, they return  NULL  be‐
       cause an error occurred, such as incompatible types, destination buffer
       overflow, etc.


       elf_getdata(3ELF) describes the Elf_Data descriptor, which the transla‐
       tion routines use as follows:

       d_buf        Both  the  source  and  destination must have valid buffer
                    pointers.


       d_type       This member's value specifies the  type  of  the  data  to
                    which  d_buf  points and the type of data to be created in
                    the destination. The program supplies a  d_type  value  in
                    the  source;  the library sets the destination's d_type to
                    the same value. These values are summarized below.


       d_size       This member holds the total size, in bytes, of the  memory
                    occupied by the source data and the size allocated for the
                    destination  data.  If the destination buffer is not large
                    enough, the routines do not change its original  contents.
                    The  translation  routines  reset the destination's d_size
                    member to the actual size required, after the  translation
                    occurs. The source and destination sizes may differ.


       d_version    This  member  holds the version number of the objects (de‐
                    sired) in the buffer. The source and destination  versions
                    are independent.



       Translation  routines allow the source and destination buffers to coin‐
       cide. That is, dst→d_buf may equal src→d_buf.  Other  cases  where  the
       source and destination buffers overlap give undefined behavior.

         Elf_Type       32-Bit Memory Type
         ELF_T_ADDR     Elf32_Addr
         ELF_T_BYTE     unsigned char
         ELF_T_DYN      Elf32_Dyn
         ELF_T_EHDR     Elf32_Ehdr
         ELF_T_HALF     Elf32_Half
         ELT_T_OFF      Elf32_Off
         ELF_T_PHDR     Elf32_Phdr
         ELF_T_REL      Elf32_Rel
         ELF_T_RELA     Elf32_Rela
         ELF_T_SHDR     Elf32_Shdr
         ELF_T_SWORD    Elf32_Sword
         ELF_T_SYM      Elf32_Sym
         ELF_T_WORD     Elf32_Word



       Translating buffers of type ELF_T_BYTE does not change the byte order.


       For the 64−bit class, replace 32 with 64 as appropriate.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelMT-Safe


SEE ALSO
       elf(3ELF),  elf32_fsize(3ELF),  elf_getdata(3ELF),  elf_getident(3ELF),
       libelf(3LIB), attributes(7)

Oracle Solaris 11.4            8 September 2014           elf32_xlatetof(3ELF)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3