#ifndef __PAGE_DIRECTORY_ENTRY_ #define __PAGE_DIRECTORY_ENTRY_ enum __PAGE_PDE_FLAGS { _I86_PDE_PRESENT = 1, _I86_PDE_WRITABLE = 2, _I86_PDE_USER = 4, _I86_PDE_PWT = 8, _I86_PDE_PCD = 0x10, _I86_PDE_ACCESSED = 0x20, _I86_PDE_DIRTY = 0x40, _I86_PDE_4MB = 0x80, _I86_PDE_CPU_GLOBAL = 0x100, _I86_PDE_LV4_GLOBAL = 0x200, _I86_PDE_FRAME = 0x7FFFF000 }; typedef unsigned pd_entry; extern void pd_entry_add_attrib (pd_entry* entry, unsigned mask); extern void pd_entry_del_attrib (pd_entry* entry, unsigned mask); extern void pd_entry_set_frame (pd_entry* entry, unsigned address); extern unsigned pd_entry_get_frame (pd_entry entry); extern unsigned char pd_entry_is_present (pd_entry entry); extern unsigned char pd_entry_is_user (pd_entry entry); extern unsigned char pd_entry_is_4mb (pd_entry entry); extern unsigned char pd_entry_is_writable (pd_entry entry); extern void pd_entry_enable_global (pd_entry entry); #endif