# gdt.h File Reference

Go to the source code of this file.

## Data Structures

union | descriptorTableUnion
struct | gdtDescriptor
struct | gdtGate

## Defines

#define | dCall 0x0C00
#define | dCode 0x1800
#define | dData 0x1000
#define | dInt 0x0E00
#define | dLdt 0x200
#define | dTask 0x500
#define | dTrap 0x0F00
#define | dTss 0x900
#define | dDpl3 0x6000
#define | dDpl2 0x4000
#define | dDpl1 0x2000
#define | dPresent 0x8000
#define | dNpresent 0x8000
#define | dAcc 0x100
#define | dWrite 0x200
#define | dRead 0x200
#define | dBusy 0xB00
#define | dEexdown 0x400
#define | dConform 0x400
#define | dBig 0x40
#define | dBiglim 0x80
#define | ubixDescriptorTable(name, length) union descriptorTableUnion name[length] =
#define | ubixStandardDescriptor(base, limit, control)
#define | ubixGateDescriptor(offset, selector, control)

## Variables

gdtDescriptor | packed

## Define Documentation

#define dAcc 0x100

#define dBig 0x40

#define dBiglim 0x80

#define dBusy 0xB00

#define dCall 0x0C00

#define dCode 0x1800

#define dConform 0x400

#define dData 0x1000

#define dDpl1 0x2000

#define dDpl2 0x4000

#define dDpl3 0x6000

#define dEexdown 0x400

#define dInt 0x0E00

#define dLdt 0x200

#define dNpresent 0x8000

#define dPresent 0x8000

#define dRead 0x200

#define dTask 0x500

#define dTrap 0x0F00

#define dTss 0x900

#define dWrite 0x200

#define ubixDescriptorTable | ( | name,
|  | length |  | ) | union descriptorTableUnion name[length] =

#define ubixGateDescriptor | ( | offset,
|  | selector,
|  | control |  | ) |

Value:

    {gate: {(offset & 0xffff), selector, \
                                                         (control+dPresent), (offset >> 16) }}

#define ubixStandardDescriptor | ( | base,
|  | limit,
|  | control |  | ) |

Value:

    {descriptor: \
                                                   {(limit & 0xffff), \
                                                   (base & 0xffff), \
                                                   ((base >> 16) & 0xff), \
                                                   ((control+dPresent) >> 8), \
                                                   (limit >> 16), \
                                                   ((control & 0xff) >> 4), \
                                                   (base >> 24)}}

## Variable Documentation

struct gdtGate packed