1 pub type c_long = i32; 2 pub type c_ulong = u32; 3 4 pub type __int64_t = ::c_longlong; 5 pub type __uint64_t = ::c_ulonglong; 6 7 pub type int_fast16_t = ::c_int; 8 pub type int_fast32_t = ::c_int; 9 pub type int_fast64_t = ::c_longlong; 10 pub type uint_fast16_t = ::c_uint; 11 pub type uint_fast32_t = ::c_uint; 12 pub type uint_fast64_t = ::c_ulonglong; 13 14 pub type __quad_t = ::c_longlong; 15 pub type __u_quad_t = ::c_ulonglong; 16 pub type __intmax_t = ::c_longlong; 17 pub type __uintmax_t = ::c_ulonglong; 18 19 pub type __squad_type = ::__int64_t; 20 pub type __uquad_type = ::__uint64_t; 21 pub type __sword_type = ::c_int; 22 pub type __uword_type = ::c_uint; 23 pub type __slong32_type = ::c_long; 24 pub type __ulong32_type = ::c_ulong; 25 pub type __s64_type = ::__int64_t; 26 pub type __u64_type = ::__uint64_t; 27 28 pub type __ipc_pid_t = ::c_ushort; 29 30 pub type Elf32_Half = u16; 31 pub type Elf32_Word = u32; 32 pub type Elf32_Off = u32; 33 pub type Elf32_Addr = u32; 34 pub type Elf32_Section = u16; 35 36 pub type Elf_Addr = ::Elf32_Addr; 37 pub type Elf_Half = ::Elf32_Half; 38 pub type Elf_Ehdr = ::Elf32_Ehdr; 39 pub type Elf_Phdr = ::Elf32_Phdr; 40 pub type Elf_Shdr = ::Elf32_Shdr; 41 pub type Elf_Sym = ::Elf32_Sym; 42 43 s! { 44 pub struct Elf32_Ehdr { 45 pub e_ident: [::c_uchar; 16], 46 pub e_type: Elf32_Half, 47 pub e_machine: Elf32_Half, 48 pub e_version: Elf32_Word, 49 pub e_entry: Elf32_Addr, 50 pub e_phoff: Elf32_Off, 51 pub e_shoff: Elf32_Off, 52 pub e_flags: Elf32_Word, 53 pub e_ehsize: Elf32_Half, 54 pub e_phentsize: Elf32_Half, 55 pub e_phnum: Elf32_Half, 56 pub e_shentsize: Elf32_Half, 57 pub e_shnum: Elf32_Half, 58 pub e_shstrndx: Elf32_Half, 59 } 60 61 pub struct Elf32_Shdr { 62 pub sh_name: Elf32_Word, 63 pub sh_type: Elf32_Word, 64 pub sh_flags: Elf32_Word, 65 pub sh_addr: Elf32_Addr, 66 pub sh_offset: Elf32_Off, 67 pub sh_size: Elf32_Word, 68 pub sh_link: Elf32_Word, 69 pub sh_info: Elf32_Word, 70 pub sh_addralign: Elf32_Word, 71 pub sh_entsize: Elf32_Word, 72 } 73 74 pub struct Elf32_Sym { 75 pub st_name: Elf32_Word, 76 pub st_value: Elf32_Addr, 77 pub st_size: Elf32_Word, 78 pub st_info: ::c_uchar, 79 pub st_other: ::c_uchar, 80 pub st_shndx: Elf32_Section, 81 } 82 83 pub struct Elf32_Phdr { 84 pub p_type: ::Elf32_Word, 85 pub p_offset: ::Elf32_Off, 86 pub p_vaddr: ::Elf32_Addr, 87 pub p_paddr: ::Elf32_Addr, 88 pub p_filesz: ::Elf32_Word, 89 pub p_memsz: ::Elf32_Word, 90 pub p_flags: ::Elf32_Word, 91 pub p_align: ::Elf32_Word, 92 } 93 } 94