Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
desc_defs.h File Reference
#include <linux/types.h>

Go to the source code of this file.

Data Structures

struct  desc_struct
 
struct  gate_struct64
 
struct  ldttss_desc64
 
struct  desc_ptr
 

Macros

#define GDT_ENTRY_INIT(flags, base, limit)
 
#define PTR_LOW(x)   ((unsigned long long)(x) & 0xFFFF)
 
#define PTR_MIDDLE(x)   (((unsigned long long)(x) >> 16) & 0xFFFF)
 
#define PTR_HIGH(x)   ((unsigned long long)(x) >> 32)
 
#define gate_offset(g)   (((g).b & 0xffff0000) | ((g).a & 0x0000ffff))
 
#define gate_segment(g)   ((g).a >> 16)
 

Typedefs

typedef struct desc_struct gate_desc
 
typedef struct desc_struct ldt_desc
 
typedef struct desc_struct tss_desc
 

Enumerations

enum  { GATE_INTERRUPT = 0xE, GATE_TRAP = 0xF, GATE_CALL = 0xC, GATE_TASK = 0x5 }
 
enum  { DESC_TSS = 0x9, DESC_LDT = 0x2, DESCTYPE_S = 0x10 }
 

Functions

struct desc_struct __attribute__ ((packed))
 

Variables

union {
   struct {
      unsigned int   a
 
      unsigned int   b
 
   } 
 
   struct {
      u16   limit0
 
      u16   base0
 
      unsigned   base1: 8
 
      unsigned   type: 4
 
      unsigned   s: 1
 
      unsigned   dpl: 2
 
      unsigned   p: 1
 
      unsigned   limit: 4
 
      unsigned   avl: 1
 
      unsigned   l: 1
 
      unsigned   d: 1
 
      unsigned   g: 1
 
      unsigned   base2: 8
 
   } 
 
}; 
 
enum { ... }  __attribute__
 
u16 offset_low
 
u16 segment
 
unsigned ist
 
unsigned zero0
 
u16 offset_middle
 
u32 offset_high
 
u32 zero1
 
unsigned limit1
 
u32 base3
 
unsigned short size
 
unsigned long address
 

Macro Definition Documentation

#define gate_offset (   g)    (((g).b & 0xffff0000) | ((g).a & 0x0000ffff))

Definition at line 90 of file desc_defs.h.

#define gate_segment (   g)    ((g).a >> 16)

Definition at line 91 of file desc_defs.h.

#define GDT_ENTRY_INIT (   flags,
  base,
  limit 
)
Value:
{ { { \
.a = ((limit) & 0xffff) | (((base) & 0xffff) << 16), \
.b = (((base) & 0xff0000) >> 16) | (((flags) & 0xf0ff) << 8) | \
((limit) & 0xf0000) | ((base) & 0xff000000), \
} } }

Definition at line 37 of file desc_defs.h.

#define PTR_HIGH (   x)    ((unsigned long long)(x) >> 32)

Definition at line 62 of file desc_defs.h.

#define PTR_LOW (   x)    ((unsigned long long)(x) & 0xFFFF)

Definition at line 60 of file desc_defs.h.

#define PTR_MIDDLE (   x)    (((unsigned long long)(x) >> 16) & 0xFFFF)

Definition at line 61 of file desc_defs.h.

Typedef Documentation

Definition at line 87 of file desc_defs.h.

Definition at line 88 of file desc_defs.h.

Definition at line 89 of file desc_defs.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
GATE_INTERRUPT 
GATE_TRAP 
GATE_CALL 
GATE_TASK 

Definition at line 43 of file desc_defs.h.

anonymous enum
Enumerator:
DESC_TSS 
DESC_LDT 
DESCTYPE_S 

Definition at line 64 of file desc_defs.h.

Function Documentation

struct desc_struct __attribute__ ( (packed)  )
read

Definition at line 171 of file esd_usb2.c.

Variable Documentation

union { ... }
enum { ... } __attribute__
unsigned int a

Definition at line 38 of file desc_defs.h.

unsigned long address

Definition at line 99 of file desc_defs.h.

unsigned avl

Definition at line 45 of file desc_defs.h.

unsigned int b

Definition at line 39 of file desc_defs.h.

u16 base0

Definition at line 43 of file desc_defs.h.

unsigned base1

Definition at line 44 of file desc_defs.h.

unsigned base2

Definition at line 45 of file desc_defs.h.

u32 base3

Definition at line 83 of file desc_defs.h.

unsigned d

Definition at line 45 of file desc_defs.h.

unsigned dpl

Definition at line 44 of file desc_defs.h.

unsigned g

Definition at line 45 of file desc_defs.h.

unsigned ist

Definition at line 61 of file desc_defs.h.

unsigned l

Definition at line 45 of file desc_defs.h.

unsigned limit

Definition at line 45 of file desc_defs.h.

u16 limit0

Definition at line 42 of file desc_defs.h.

unsigned limit1

Definition at line 82 of file desc_defs.h.

u32 offset_high

Definition at line 63 of file desc_defs.h.

u16 offset_low

Definition at line 59 of file desc_defs.h.

u16 offset_middle

Definition at line 62 of file desc_defs.h.

unsigned p

Definition at line 44 of file desc_defs.h.

unsigned s

Definition at line 44 of file desc_defs.h.

u16 segment

Definition at line 60 of file desc_defs.h.

unsigned short size

Definition at line 98 of file desc_defs.h.

unsigned type

Definition at line 44 of file desc_defs.h.

unsigned zero0

Definition at line 61 of file desc_defs.h.

unsigned char zero1

Definition at line 64 of file desc_defs.h.