diff --git a/include/kernaux/elf.h b/include/kernaux/elf.h index 0306e57..ac1f950 100644 --- a/include/kernaux/elf.h +++ b/include/kernaux/elf.h @@ -8,61 +8,61 @@ extern "C" { #include struct KernAux_ELF_Header { - unsigned char magic_0x7F : 8; - unsigned char magic_E : 8; - unsigned char magic_L : 8; - unsigned char magic_F : 8; - unsigned char bitness : 8; - unsigned char endianness : 8; - unsigned char header_version : 8; - unsigned char os_abi : 8; - unsigned long unused1 : 32; - unsigned long unused2 : 32; - unsigned short obj_type : 16; - unsigned short isa : 16; - unsigned long elf_version : 32; - unsigned long entrypoint : 32; - unsigned long prog_table_pos : 32; - unsigned long sect_table_pos : 32; - unsigned long arch_flags : 32; - unsigned short header_size : 16; - unsigned short prog_entr_size : 16; - unsigned short prog_entr_num : 16; - unsigned short sect_entr_size : 16; - unsigned short sect_entr_num : 16; - unsigned short sect_names_idx : 16; + unsigned magic_0x7F : 8; + unsigned magic_E : 8; + unsigned magic_L : 8; + unsigned magic_F : 8; + unsigned bitness : 8; + unsigned endianness : 8; + unsigned header_version : 8; + unsigned os_abi : 8; + unsigned unused1 : 32; + unsigned unused2 : 32; + unsigned obj_type : 16; + unsigned isa : 16; + unsigned elf_version : 32; + unsigned entrypoint : 32; + unsigned prog_table_pos : 32; + unsigned sect_table_pos : 32; + unsigned arch_flags : 32; + unsigned header_size : 16; + unsigned prog_entr_size : 16; + unsigned prog_entr_num : 16; + unsigned sect_entr_size : 16; + unsigned sect_entr_num : 16; + unsigned sect_names_idx : 16; } __attribute__((packed)); struct KernAux_ELF_ProgramEntry { - unsigned long type : 32; - unsigned long offset : 32; - unsigned long virt_addr : 32; - unsigned long phys_addr : 32; - unsigned long file_size : 32; - unsigned long mem_size : 32; - unsigned long flags : 32; - unsigned long align : 32; + unsigned type : 32; + unsigned offset : 32; + unsigned virt_addr : 32; + unsigned phys_addr : 32; + unsigned file_size : 32; + unsigned mem_size : 32; + unsigned flags : 32; + unsigned align : 32; } __attribute__((packed)); struct KernAux_ELF_SectionEntry { - unsigned long name : 32; - unsigned long type : 32; - unsigned long flags : 32; - unsigned long vaddr : 32; - unsigned long file_offset : 32; - unsigned long file_size : 32; - unsigned long link : 32; - unsigned long info : 32; - unsigned long alignment : 32; - unsigned long ent_size : 32; + unsigned name : 32; + unsigned type : 32; + unsigned flags : 32; + unsigned vaddr : 32; + unsigned file_offset : 32; + unsigned file_size : 32; + unsigned link : 32; + unsigned info : 32; + unsigned alignment : 32; + unsigned ent_size : 32; } __attribute__((packed)); struct KernAux_ELF_RelocationEntry { - unsigned long virt_addr : 32; - unsigned long info : 32; + unsigned virt_addr : 32; + unsigned info : 32; } __attribute__((packed)); diff --git a/include/kernaux/multiboot2.h b/include/kernaux/multiboot2.h index a524e27..061c592 100644 --- a/include/kernaux/multiboot2.h +++ b/include/kernaux/multiboot2.h @@ -39,8 +39,8 @@ enum KernAux_Multiboot2_TagType { }; struct KernAux_Multiboot2 { - unsigned int total_size : 32; - unsigned int reserved1 : 32; + unsigned total_size : 32; + unsigned reserved1 : 32; unsigned char data[]; } @@ -48,7 +48,7 @@ __attribute__((packed)); struct KernAux_Multiboot2_TagBase { enum KernAux_Multiboot2_TagType type : 32; - unsigned int size : 32; + unsigned size : 32; } __attribute__((packed)); @@ -86,8 +86,8 @@ struct KernAux_Multiboot2_Tag_Module { // size = ? struct KernAux_Multiboot2_TagBase base; - unsigned int mod_start : 32; - unsigned int mod_end : 32; + unsigned mod_start : 32; + unsigned mod_end : 32; char cmdline[]; } @@ -98,8 +98,8 @@ struct KernAux_Multiboot2_Tag_BasicMemoryInfo { // size = 16 struct KernAux_Multiboot2_TagBase base; - unsigned int mem_lower : 32; - unsigned int mem_upper : 32; + unsigned mem_lower : 32; + unsigned mem_upper : 32; } __attribute__((packed)); @@ -108,9 +108,9 @@ struct KernAux_Multiboot2_Tag_BIOSBootDevice { // size = 20 struct KernAux_Multiboot2_TagBase base; - unsigned int bios_dev : 32; - unsigned int partition : 32; - unsigned int sub_partition : 32; + unsigned bios_dev : 32; + unsigned partition : 32; + unsigned sub_partition : 32; } __attribute__((packed)); @@ -119,8 +119,8 @@ struct KernAux_Multiboot2_Tag_MemoryMap { // size = ? struct KernAux_Multiboot2_TagBase base; - unsigned int entry_size : 32; - unsigned int entry_version : 32; + unsigned entry_size : 32; + unsigned entry_version : 32; unsigned char data[]; } @@ -131,10 +131,10 @@ struct KernAux_Multiboot2_Tag_VBEInfo { // size = 784 struct KernAux_Multiboot2_TagBase base; - unsigned short vbe_mode : 16; - unsigned short vbe_interface_seg : 16; - unsigned short vbe_interface_off : 16; - unsigned short vbe_interface_len : 16; + unsigned vbe_mode : 16; + unsigned vbe_interface_seg : 16; + unsigned vbe_interface_off : 16; + unsigned vbe_interface_len : 16; unsigned char vbe_control_info[512]; unsigned char vbe_mode_info[256]; } @@ -146,12 +146,12 @@ struct KernAux_Multiboot2_Tag_FramebufferInfo { struct KernAux_Multiboot2_TagBase base; unsigned long long framebuffer_addr : 64; - unsigned int framebuffer_pitch : 32; - unsigned int framebuffer_width : 32; - unsigned int framebuffer_height : 32; - unsigned char framebuffer_bpp : 8; - unsigned char framebuffer_type : 8; - unsigned char reserved1 : 8; + unsigned framebuffer_pitch : 32; + unsigned framebuffer_width : 32; + unsigned framebuffer_height : 32; + unsigned framebuffer_bpp : 8; + unsigned framebuffer_type : 8; + unsigned reserved1 : 8; unsigned char data[]; } @@ -162,10 +162,10 @@ struct KernAux_Multiboot2_Tag_ELFSymbols { // size = ? struct KernAux_Multiboot2_TagBase base; - unsigned short num : 16; - unsigned short ent_size : 16; - unsigned short shndx : 16; - unsigned short reserved1 : 16; + unsigned num : 16; + unsigned ent_size : 16; + unsigned shndx : 16; + unsigned reserved1 : 16; unsigned char section_headers[]; } @@ -176,15 +176,15 @@ struct KernAux_Multiboot2_Tag_APMTable { // size = 28 struct KernAux_Multiboot2_TagBase base; - unsigned short version : 16; - unsigned short cseg : 16; - unsigned int offset : 32; - unsigned short cseg_16 : 16; - unsigned short dseg : 16; - unsigned short flags : 16; - unsigned short cseg_len : 16; - unsigned short cseg_16_len : 16; - unsigned short dseg_len : 16; + unsigned version : 16; + unsigned cseg : 16; + unsigned offset : 32; + unsigned cseg_16 : 16; + unsigned dseg : 16; + unsigned flags : 16; + unsigned cseg_len : 16; + unsigned cseg_16_len : 16; + unsigned dseg_len : 16; } __attribute__((packed)); @@ -193,7 +193,7 @@ struct KernAux_Multiboot2_Tag_EFI32bitSystemTablePtr { // size = 12 struct KernAux_Multiboot2_TagBase base; - unsigned int pointer : 32; + unsigned pointer : 32; } __attribute__((packed)); @@ -211,8 +211,8 @@ struct KernAux_Multiboot2_Tag_SMBIOSTables { // size = ? struct KernAux_Multiboot2_TagBase base; - unsigned char major : 8; - unsigned char minor : 8; + unsigned major : 8; + unsigned minor : 8; unsigned char reserved1[6]; unsigned char data[]; @@ -251,8 +251,8 @@ struct KernAux_Multiboot2_Tag_EFIMemoryMap { // size = ? struct KernAux_Multiboot2_TagBase base; - unsigned int descriptor_size : 32; - unsigned int descriptor_version : 32; + unsigned descriptor_size : 32; + unsigned descriptor_version : 32; unsigned char data[]; } @@ -270,7 +270,7 @@ struct KernAux_Multiboot2_Tag_EFI32bitImageHandlePtr { // size = 12 struct KernAux_Multiboot2_TagBase base; - unsigned int pointer : 32; + unsigned pointer : 32; } __attribute__((packed)); @@ -288,7 +288,7 @@ struct KernAux_Multiboot2_Tag_ImageLoadBasePhysAddr { // size = 12 struct KernAux_Multiboot2_TagBase base; - unsigned int load_base_addr : 32; + unsigned load_base_addr : 32; } __attribute__((packed)); @@ -299,8 +299,8 @@ __attribute__((packed)); struct KernAux_Multiboot2_Tag_MemoryMap_EntryBase { unsigned long long base_addr : 64; unsigned long long length : 64; - unsigned int type : 32; - unsigned int reserved1 : 32; + unsigned type : 32; + unsigned reserved1 : 32; } __attribute__((packed));