Mercurial > projects > ldc
comparison druntime/import/stdc/posix/sys/shm.d @ 760:6f33b427bfd1
Seems like hg ignores .di files, so I missed a bunch of stuff. complete druntime should be there now :)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 12 Nov 2008 00:19:18 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
759:d3eb054172f9 | 760:6f33b427bfd1 |
---|---|
1 /** | |
2 * D header file for POSIX. | |
3 * | |
4 * Copyright: Public Domain | |
5 * License: Public Domain | |
6 * Authors: Sean Kelly | |
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition | |
8 */ | |
9 module stdc.posix.sys.shm; | |
10 | |
11 private import stdc.posix.config; | |
12 public import stdc.posix.sys.types; // for pid_t, time_t, key_t, size_t | |
13 public import stdc.posix.sys.ipc; | |
14 | |
15 extern (C): | |
16 | |
17 // | |
18 // XOpen (XSI) | |
19 // | |
20 /* | |
21 SHM_RDONLY | |
22 SHM_RND | |
23 | |
24 SHMLBA | |
25 | |
26 shmatt_t | |
27 | |
28 struct shmid_ds | |
29 { | |
30 ipc_perm shm_perm; | |
31 size_t shm_segsz; | |
32 pid_t shm_lpid; | |
33 pid_t shm_cpid; | |
34 shmatt_t shm_nattch; | |
35 time_t shm_atime; | |
36 time_t shm_dtime; | |
37 time_t shm_ctime; | |
38 } | |
39 | |
40 void* shmat(int, in void*, int); | |
41 int shmctl(int, int, shmid_ds*); | |
42 int shmdt(in void*); | |
43 int shmget(key_t, size_t, int); | |
44 */ | |
45 | |
46 version( linux ) | |
47 { | |
48 const SHM_RDONLY = 010000; | |
49 const SHM_RND = 020000; | |
50 | |
51 int __getpagesize(); | |
52 alias __getpagesize SHMLBA; | |
53 | |
54 alias c_ulong shmatt_t; | |
55 | |
56 struct shmid_ds | |
57 { | |
58 ipc_perm shm_perm; | |
59 size_t shm_segsz; | |
60 time_t shm_atime; | |
61 c_ulong __unused1; | |
62 time_t shm_dtime; | |
63 c_ulong __unused2; | |
64 time_t shm_ctime; | |
65 c_ulong __unused3; | |
66 pid_t shm_cpid; | |
67 pid_t shm_lpid; | |
68 shmatt_t shm_nattch; | |
69 c_ulong __unused4; | |
70 c_ulong __unused5; | |
71 } | |
72 | |
73 void* shmat(int, in void*, int); | |
74 int shmctl(int, int, shmid_ds*); | |
75 int shmdt(in void*); | |
76 int shmget(key_t, size_t, int); | |
77 } | |
78 else version( freebsd ) | |
79 { | |
80 const SHM_RDONLY = 010000; | |
81 const SHM_RND = 020000; | |
82 const SHMLBA = 1 << 12; // PAGE_SIZE = (1<<PAGE_SHIFT) | |
83 | |
84 alias c_ulong shmatt_t; | |
85 | |
86 struct shmid_ds | |
87 { | |
88 ipc_perm shm_perm; | |
89 size_t shm_segsz; | |
90 time_t shm_atime; | |
91 c_ulong __unused1; | |
92 time_t shm_dtime; | |
93 c_ulong __unused2; | |
94 time_t shm_ctime; | |
95 c_ulong __unused3; | |
96 pid_t shm_cpid; | |
97 pid_t shm_lpid; | |
98 shmatt_t shm_nattch; | |
99 c_ulong __unused4; | |
100 c_ulong __unused5; | |
101 } | |
102 | |
103 void* shmat(int, in void*, int); | |
104 int shmctl(int, int, shmid_ds*); | |
105 int shmdt(in void*); | |
106 int shmget(key_t, size_t, int); | |
107 } | |
108 else version( darwin ) | |
109 { | |
110 | |
111 } |