ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/trunk/sys/i386/linux/linux_ipc64.h
Revision: 9996
Committed: Sun May 27 16:34:34 2018 UTC (5 years, 11 months ago) by laffer1
Content type: text/plain
File size: 4608 byte(s)
Log Message:
sync linux emulation with freebsd 10

File Contents

# Content
1 /* $MidnightBSD$ */
2 /*-
3 * Copyright (c) 2002 Maxim Sobolev <sobomax@FreeBSD.org>
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer
11 * in this position and unchanged.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 * 3. The name of the author may not be used to endorse or promote products
16 * derived from this software without specific prior written permission
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 *
29 * $FreeBSD: stable/10/sys/i386/linux/linux_ipc64.h 104893 2002-10-11 11:43:09Z sobomax $
30 */
31
32 #ifndef _I386_LINUX_LINUX_IPC64_H_
33 #define _I386_LINUX_LINUX_IPC64_H_
34
35 /*
36 * The ipc64_perm structure for i386 architecture.
37 * Note extra padding because this structure is passed back and forth
38 * between kernel and user space.
39 *
40 * Pad space is left for:
41 * - 32-bit mode_t and seq
42 * - 2 miscellaneous 32-bit values
43 */
44
45 struct l_ipc64_perm
46 {
47 l_key_t key;
48 l_uid_t uid;
49 l_gid_t gid;
50 l_uid_t cuid;
51 l_gid_t cgid;
52 l_mode_t mode;
53 l_ushort __pad1;
54 l_ushort seq;
55 l_ushort __pad2;
56 l_ulong __unused1;
57 l_ulong __unused2;
58 };
59
60 /*
61 * The msqid64_ds structure for i386 architecture.
62 * Note extra padding because this structure is passed back and forth
63 * between kernel and user space.
64 *
65 * Pad space is left for:
66 * - 64-bit time_t to solve y2038 problem
67 * - 2 miscellaneous 32-bit values
68 */
69
70 struct l_msqid64_ds {
71 struct l_ipc64_perm msg_perm;
72 l_time_t msg_stime; /* last msgsnd time */
73 l_ulong __unused1;
74 l_time_t msg_rtime; /* last msgrcv time */
75 l_ulong __unused2;
76 l_time_t msg_ctime; /* last change time */
77 l_ulong __unused3;
78 l_ulong msg_cbytes; /* current number of bytes on queue */
79 l_ulong msg_qnum; /* number of messages in queue */
80 l_ulong msg_qbytes; /* max number of bytes on queue */
81 l_pid_t msg_lspid; /* pid of last msgsnd */
82 l_pid_t msg_lrpid; /* last receive pid */
83 l_ulong __unused4;
84 l_ulong __unused5;
85 };
86
87 /*
88 * The semid64_ds structure for i386 architecture.
89 * Note extra padding because this structure is passed back and forth
90 * between kernel and user space.
91 *
92 * Pad space is left for:
93 * - 64-bit time_t to solve y2038 problem
94 * - 2 miscellaneous 32-bit values
95 */
96
97 struct l_semid64_ds {
98 struct l_ipc64_perm sem_perm; /* permissions */
99 l_time_t sem_otime; /* last semop time */
100 l_ulong __unused1;
101 l_time_t sem_ctime; /* last change time */
102 l_ulong __unused2;
103 l_ulong sem_nsems; /* no. of semaphores in array */
104 l_ulong __unused3;
105 l_ulong __unused4;
106 };
107
108 /*
109 * The shmid64_ds structure for i386 architecture.
110 * Note extra padding because this structure is passed back and forth
111 * between kernel and user space.
112 *
113 * Pad space is left for:
114 * - 64-bit time_t to solve y2038 problem
115 * - 2 miscellaneous 32-bit values
116 */
117
118 struct l_shmid64_ds {
119 struct l_ipc64_perm shm_perm; /* operation perms */
120 l_size_t shm_segsz; /* size of segment (bytes) */
121 l_time_t shm_atime; /* last attach time */
122 l_ulong __unused1;
123 l_time_t shm_dtime; /* last detach time */
124 l_ulong __unused2;
125 l_time_t shm_ctime; /* last change time */
126 l_ulong __unused3;
127 l_pid_t shm_cpid; /* pid of creator */
128 l_pid_t shm_lpid; /* pid of last operator */
129 l_ulong shm_nattch; /* no. of current attaches */
130 l_ulong __unused4;
131 l_ulong __unused5;
132 };
133
134 struct l_shminfo64 {
135 l_ulong shmmax;
136 l_ulong shmmin;
137 l_ulong shmmni;
138 l_ulong shmseg;
139 l_ulong shmall;
140 l_ulong __unused1;
141 l_ulong __unused2;
142 l_ulong __unused3;
143 l_ulong __unused4;
144 };
145
146 #endif /* !_I386_LINUX_LINUX_IPC64_H_ */

Properties

Name Value
svn:keywords MidnightBSD=%H