2 * D header file for POSIX.
4 * Copyright: Copyright Sean Kelly 2005 - 2009.
5 * License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
10 /* Copyright Sean Kelly 2005 - 2009.
11 * Distributed under the Boost Software License, Version 1.0.
12 * (See accompanying file LICENSE or copy at
13 * http://www.boost.org/LICENSE_1_0.txt)
15 module core
.sys
.posix
.sys
.ipc
;
17 import core
.sys
.posix
.config
;
18 public import core
.sys
.posix
.sys
.types
; // for uid_t, gid_t, mode_t, key_t
26 else version (WatchOS
)
30 extern (C
) nothrow @nogc:
73 enum IPC_CREAT
= 0x0200; // 01000
74 enum IPC_EXCL
= 0x0400; // 02000
75 enum IPC_NOWAIT
= 0x0800; // 04000
77 enum key_t IPC_PRIVATE
= 0;
85 align(4) struct ipc_perm
96 enum IPC_CREAT
= 0x0200; // 01000
97 enum IPC_EXCL
= 0x0400; // 02000
98 enum IPC_NOWAIT
= 0x0800; // 04000
100 enum key_t IPC_PRIVATE
= 0;
106 else version (FreeBSD
)
108 struct ipc_perm_old
// <= FreeBSD7
130 enum IPC_CREAT
= 0x0200; // 01000
131 enum IPC_EXCL
= 0x0400; // 02000
132 enum IPC_NOWAIT
= 0x0800; // 04000
134 enum key_t IPC_PRIVATE
= 0;
140 else version (NetBSD
)
153 enum IPC_CREAT
= 0x0100; // 01000
154 enum IPC_EXCL
= 0x0200; // 02000
155 enum IPC_NOWAIT
= 0x0400; // 04000
157 enum key_t IPC_PRIVATE
= 0;
163 else version (OpenBSD
)
176 enum IPC_CREAT
= 0x0200; // 01000
177 enum IPC_EXCL
= 0x0400; // 02000
178 enum IPC_NOWAIT
= 0x0800; // 04000
180 enum key_t IPC_PRIVATE
= 0;
186 else version (DragonFlyBSD
)
199 enum IPC_CREAT
= 0x0200; // 01000
200 enum IPC_EXCL
= 0x0400; // 02000
201 enum IPC_NOWAIT
= 0x0800; // 04000
203 enum key_t IPC_PRIVATE
= 0;
209 else version (Solaris
)
239 enum IPC_CREAT
= 0x200;
240 enum IPC_EXCL
= 0x400;
241 enum IPC_NOWAIT
= 0x800;
243 enum key_t IPC_PRIVATE
= 0;
251 static assert(false, "Unsupported platform");
255 key_t ftok(const scope char*, int);
258 version (CRuntime_Glibc
)
260 key_t
ftok(const scope char*, int);
262 else version (Darwin
)
264 key_t
ftok(const scope char*, int);
266 else version (FreeBSD
)
268 key_t
ftok(const scope char*, int);
270 else version (NetBSD
)
272 key_t
ftok(const scope char*, int);
274 else version (OpenBSD
)
276 key_t
ftok(const scope char*, int);
278 else version (DragonFlyBSD
)
280 key_t
ftok(const scope char*, int);
282 else version (Solaris
)
284 key_t
ftok(const scope char*, int);
286 else version (CRuntime_Bionic
)
288 key_t
ftok(const scope char*, int);
290 else version (CRuntime_Musl
)
292 key_t
ftok(const scope char*, int);
294 else version (CRuntime_UClibc
)
296 key_t
ftok(const scope char*, int);
300 static assert(false, "Unsupported platform");