xref: /openbsd-src/sys/arch/i386/include/sysarch.h (revision 2b0358df1d88d06ef4139321dd05bd5e05d91eaf)
1 /*	$OpenBSD: sysarch.h,v 1.5 2004/09/15 18:46:50 deraadt 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(int, union descriptor *, int);
43 int i386_set_ldt(int, union descriptor *, int);
44 int i386_iopl(int);
45 int i386_get_ioperm(u_long *);
46 int i386_set_ioperm(u_long *);
47 int sysarch(int, void *);
48 #endif
49 
50 #endif /* !_I386_SYSARCH_H_ */
51