1 /* This file defines standard ELF types, structures, and macros.
2 Copyright (C) 1995-2024 Free Software Foundation, Inc.
4 This file is part of libctf.
6 libctf is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 3, or (at your option) any later
11 This program is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 See the GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; see the file COPYING. If not see
18 <http://www.gnu.org/licenses/>. */
26 #include "elf/common.h"
27 #include "elf/external.h"
29 typedef uint32_t Elf32_Word
;
30 typedef uint32_t Elf64_Word
;
31 typedef uint32_t Elf32_Addr
;
32 typedef uint64_t Elf64_Addr
;
33 typedef uint64_t Elf64_Xword
;
34 typedef uint16_t Elf32_Section
;
35 typedef uint16_t Elf64_Section
;
37 #define SHN_EXTABS 0xFFF1 /* Associated symbol is absolute */
39 /* Symbol table entry. */
43 Elf32_Word st_name
; /* Symbol name (string tbl index) */
44 Elf32_Addr st_value
; /* Symbol value */
45 Elf32_Word st_size
; /* Symbol size */
46 unsigned char st_info
; /* Symbol type and binding */
47 unsigned char st_other
; /* Symbol visibility */
48 Elf32_Section st_shndx
; /* Section index */
53 Elf64_Word st_name
; /* Symbol name (string tbl index) */
54 unsigned char st_info
; /* Symbol type and binding */
55 unsigned char st_other
; /* Symbol visibility */
56 Elf64_Section st_shndx
; /* Section index */
57 Elf64_Addr st_value
; /* Symbol value */
58 Elf64_Xword st_size
; /* Symbol size */
61 #endif /* _CTF_ELF_H */