]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/compat/freebsd32/freebsd32_ipc.h
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / compat / freebsd32 / freebsd32_ipc.h
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$
27  */
28
29 #ifndef _COMPAT_FREEBSD32_FREEBSD32_IPC_H_
30 #define _COMPAT_FREEBSD32_FREEBSD32_IPC_H_
31
32 struct ipc_perm32 {
33         uint16_t        cuid;
34         uint16_t        cgid;
35         uint16_t        uid;
36         uint16_t        gid;
37         uint16_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_pad1;
48         int32_t         sem_ctime;
49         int32_t         sem_pad2;
50         int32_t         sem_pad3[4];
51 };
52
53 union semun32 {
54         int             val;
55         uint32_t        buf;
56         uint32_t        array;
57 };
58
59 struct msqid_ds32 {
60         struct ipc_perm32 msg_perm;
61         uint32_t        msg_first;
62         uint32_t        msg_last;
63         uint32_t        msg_cbytes;
64         uint32_t        msg_qnum;
65         uint32_t        msg_qbytes;
66         pid_t           msg_lspid;
67         pid_t           msg_lrpid;
68         int32_t         msg_stime;
69         int32_t         msg_pad1;
70         int32_t         msg_rtime;
71         int32_t         msg_pad2;
72         int32_t         msg_ctime;
73         int32_t         msg_pad3;
74         int32_t         msg_pad4[4];
75 };
76
77 struct shmid_ds32 {
78         struct ipc_perm32 shm_perm;
79         int32_t         shm_segsz;
80         int32_t         shm_lpid;
81         int32_t         shm_cpid;
82         int16_t         shm_nattch;
83         int32_t         shm_atime;
84         int32_t         shm_dtime;
85         int32_t         shm_ctime;
86         uint32_t        shm_internal;
87 };
88
89 struct shm_info32 {
90         int32_t         used_ids;
91         uint32_t        shm_tot;
92         uint32_t        shm_rss;
93         uint32_t        shm_swp;
94         uint32_t        swap_attempts;
95         uint32_t        swap_successes;
96 };
97
98 struct shminfo32 {
99         uint32_t        shmmax;
100         uint32_t        shmmin;
101         uint32_t        shmmni;
102         uint32_t        shmseg;
103         uint32_t        shmall;
104 };
105
106 #endif /* !_COMPAT_FREEBSD32_FREEBSD32_IPC_H_ */