Print this page
4555 macro side-effects with /usr/include/libelf.h
*** 22,31 ****
--- 22,32 ----
/* All Rights Reserved */
/*
* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
+ * Copyright 2014 PALO, Richard. All rights reserved.
*/
#ifndef _LIBELF_H
#define _LIBELF_H
*** 40,62 ****
#if defined(_ILP32) && (_FILE_OFFSET_BITS != 32)
#error "large files are not supported by libelf"
#endif
-
- #undef _
- #ifdef __STDC__
typedef void Elf_Void;
- #define _(a) a
- #else
- typedef char Elf_Void;
- #define _(a) ()
- #undef const
- #define const
- #endif
-
/*
* Commands
*/
typedef enum {
ELF_C_NULL = 0, /* must be first, 0 */
--- 41,52 ----
*** 164,236 ****
/*
* Function declarations
*/
! Elf *elf_begin _((int, Elf_Cmd, Elf *));
! int elf_cntl _((Elf *, Elf_Cmd));
! int elf_end _((Elf *));
! const char *elf_errmsg _((int));
! int elf_errno _((void));
! void elf_fill _((int));
! unsigned elf_flagdata _((Elf_Data *, Elf_Cmd, unsigned));
! unsigned elf_flagehdr _((Elf *, Elf_Cmd, unsigned));
! unsigned elf_flagelf _((Elf *, Elf_Cmd, unsigned));
! unsigned elf_flagphdr _((Elf *, Elf_Cmd, unsigned));
! unsigned elf_flagscn _((Elf_Scn *, Elf_Cmd, unsigned));
! unsigned elf_flagshdr _((Elf_Scn *, Elf_Cmd, unsigned));
! size_t elf32_fsize _((Elf_Type, size_t, unsigned));
! Elf_Arhdr *elf_getarhdr _((Elf *));
! Elf_Arsym *elf_getarsym _((Elf *, size_t *));
! off_t elf_getbase _((Elf *));
! Elf_Data *elf_getdata _((Elf_Scn *, Elf_Data *));
! Elf32_Ehdr *elf32_getehdr _((Elf *));
! char *elf_getident _((Elf *, size_t *));
! Elf32_Phdr *elf32_getphdr _((Elf *));
! Elf_Scn *elf_getscn _((Elf *elf, size_t));
! Elf32_Shdr *elf32_getshdr _((Elf_Scn *));
! int elf_getphnum _((Elf *, size_t *));
! int elf_getphdrnum _((Elf *, size_t *));
! int elf_getshnum _((Elf *, size_t *));
! int elf_getshdrnum _((Elf *, size_t *));
! int elf_getshstrndx _((Elf *, size_t *));
! int elf_getshdrstrndx _((Elf *, size_t *));
! unsigned long elf_hash _((const char *));
! uint_t elf_sys_encoding _((void));
! long elf32_checksum _((Elf *));
! Elf_Kind elf_kind _((Elf *));
! Elf *elf_memory _((char *, size_t));
! size_t elf_ndxscn _((Elf_Scn *));
! Elf_Data *elf_newdata _((Elf_Scn *));
! Elf32_Ehdr *elf32_newehdr _((Elf *));
! Elf32_Phdr *elf32_newphdr _((Elf *, size_t));
! Elf_Scn *elf_newscn _((Elf *));
! Elf_Scn *elf_nextscn _((Elf *, Elf_Scn *));
! Elf_Cmd elf_next _((Elf *));
! size_t elf_rand _((Elf *, size_t));
! Elf_Data *elf_rawdata _((Elf_Scn *, Elf_Data *));
! char *elf_rawfile _((Elf *, size_t *));
! char *elf_strptr _((Elf *, size_t, size_t));
! off_t elf_update _((Elf *, Elf_Cmd));
! unsigned elf_version _((unsigned));
! Elf_Data *elf32_xlatetof _((Elf_Data *, const Elf_Data *, unsigned));
! Elf_Data *elf32_xlatetom _((Elf_Data *, const Elf_Data *, unsigned));
#if defined(_LP64) || defined(_LONGLONG_TYPE)
! size_t elf64_fsize _((Elf_Type, size_t, unsigned));
! Elf64_Ehdr *elf64_getehdr _((Elf *));
! Elf64_Phdr *elf64_getphdr _((Elf *));
! Elf64_Shdr *elf64_getshdr _((Elf_Scn *));
! long elf64_checksum _((Elf *));
! Elf64_Ehdr *elf64_newehdr _((Elf *));
! Elf64_Phdr *elf64_newphdr _((Elf *, size_t));
! Elf_Data *elf64_xlatetof _((Elf_Data *, const Elf_Data *, unsigned));
! Elf_Data *elf64_xlatetom _((Elf_Data *, const Elf_Data *, unsigned));
#endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
- #undef _
-
#ifdef __cplusplus
}
#endif
#endif /* _LIBELF_H */
--- 154,224 ----
/*
* Function declarations
*/
! Elf *elf_begin(int, Elf_Cmd, Elf *);
! int elf_cntl(Elf *, Elf_Cmd);
! int elf_end(Elf *);
! const char *elf_errmsg(int);
! int elf_errno(void);
! void elf_fill(int);
! unsigned elf_flagdata(Elf_Data *, Elf_Cmd, unsigned);
! unsigned elf_flagehdr(Elf *, Elf_Cmd, unsigned);
! unsigned elf_flagelf(Elf *, Elf_Cmd, unsigned);
! unsigned elf_flagphdr(Elf *, Elf_Cmd, unsigned);
! unsigned elf_flagscn(Elf_Scn *, Elf_Cmd, unsigned);
! unsigned elf_flagshdr(Elf_Scn *, Elf_Cmd, unsigned);
! size_t elf32_fsize(Elf_Type, size_t, unsigned);
! Elf_Arhdr *elf_getarhdr(Elf *);
! Elf_Arsym *elf_getarsym(Elf *, size_t *);
! off_t elf_getbase(Elf *);
! Elf_Data *elf_getdata(Elf_Scn *, Elf_Data *);
! Elf32_Ehdr *elf32_getehdr(Elf *);
! char *elf_getident(Elf *, size_t *);
! Elf32_Phdr *elf32_getphdr(Elf *);
! Elf_Scn *elf_getscn(Elf *elf, size_t);
! Elf32_Shdr *elf32_getshdr(Elf_Scn *);
! int elf_getphnum(Elf *, size_t *);
! int elf_getphdrnum(Elf *, size_t *);
! int elf_getshnum(Elf *, size_t *);
! int elf_getshdrnum(Elf *, size_t *);
! int elf_getshstrndx(Elf *, size_t *);
! int elf_getshdrstrndx(Elf *, size_t *);
! unsigned long elf_hash(const char *);
! uint_t elf_sys_encoding(void);
! long elf32_checksum(Elf *);
! Elf_Kind elf_kind(Elf *);
! Elf *elf_memory(char *, size_t);
! size_t elf_ndxscn(Elf_Scn *);
! Elf_Data *elf_newdata(Elf_Scn *);
! Elf32_Ehdr *elf32_newehdr(Elf *);
! Elf32_Phdr *elf32_newphdr(Elf *, size_t);
! Elf_Scn *elf_newscn(Elf *);
! Elf_Scn *elf_nextscn(Elf *, Elf_Scn *);
! Elf_Cmd elf_next(Elf *);
! size_t elf_rand(Elf *, size_t);
! Elf_Data *elf_rawdata(Elf_Scn *, Elf_Data *);
! char *elf_rawfile(Elf *, size_t *);
! char *elf_strptr(Elf *, size_t, size_t);
! off_t elf_update(Elf *, Elf_Cmd);
! unsigned elf_version(unsigned);
! Elf_Data *elf32_xlatetof(Elf_Data *, const Elf_Data *, unsigned);
! Elf_Data *elf32_xlatetom(Elf_Data *, const Elf_Data *, unsigned);
#if defined(_LP64) || defined(_LONGLONG_TYPE)
! size_t elf64_fsize(Elf_Type, size_t, unsigned);
! Elf64_Ehdr *elf64_getehdr(Elf *);
! Elf64_Phdr *elf64_getphdr(Elf *);
! Elf64_Shdr *elf64_getshdr(Elf_Scn *);
! long elf64_checksum(Elf *);
! Elf64_Ehdr *elf64_newehdr(Elf *);
! Elf64_Phdr *elf64_newphdr(Elf *, size_t);
! Elf_Data *elf64_xlatetof(Elf_Data *, const Elf_Data *, unsigned);
! Elf_Data *elf64_xlatetom(Elf_Data *, const Elf_Data *, unsigned);
#endif /* (defined(_LP64) || defined(_LONGLONG_TYPE) */
#ifdef __cplusplus
}
#endif
#endif /* _LIBELF_H */