Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

root/trunk/tango/stdc/posix/grp.d

Revision 5546, 2.5 kB (checked in by mwarning, 2 years ago)

fixes #1978 :: tango.stdc.posix.grp; thanks HowToMeetLadies?

Line 
1 /**
2  * D header file for POSIX.
3  *
4  * Copyright: Public Domain
5  * License:   Public Domain
6  * Authors:   Christian Schneider
7  * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
8  * Source:    Copied/edited from tango.stdc.posix.pwd
9  */
10 module tango.stdc.posix.grp;
11
12 private import tango.stdc.posix.config;
13 public import tango.stdc.posix.sys.types; // for gid_t, uid_t
14
15 extern (C):
16
17 //
18 // Required
19 //
20 /*
21 struct group
22 {
23     char*   gr_name;
24     gid_t   gr_gid;
25     char**  gr_mem;
26 }
27
28 group* getgrnam(in char*);
29 group* getgrgid(gid_t);
30 */
31
32 version( linux )
33 {
34     struct group
35     {
36         char*   gr_name;
37         char*   gr_passwd;
38         gid_t   gr_gid;
39         char**  gr_mem;
40     }
41 }
42 else version( darwin )
43 {
44     struct group
45     {
46         char*   gr_name;
47         char*   gr_passwd;
48         gid_t   gr_gid;
49         char**  gr_mem;
50     }
51 }
52 else version( freebsd )
53 {
54     struct group
55     {
56         char*   gr_name;
57         char*   gr_passwd;
58         gid_t   gr_gid;
59         char**  gr_mem;
60     }
61 }
62 else version( solaris )
63 {
64     struct group
65     {
66         char*   gr_name;
67         char*   gr_passwd;
68         gid_t   gr_gid;
69         char**  gr_mem;
70     }
71 }
72 group* getgrnam(in char*);
73 group* getgrgid(gid_t);
74
75 //
76 // Thread-Safe Functions (TSF)
77 //
78 /*
79 int getgrnam_r(in char*, group*, char*, size_t, group**);
80 int getgrgid_r(gid_t, group*, char*, size_t, group**);
81 */
82
83 version( linux )
84 {
85     int getgrnam_r(in char*, group*, char*, size_t, group**);
86     int getgrgid_r(gid_t, group*, char*, size_t, group**);
87 }
88 else version( darwin )
89 {
90     int getgrnam_r(in char*, group*, char*, size_t, group**);
91     int getgrgid_r(gid_t, group*, char*, size_t, group**);
92 }
93 else version( freebsd )
94 {
95     int getgrnam_r(in char*, group*, char*, size_t, group**);
96     int getgrgid_r(gid_t, group*, char*, size_t, group**);
97 }
98 else version( solaris )
99 {
100     int getgrnam_r(in char*, group*, char*, size_t, group**);
101     int getgrgid_r(gid_t, group*, char*, size_t, group**);
102 }
103 //
104 // XOpen (XSI)
105 //
106 /*
107 void    endgrent();
108 passwd* getgrent();
109 void    setgrent();
110 */
111
112 version( linux )
113 {
114     void    endgrent();
115     group* getgrent();
116     void    setgrent();
117 }
118 else version ( darwin )
119 {
120     void    endgrent();
121     group* getgrent();
122     void    setgrent();
123 }
124 else version ( freebsd )
125 {
126     void    endgrent();
127     group* getgrent();
128     void    setgrent();
129 }
130 else version ( solaris )
131 {
132     void    endgrent();
133     group* getgrent();
134     void    setgrent();
135 }
Note: See TracBrowser for help on using the browser.