4 * $DragonFly: src/sys/sys/sysmsg.h,v 1.12 2008/08/25 23:35:47 dillon Exp $
13 #include <sys/types.h>
15 #ifndef _SYS_SYSPROTO_H_
16 #include <sys/sysproto.h>
18 #ifndef _SYS_SYSUNION_H_
19 #include <sys/sysunion.h>
23 * The sysmsg holds the kernelland version of a system call's arguments
24 * and return value. It typically preceeds the syscall arguments in sysunion
25 * (see sys/sysunion.h).
27 * WARNING: fds must be long so it translates to two 64 bit registers
28 * on 64 bit architectures.
34 void *resultp; /* misc pointer data or result */
35 int result; /* DEPRECATED - AUDIT -> iresult */
36 int iresult; /* standard 'int'eger result */
37 long lresult; /* long result */
38 size_t szresult; /* size_t result */
39 long fds[2]; /* double result */
40 __int32_t result32; /* 32 bit result */
41 __int64_t result64; /* 64 bit result */
42 __off_t offset; /* off_t result */
45 struct trapframe *sm_frame; /* trapframe - saved user context */
46 union sysunion extargs; /* if more than 6 args */
55 #define sysmsg_result sm_result.result
56 #define sysmsg_iresult sm_result.iresult
57 #define sysmsg_lresult sm_result.lresult
58 #define sysmsg_szresult sm_result.szresult
59 #define sysmsg_resultp sm_result.resultp
60 #define sysmsg_fds sm_result.fds
61 #define sysmsg_offset sm_result.offset
62 #define sysmsg_result32 sm_result.result32
63 #define sysmsg_result64 sm_result.result64
64 #define sysmsg_reg sm_result.reg
65 #define sysmsg_frame sm_frame