MicrOS
gdt_entry.h
Go to the documentation of this file.
1 #ifndef GDT_ENTRY_H
2 #define GDT_ENTRY_H
3 
4 #include <stdint.h>
5 
6 typedef struct gdt_entry
7 {
8  uint16_t limit_0_15;
9  uint16_t base_0_15;
10  uint8_t base_16_23;
11 
12  uint8_t accessed : 1;
13  uint8_t read_write : 1;
14  uint8_t direction : 1;
15  uint8_t executable : 1;
16  uint8_t reserved_1 : 1;
17  uint8_t privilege_level : 2;
18  uint8_t present : 1;
19 
20  uint8_t limit_16_19 : 4;
21  uint8_t reserved_2 : 2;
22  uint8_t size : 1;
23  uint8_t granularity : 1;
24 
25  uint8_t base_24_31;
26 
27 } __attribute__((packed)) gdt_entry;
28 
29 #endif
uint8_t limit_16_19
Definition: gdt_entry.h:20
uint8_t privilege_level
Definition: gdt_entry.h:17
uint8_t granularity
Definition: gdt_entry.h:23
uint8_t base_24_31
Definition: gdt_entry.h:25
uint8_t reserved_1
Definition: gdt_entry.h:16
uint8_t present
Definition: gdt_entry.h:18
uint8_t reserved_2
Definition: gdt_entry.h:21
uint8_t base_16_23
Definition: gdt_entry.h:10
uint8_t executable
Definition: gdt_entry.h:15
uint8_t accessed
Definition: gdt_entry.h:12
uint8_t size
Definition: gdt_entry.h:22
uint16_t base_0_15
Definition: gdt_entry.h:9
Definition: gdt_entry.h:6
uint8_t direction
Definition: gdt_entry.h:14
uint8_t read_write
Definition: gdt_entry.h:13
uint16_t limit_0_15
Definition: gdt_entry.h:8