1
2
3
4
5
6 #ifndef _LINUX_LDT_H
7 #define _LINUX_LDT_H
8
9 struct modify_ldt_ldt_s {
10 unsigned int entry_number;
11 unsigned long base_addr;
12 unsigned int limit;
13 unsigned int seg_32bit:1;
14 unsigned int contents:2;
15 unsigned int read_exec_only:1;
16 unsigned int limit_in_pages:1;
17 };
18
19 #define MODIFY_LDT_CONTENTS_DATA 0
20 #define MODIFY_LDT_CONTENTS_STACK 1
21 #define MODIFY_LDT_CONTENTS_CODE 2
22
23 extern int get_ldt(void *buffer);
24 extern int set_ldt_entry(int entry, unsigned long base, unsigned int limit,
25 int seg_32bit_flag, int contents, int read_only_flag,
26 int limit_in_pages_flag);
27
28 #endif