Print this page
4555 macro side-effects with /usr/include/libelf.h

Split Close
Expand all
Collapse all
          --- old/usr/src/head/libelf.h
          +++ new/usr/src/head/libelf.h
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*      Copyright (c) 1988 AT&T */
  22   22  /*        All Rights Reserved   */
  23   23  
  24   24  /*
  25   25   * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  26   26   * Use is subject to license terms.
       27 + * Copyright 2014 PALO, Richard. All rights reserved.
  27   28   */
  28   29  
  29   30  #ifndef _LIBELF_H
  30   31  #define _LIBELF_H
  31   32  
  32   33  #include <sys/types.h>
  33   34  #include <sys/elf.h>
  34   35  
  35   36  
  36   37  #ifdef  __cplusplus
  37   38  extern "C" {
  38   39  #endif
  39   40  
  40   41  
  41   42  #if defined(_ILP32) && (_FILE_OFFSET_BITS != 32)
  42   43  #error "large files are not supported by libelf"
  43   44  #endif
  44   45  
       46 +typedef void    Elf_Void;
  45   47  
  46      -#undef _
  47      -#ifdef __STDC__
  48      -typedef void            Elf_Void;
  49      -#define _(a)            a
  50      -#else
  51      -typedef char            Elf_Void;
  52      -#define _(a)            ()
  53      -#undef const
  54      -#define const
  55      -#endif
  56      -
  57      -
  58   48  /*
  59   49   * Commands
  60   50   */
  61   51  typedef enum {
  62   52          ELF_C_NULL = 0, /* must be first, 0 */
  63   53          ELF_C_READ,
  64   54          ELF_C_WRITE,
  65   55          ELF_C_CLR,
  66   56          ELF_C_SET,
  67   57          ELF_C_FDDONE,
↓ open down ↓ 91 lines elided ↑ open up ↑
 159  149          size_t          d_size;
 160  150          off_t           d_off;          /* offset into section */
 161  151          size_t          d_align;        /* alignment in section */
 162  152          unsigned        d_version;      /* elf version */
 163  153  } Elf_Data;
 164  154  
 165  155  
 166  156  /*
 167  157   * Function declarations
 168  158   */
 169      -Elf             *elf_begin      _((int, Elf_Cmd, Elf *));
 170      -int             elf_cntl        _((Elf *, Elf_Cmd));
 171      -int             elf_end         _((Elf *));
 172      -const char      *elf_errmsg     _((int));
 173      -int             elf_errno       _((void));
 174      -void            elf_fill        _((int));
 175      -unsigned        elf_flagdata    _((Elf_Data *, Elf_Cmd, unsigned));
 176      -unsigned        elf_flagehdr    _((Elf *, Elf_Cmd,  unsigned));
 177      -unsigned        elf_flagelf     _((Elf *, Elf_Cmd, unsigned));
 178      -unsigned        elf_flagphdr    _((Elf *, Elf_Cmd, unsigned));
 179      -unsigned        elf_flagscn     _((Elf_Scn *, Elf_Cmd, unsigned));
 180      -unsigned        elf_flagshdr    _((Elf_Scn *, Elf_Cmd, unsigned));
 181      -size_t          elf32_fsize     _((Elf_Type, size_t, unsigned));
 182      -Elf_Arhdr       *elf_getarhdr   _((Elf *));
 183      -Elf_Arsym       *elf_getarsym   _((Elf *, size_t *));
 184      -off_t           elf_getbase     _((Elf *));
 185      -Elf_Data        *elf_getdata    _((Elf_Scn *, Elf_Data *));
 186      -Elf32_Ehdr      *elf32_getehdr  _((Elf *));
 187      -char            *elf_getident   _((Elf *, size_t *));
 188      -Elf32_Phdr      *elf32_getphdr  _((Elf *));
 189      -Elf_Scn         *elf_getscn     _((Elf *elf, size_t));
 190      -Elf32_Shdr      *elf32_getshdr  _((Elf_Scn *));
 191      -int             elf_getphnum    _((Elf *, size_t *));
 192      -int             elf_getphdrnum  _((Elf *, size_t *));
 193      -int             elf_getshnum    _((Elf *, size_t *));
 194      -int             elf_getshdrnum  _((Elf *, size_t *));
 195      -int             elf_getshstrndx _((Elf *, size_t *));
 196      -int             elf_getshdrstrndx _((Elf *, size_t *));
 197      -unsigned long   elf_hash        _((const char *));
 198      -uint_t          elf_sys_encoding _((void));
 199      -long            elf32_checksum  _((Elf *));
 200      -Elf_Kind        elf_kind        _((Elf *));
 201      -Elf             *elf_memory     _((char *, size_t));
 202      -size_t          elf_ndxscn      _((Elf_Scn *));
 203      -Elf_Data        *elf_newdata    _((Elf_Scn *));
 204      -Elf32_Ehdr      *elf32_newehdr  _((Elf *));
 205      -Elf32_Phdr      *elf32_newphdr  _((Elf *, size_t));
 206      -Elf_Scn         *elf_newscn     _((Elf *));
 207      -Elf_Scn         *elf_nextscn    _((Elf *, Elf_Scn *));
 208      -Elf_Cmd         elf_next        _((Elf *));
 209      -size_t          elf_rand        _((Elf *, size_t));
 210      -Elf_Data        *elf_rawdata    _((Elf_Scn *, Elf_Data *));
 211      -char            *elf_rawfile    _((Elf *, size_t *));
 212      -char            *elf_strptr     _((Elf *, size_t, size_t));
 213      -off_t           elf_update      _((Elf *, Elf_Cmd));
 214      -unsigned        elf_version     _((unsigned));
 215      -Elf_Data        *elf32_xlatetof _((Elf_Data *, const Elf_Data *, unsigned));
 216      -Elf_Data        *elf32_xlatetom _((Elf_Data *, const Elf_Data *, unsigned));
      159 +Elf             *elf_begin(int, Elf_Cmd, Elf *);
      160 +int             elf_cntl(Elf *, Elf_Cmd);
      161 +int             elf_end(Elf *);
      162 +const char      *elf_errmsg(int);
      163 +int             elf_errno(void);
      164 +void            elf_fill(int);
      165 +unsigned        elf_flagdata(Elf_Data *, Elf_Cmd, unsigned);
      166 +unsigned        elf_flagehdr(Elf *, Elf_Cmd,  unsigned);
      167 +unsigned        elf_flagelf(Elf *, Elf_Cmd, unsigned);
      168 +unsigned        elf_flagphdr(Elf *, Elf_Cmd, unsigned);
      169 +unsigned        elf_flagscn(Elf_Scn *, Elf_Cmd, unsigned);
      170 +unsigned        elf_flagshdr(Elf_Scn *, Elf_Cmd, unsigned);
      171 +size_t          elf32_fsize(Elf_Type, size_t, unsigned);
      172 +Elf_Arhdr       *elf_getarhdr(Elf *);
      173 +Elf_Arsym       *elf_getarsym(Elf *, size_t *);
      174 +off_t           elf_getbase(Elf *);
      175 +Elf_Data        *elf_getdata(Elf_Scn *, Elf_Data *);
      176 +Elf32_Ehdr      *elf32_getehdr(Elf *);
      177 +char            *elf_getident(Elf *, size_t *);
      178 +Elf32_Phdr      *elf32_getphdr(Elf *);
      179 +Elf_Scn         *elf_getscn(Elf *elf, size_t);
      180 +Elf32_Shdr      *elf32_getshdr(Elf_Scn *);
      181 +int             elf_getphnum(Elf *, size_t *);
      182 +int             elf_getphdrnum(Elf *, size_t *);
      183 +int             elf_getshnum(Elf *, size_t *);
      184 +int             elf_getshdrnum(Elf *, size_t *);
      185 +int             elf_getshstrndx(Elf *, size_t *);
      186 +int             elf_getshdrstrndx(Elf *, size_t *);
      187 +unsigned long   elf_hash(const char *);
      188 +uint_t          elf_sys_encoding(void);
      189 +long            elf32_checksum(Elf *);
      190 +Elf_Kind        elf_kind(Elf *);
      191 +Elf             *elf_memory(char *, size_t);
      192 +size_t          elf_ndxscn(Elf_Scn *);
      193 +Elf_Data        *elf_newdata(Elf_Scn *);
      194 +Elf32_Ehdr      *elf32_newehdr(Elf *);
      195 +Elf32_Phdr      *elf32_newphdr(Elf *, size_t);
      196 +Elf_Scn         *elf_newscn(Elf *);
      197 +Elf_Scn         *elf_nextscn(Elf *, Elf_Scn *);
      198 +Elf_Cmd         elf_next(Elf *);
      199 +size_t          elf_rand(Elf *, size_t);
      200 +Elf_Data        *elf_rawdata(Elf_Scn *, Elf_Data *);
      201 +char            *elf_rawfile(Elf *, size_t *);
      202 +char            *elf_strptr(Elf *, size_t, size_t);
      203 +off_t           elf_update(Elf *, Elf_Cmd);
      204 +unsigned        elf_version(unsigned);
      205 +Elf_Data        *elf32_xlatetof(Elf_Data *, const Elf_Data *, unsigned);
      206 +Elf_Data        *elf32_xlatetom(Elf_Data *, const Elf_Data *, unsigned);
 217  207  
 218  208  #if defined(_LP64) || defined(_LONGLONG_TYPE)
 219      -size_t          elf64_fsize     _((Elf_Type, size_t, unsigned));
 220      -Elf64_Ehdr      *elf64_getehdr  _((Elf *));
 221      -Elf64_Phdr      *elf64_getphdr  _((Elf *));
 222      -Elf64_Shdr      *elf64_getshdr  _((Elf_Scn *));
 223      -long            elf64_checksum  _((Elf *));
 224      -Elf64_Ehdr      *elf64_newehdr  _((Elf *));
 225      -Elf64_Phdr      *elf64_newphdr  _((Elf *, size_t));
 226      -Elf_Data        *elf64_xlatetof _((Elf_Data *, const Elf_Data *, unsigned));
 227      -Elf_Data        *elf64_xlatetom _((Elf_Data *, const Elf_Data *, unsigned));
      209 +size_t          elf64_fsize(Elf_Type, size_t, unsigned);
      210 +Elf64_Ehdr      *elf64_getehdr(Elf *);
      211 +Elf64_Phdr      *elf64_getphdr(Elf *);
      212 +Elf64_Shdr      *elf64_getshdr(Elf_Scn *);
      213 +long            elf64_checksum(Elf *);
      214 +Elf64_Ehdr      *elf64_newehdr(Elf *);
      215 +Elf64_Phdr      *elf64_newphdr(Elf *, size_t);
      216 +Elf_Data        *elf64_xlatetof(Elf_Data *, const Elf_Data *, unsigned);
      217 +Elf_Data        *elf64_xlatetom(Elf_Data *, const Elf_Data *, unsigned);
 228  218  #endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
 229  219  
 230      -#undef  _
 231      -
 232  220  #ifdef  __cplusplus
 233  221  }
 234  222  #endif
 235  223  
 236  224  #endif  /* _LIBELF_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX