Mercurial > projects > ldc
comparison druntime/import/core/sys/posix/pwd.d @ 1458:e0b2d67cfe7c
Added druntime (this should be removed once it works).
author | Robert Clipsham <robert@octarineparrot.com> |
---|---|
date | Tue, 02 Jun 2009 17:43:06 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
1456:7b218ec1044f | 1458:e0b2d67cfe7c |
---|---|
1 /** | |
2 * D header file for POSIX. | |
3 * | |
4 * Copyright: Copyright Sean Kelly 2005 - 2009. | |
5 * License: <a href="http://www.boost.org/LICENSE_1_0.txt>Boost License 1.0</a>. | |
6 * Authors: Sean Kelly | |
7 * Standards: The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition | |
8 * | |
9 * Copyright Sean Kelly 2005 - 2009. | |
10 * Distributed under the Boost Software License, Version 1.0. | |
11 * (See accompanying file LICENSE_1_0.txt or copy at | |
12 * http://www.boost.org/LICENSE_1_0.txt) | |
13 */ | |
14 module core.sys.posix.pwd; | |
15 | |
16 private import core.sys.posix.config; | |
17 public import core.sys.posix.sys.types; // for gid_t, uid_t | |
18 | |
19 extern (C): | |
20 | |
21 // | |
22 // Required | |
23 // | |
24 /* | |
25 struct passwd | |
26 { | |
27 char* pw_name; | |
28 uid_t pw_uid; | |
29 gid_t pw_gid; | |
30 char* pw_dir; | |
31 char* pw_shell; | |
32 } | |
33 | |
34 passwd* getpwnam(in char*); | |
35 passwd* getpwuid(uid_t); | |
36 */ | |
37 | |
38 version( linux ) | |
39 { | |
40 struct passwd | |
41 { | |
42 char* pw_name; | |
43 char* pw_passwd; | |
44 uid_t pw_uid; | |
45 gid_t pw_gid; | |
46 char* pw_gecos; | |
47 char* pw_dir; | |
48 char* pw_shell; | |
49 } | |
50 } | |
51 else version( OSX ) | |
52 { | |
53 struct passwd | |
54 { | |
55 char* pw_name; | |
56 char* pw_passwd; | |
57 uid_t pw_uid; | |
58 gid_t pw_gid; | |
59 time_t pw_change; | |
60 char* pw_class; | |
61 char* pw_gecos; | |
62 char* pw_dir; | |
63 char* pw_shell; | |
64 time_t pw_expire; | |
65 } | |
66 } | |
67 else version( freebsd ) | |
68 { | |
69 struct passwd | |
70 { | |
71 char* pw_name; /* user name */ | |
72 char* pw_passwd; /* encrypted password */ | |
73 uid_t pw_uid; /* user uid */ | |
74 gid_t pw_gid; /* user gid */ | |
75 time_t pw_change; /* password change time */ | |
76 char* pw_class; /* user access class */ | |
77 char* pw_gecos; /* Honeywell login info */ | |
78 char* pw_dir; /* home directory */ | |
79 char* pw_shell; /* default shell */ | |
80 time_t pw_expire; /* account expiration */ | |
81 int pw_fields; /* internal: fields filled in */ | |
82 } | |
83 } | |
84 | |
85 passwd* getpwnam(in char*); | |
86 passwd* getpwuid(uid_t); | |
87 | |
88 // | |
89 // Thread-Safe Functions (TSF) | |
90 // | |
91 /* | |
92 int getpwnam_r(in char*, passwd*, char*, size_t, passwd**); | |
93 int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**); | |
94 */ | |
95 | |
96 version( linux ) | |
97 { | |
98 int getpwnam_r(in char*, passwd*, char*, size_t, passwd**); | |
99 int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**); | |
100 } | |
101 else version( OSX ) | |
102 { | |
103 int getpwnam_r(in char*, passwd*, char*, size_t, passwd**); | |
104 int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**); | |
105 } | |
106 else version( freebsd ) | |
107 { | |
108 int getpwnam_r(in char*, passwd*, char*, size_t, passwd**); | |
109 int getpwuid_r(uid_t, passwd*, char*, size_t, passwd**); | |
110 } | |
111 // | |
112 // XOpen (XSI) | |
113 // | |
114 /* | |
115 void endpwent(); | |
116 passwd* getpwent(); | |
117 void setpwent(); | |
118 */ | |
119 | |
120 version( linux ) | |
121 { | |
122 void endpwent(); | |
123 passwd* getpwent(); | |
124 void setpwent(); | |
125 } | |
126 else version ( OSX ) | |
127 { | |
128 void endpwent(); | |
129 passwd* getpwent(); | |
130 void setpwent(); | |
131 } | |
132 else version ( freebsd ) | |
133 { | |
134 void endpwent(); | |
135 passwd* getpwent(); | |
136 void setpwent(); | |
137 } |