#ifndef __PAGE_TABLE_ENTRY_ #define __PAGE_TABLE_ENTRY_ enum __PAGE_FLAGS { _I86_PTE_PRESENT = 1, _I86_PTE_WRITABLE = 2, _I86_PTE_USER = 4, _I86_PTE_WRITETHROUGH = 8, _I86_PTE_NOT_CACHEABLE = 0x10, _I86_PTE_ACCESSED = 0x20, _I86_PTE_DIRTY = 0x40, _I86_PTE_PAT = 0x80, _I86_PTE_CPU_GLOBAL = 0x100, _I86_PTE_LV4_GLOBAL = 0x200, _I86_PTE_FRAME = 0x7FFFF000 }; typedef unsigned pt_entry; extern void pt_entry_add_attrib (pt_entry* entry, unsigned mask); extern void pt_entry_del_attrib (pt_entry* entry, unsigned mask); extern void pt_entry_set_frame (pt_entry* entry, unsigned address); extern unsigned pt_entry_get_frame (pt_entry entry); extern unsigned char pt_entry_is_present (pt_entry entry); extern unsigned char pt_entry_is_writable (pt_entry entry); extern void pt_entry_print(pt_entry entry); #endif