The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/sys/sysmsg.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * SYS/SYSMSG.H
    3  *
    4  * $DragonFly: src/sys/sys/sysmsg.h,v 1.12 2008/08/25 23:35:47 dillon Exp $
    5  */
    6 
    7 #ifndef _SYS_SYSMSG_H_
    8 #define _SYS_SYSMSG_H_
    9 
   10 #ifdef _KERNEL
   11 
   12 #ifndef _SYS_TYPES_H_
   13 #include <sys/types.h>
   14 #endif
   15 
   16 /*
   17  * The sysmsg holds the kernelland version of a system call's arguments
   18  * and return value.  It typically preceeds the syscall arguments in sysunion
   19  * (see sys/sysunion.h).
   20  *
   21  * WARNING: fds must be long so it translates to two 64 bit registers
   22  * on 64 bit architectures.
   23  */
   24 union sysunion;
   25 
   26 struct sysmsg {
   27         union {
   28             void    *resultp;           /* misc pointer data or result */
   29             int     result;             /* DEPRECATED - AUDIT -> iresult */
   30             int     iresult;            /* standard 'int'eger result */
   31             long    lresult;            /* long result */
   32             size_t  szresult;           /* size_t result */
   33             long    fds[2];             /* double result */
   34             __int32_t result32;         /* 32 bit result */
   35             __int64_t result64;         /* 64 bit result */
   36             __off_t offset;             /* off_t result */
   37             register_t reg;
   38         } sm_result;
   39         struct trapframe *sm_frame;      /* trapframe - saved user context */
   40         void *sm_unused;
   41 };
   42 
   43 struct lwp;
   44 union sysunion;
   45 
   46 #endif
   47 
   48 #ifdef _KERNEL
   49 #define sysmsg_result   sysmsg.sm_result.result
   50 #define sysmsg_iresult  sysmsg.sm_result.iresult
   51 #define sysmsg_lresult  sysmsg.sm_result.lresult
   52 #define sysmsg_szresult sysmsg.sm_result.szresult
   53 #define sysmsg_resultp  sysmsg.sm_result.resultp
   54 #define sysmsg_fds      sysmsg.sm_result.fds
   55 #define sysmsg_offset   sysmsg.sm_result.offset
   56 #define sysmsg_result32 sysmsg.sm_result.result32
   57 #define sysmsg_result64 sysmsg.sm_result.result64
   58 #define sysmsg_reg      sysmsg.sm_result.reg
   59 #define sysmsg_frame    sysmsg.sm_frame
   60 #endif
   61 
   62 #endif
   63 

Cache object: 5b942ed14aad7d573b0613d92ebee648


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.