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/compat/freebsd32/freebsd32_ipc.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  * Copyright (c) 2002 Doug Rabson
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24  * SUCH DAMAGE.
   25  *
   26  * $FreeBSD: releng/10.0/sys/compat/freebsd32/freebsd32_ipc.h 205322 2010-03-19 11:01:51Z kib $
   27  */
   28 
   29 #ifndef _COMPAT_FREEBSD32_FREEBSD32_IPC_H_
   30 #define _COMPAT_FREEBSD32_FREEBSD32_IPC_H_
   31 
   32 struct ipc_perm32 {
   33         uid_t           cuid;
   34         gid_t           cgid;
   35         uid_t           uid;
   36         gid_t           gid;
   37         mode_t          mode;
   38         uint16_t        seq;
   39         uint32_t        key;
   40 };
   41 
   42 struct semid_ds32 {
   43         struct ipc_perm32 sem_perm;
   44         uint32_t        sem_base;
   45         unsigned short  sem_nsems;
   46         int32_t         sem_otime;
   47         int32_t         sem_ctime;
   48 };
   49 
   50 union semun32 {
   51         int             val;
   52         uint32_t        buf;
   53         uint32_t        array;
   54 };
   55 
   56 struct msqid_ds32 {
   57         struct ipc_perm32 msg_perm;
   58         uint32_t        msg_first;
   59         uint32_t        msg_last;
   60         uint32_t        msg_cbytes;
   61         uint32_t        msg_qnum;
   62         uint32_t        msg_qbytes;
   63         pid_t           msg_lspid;
   64         pid_t           msg_lrpid;
   65         int32_t         msg_stime;
   66         int32_t         msg_rtime;
   67         int32_t         msg_ctime;
   68 };
   69 
   70 struct shmid_ds32 {
   71         struct ipc_perm32 shm_perm;
   72         int32_t         shm_segsz;
   73         pid_t           shm_lpid;
   74         pid_t           shm_cpid;
   75         int             shm_nattch;
   76         int32_t         shm_atime;
   77         int32_t         shm_dtime;
   78         int32_t         shm_ctime;
   79 };
   80 
   81 struct shm_info32 {
   82         int32_t         used_ids;
   83         uint32_t        shm_tot;
   84         uint32_t        shm_rss;
   85         uint32_t        shm_swp;
   86         uint32_t        swap_attempts;
   87         uint32_t        swap_successes;
   88 };
   89 
   90 struct shminfo32 {
   91         uint32_t        shmmax;
   92         uint32_t        shmmin;
   93         uint32_t        shmmni;
   94         uint32_t        shmseg;
   95         uint32_t        shmall;
   96 };
   97 
   98 #if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \
   99     defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7)
  100 struct ipc_perm32_old {
  101         uint16_t        cuid;
  102         uint16_t        cgid;
  103         uint16_t        uid;
  104         uint16_t        gid;
  105         uint16_t        mode;
  106         uint16_t        seq;
  107         uint32_t        key;
  108 };
  109 
  110 struct semid_ds32_old {
  111         struct ipc_perm32_old sem_perm;
  112         uint32_t        sem_base;
  113         unsigned short  sem_nsems;
  114         int32_t         sem_otime;
  115         int32_t         sem_pad1;
  116         int32_t         sem_ctime;
  117         int32_t         sem_pad2;
  118         int32_t         sem_pad3[4];
  119 };
  120 
  121 struct msqid_ds32_old {
  122         struct ipc_perm32_old msg_perm;
  123         uint32_t        msg_first;
  124         uint32_t        msg_last;
  125         uint32_t        msg_cbytes;
  126         uint32_t        msg_qnum;
  127         uint32_t        msg_qbytes;
  128         pid_t           msg_lspid;
  129         pid_t           msg_lrpid;
  130         int32_t         msg_stime;
  131         int32_t         msg_pad1;
  132         int32_t         msg_rtime;
  133         int32_t         msg_pad2;
  134         int32_t         msg_ctime;
  135         int32_t         msg_pad3;
  136         int32_t         msg_pad4[4];
  137 };
  138 
  139 struct shmid_ds32_old {
  140         struct ipc_perm32_old shm_perm;
  141         int32_t         shm_segsz;
  142         pid_t           shm_lpid;
  143         pid_t           shm_cpid;
  144         int16_t         shm_nattch;
  145         int32_t         shm_atime;
  146         int32_t         shm_dtime;
  147         int32_t         shm_ctime;
  148         uint32_t        shm_internal;
  149 };
  150 
  151 void    freebsd32_ipcperm_old_in(struct ipc_perm32_old *ip32,
  152             struct ipc_perm *ip);
  153 void    freebsd32_ipcperm_old_out(struct ipc_perm *ip,
  154             struct ipc_perm32_old *ip32);
  155 #endif
  156 
  157 void    freebsd32_ipcperm_in(struct ipc_perm32 *ip32, struct ipc_perm *ip);
  158 void    freebsd32_ipcperm_out(struct ipc_perm *ip, struct ipc_perm32 *ip32);
  159 
  160 #endif /* !_COMPAT_FREEBSD32_FREEBSD32_IPC_H_ */

Cache object: 6a199fc96c21d8cdaa56eb3024008942


[ 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.