xref: /openbsd-src/sys/arch/i386/include/sysarch.h (revision b2ea75c1b17e1a9a339660e7ed45cd24946b230e)
1 /*	$OpenBSD: sysarch.h,v 1.3 2000/08/05 22:07:33 niklas Exp $	*/
2 /*	$NetBSD: sysarch.h,v 1.8 1996/01/08 13:51:44 mycroft Exp $	*/
3 
4 #ifndef _I386_SYSARCH_H_
5 #define _I386_SYSARCH_H_
6 
7 /*
8  * Architecture specific syscalls (i386)
9  */
10 #define I386_GET_LDT	0
11 #define I386_SET_LDT	1
12 #define	I386_IOPL	2
13 #define	I386_GET_IOPERM	3
14 #define	I386_SET_IOPERM	4
15 #define	I386_VM86	5
16 
17 struct i386_get_ldt_args {
18 	int start;
19 	union descriptor *desc;
20 	int num;
21 };
22 
23 struct i386_set_ldt_args {
24 	int start;
25 	union descriptor *desc;
26 	int num;
27 };
28 
29 struct i386_iopl_args {
30 	int iopl;
31 };
32 
33 struct i386_get_ioperm_args {
34 	u_long *iomap;
35 };
36 
37 struct i386_set_ioperm_args {
38 	u_long *iomap;
39 };
40 
41 #ifndef _KERNEL
42 int i386_get_ldt __P((int, union descriptor *, int));
43 int i386_set_ldt __P((int, union descriptor *, int));
44 int i386_iopl __P((int));
45 int i386_get_ioperm __P((u_long *));
46 int i386_set_ioperm __P((u_long *));
47 int sysarch __P((int, char *));
48 #endif
49 
50 #endif /* !_I386_SYSARCH_H_ */
51