1 /* 2 * SYS/SYSMSG.H 3 * 4 * $DragonFly: src/sys/sys/sysmsg.h,v 1.1 2003/07/30 00:19:16 dillon Exp $ 5 */ 6 7 #ifndef _SYS_SYSMSG_H_ 8 #define _SYS_SYSMSG_H_ 9 10 #ifndef _SYS_CALLOUT_H_ 11 #include <sys/callout.h> 12 #endif 13 14 /* 15 * The sysmsg structure holds out-of-band information for a system call 16 * that userland is not aware of and does not have to supply. It typically 17 * preceeds the syscall arguments in sys/sysunion.h 18 */ 19 union sysmsg { 20 struct lwkt_msg sm_msg; 21 struct { 22 struct lwkt_msg msg; 23 struct callout timer; 24 } sm_sleep; 25 }; 26 27 #define sysmsg_result sysmsg.sm_msg.u.ms_result 28 #define sysmsg_lresult sysmsg.sm_msg.u.ms_lresult 29 #define sysmsg_resultp sysmsg.sm_msg.u.ms_resultp 30 #define sysmsg_fds sysmsg.sm_msg.u.ms_fds 31 #define sysmsg_offset sysmsg.sm_msg.u.ms_offset 32 #define sysmsg_result32 sysmsg.sm_msg.u.ms_result32 33 #define sysmsg_result64 sysmsg.sm_msg.u.ms_result64 34 35 typedef union sysmsg *sysmsg_t; 36 37 #endif 38 39