Release 0.0.2
[wine] / ldtlib.c
1 /* $Id$
2  */
3 /*
4  * Copyright  Robert J. Amstadt, 1993
5  */
6 #include <stdio.h>
7 #include <stdlib.h>
8 #include <errno.h>
9 #include <linux/unistd.h>
10 #include <linux/head.h>
11 #include <linux/ldt.h>
12
13 _syscall2(int, modify_ldt, int, func, void *, ptr)
14
15 int
16 get_ldt(void *buffer)
17 {
18     return modify_ldt(0, buffer);
19 }
20
21 int
22 set_ldt_entry(int entry, unsigned long base, unsigned int limit,
23               int seg_32bit_flag, int contents, int read_only_flag,
24               int limit_in_pages_flag)
25 {
26     struct modify_ldt_ldt_s ldt_info;
27
28     ldt_info.entry_number   = entry;
29     ldt_info.base_addr      = base;
30     ldt_info.limit          = limit;
31     ldt_info.seg_32bit      = seg_32bit_flag;
32     ldt_info.contents       = contents;
33     ldt_info.read_exec_only = read_only_flag;
34     ldt_info.limit_in_pages = limit_in_pages_flag;
35
36     return modify_ldt(1, &ldt_info);
37 }