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