|  | 
| #define | dAcc   0x100  /* Accessed (Data or Code)          */ | 
|  | 
| #define | dBig   0x40   /* Default to 32 bit mode           */ | 
|  | 
| #define | dBiglim   0x80   /* Limit is in 4K units             */ | 
|  | 
| #define | dBusy   0xB00  /* Busy (TSS only)    was 200       */ | 
|  | 
| #define | dCall   0x0C00 /* 386 Call Gate                */ | 
|  | 
| #define | dCode   0x1800 /* Code Segment                 */ | 
|  | 
| #define | dConform   0x400  /* Conforming (Code segments only)  */ | 
|  | 
| #define | dData   0x1000 /* Data Segment                 */ | 
|  | 
| #define | dDpl0   0x0000 /* DPL0 or mask for DPL             */ | 
|  | 
| #define | dDpl1   0x2000 /* DPL1 or mask for DPL             */ | 
|  | 
| #define | dDpl2   0x4000 /* DPL2 or mask for DPL             */ | 
|  | 
| #define | dDpl3   0x6000 /* DPL3 or mask for DPL             */ | 
|  | 
| #define | dEexdown   0x400  /* Expand down (Data segments only) */ | 
|  | 
| #define | dInt   0x0E00 /* 386 Interrupt Gate           */ | 
|  | 
| #define | dLdt   0x200  /* Local Descriptor Table (LDT) */ | 
|  | 
| #define | dNpresent   0x8000 /* Not Present                      */ | 
|  | 
| #define | dPresent   0x8000 /* Present                          */ | 
|  | 
| #define | dRead   0x200  /* Readable (Code segments only)    */ | 
|  | 
| #define | dTask   0x500  /* Task gate                    */ | 
|  | 
| #define | dTrap   0x0F00 /* 386 Trap Gate                */ | 
|  | 
| #define | dTss   0x900  /* Task State Segment (TSS)     */ | 
|  | 
| #define | dWrite   0x200  /* Writable (Data segments only)    */ | 
|  | 
| #define | SEL_GET_IDX(sel)   (((sel)>>3) & 0x1FFF) /* Get Selector Index */ | 
|  | 
| #define | SEL_GET_LG(sel)   ((sel)&4) /* Return Local/Global Descriptor */ | 
|  | 
| #define | SEL_GET_PL(sel)   ((sel)&3) /* Get Priority Level Of Selector */ | 
|  | 
| #define | SEL_PL_KERN   0x0 | 
|  | 
| #define | SEL_PL_USER   0x3 | 
|  | 
| #define | ubixDescriptorTable(name,  length)   union descriptorTableUnion name[length] = | 
|  | 
| #define | ubixGateDescriptor(offset,  selector,  control)   {.gate = {(offset & 0xffff), selector, (control+dPresent), (offset >> 16) }} | 
|  | 
| #define | ubixStandardDescriptor(base,  limit,  control)   {.descriptor = {(limit & 0xffff), (base & 0xffff), ((base >> 16) & 0xff), ((control + dPresent) >> 8), (limit >> 16), ((control & 0xff) >> 4), (base >> 24)}} | 
|  |