157 char *pj_comment; /* project comment */
158 char **pj_users; /* vector of pointers to
159 project user names */
160 char **pj_groups; /* vector of pointers to
161 project group names */
162 char *pj_attr; /* project attributes */
163 };
164
165
166
167 The getprojbyname() and getprojbyid() functions each return a pointer
168 to a struct project if they successfully locate the requested entry;
169 otherwise they return NULL.
170
171
172 The getprojent() function returns a pointer to a struct project if it
173 successfully enumerates an entry; otherwise it returns NULL, indicating
174 the end of the enumeration.
175
176
177 The getprojidbyname() function returns the project ID if the requsted
178 entry is found; otherwise it returns -1 and sets errno to indicate the
179 error.
180
181
182 When the pointer returned by the reentrant functions getprojbyname(),
183 getprojbyid(), and getprojent() is non-null, it is always equal to the
184 proj pointer that was supplied by the caller.
185
186
187 Upon failure, NULL is returned and errno is set to indicate the error.
188
189 ERRORS
190 The getprojent(), getprojbyname(), getprojbyid(), inproj(),
191 getprojidbyname(), fgetprojent(), and getdefaultproj() functions will
192 fail if:
193
194 EINTR
195 A signal was caught during the operation.
196
197
201
202 EMFILE
203 There are OPEN_MAX file descriptors currently open in the
204 calling process.
205
206
207 ENFILE
208 The maximum allowable number of files is currently open in
209 the system.
210
211
212 ERANGE
213 Insufficient storage was supplied by buffer and bufsize to
214 contain the data to be referenced by the resulting project
215 structure.
216
217
218
219 These functions can also fail if the name service switch does not
220 specify valid project(4) name service sources. In the case of an
221 incompletely configurated name service switch configuration,
222 getprojbyid() and other functions can return error values other than
223 those documented above. These conditions usually occur when the
224 nsswitch.conf file indicates that one or more name services is
225 providing entries for the project database when that name service does
226 not actually make a project table available.
227
228 USAGE
229 When compiling multithreaded applications, see Intro(3), Notes On
230 Multithreaded Applications.
231
232
233 Use of the enumeration interface getprojent() is discouraged.
234 Enumeration is supported for the project file, NIS, and LDAP but in
235 general is not efficient. The semantics of enumeration are discussed
236 further in nsswitch.conf(4).
237
238 ATTRIBUTES
239 See attributes(5) for descriptions of the following attributes:
240
241
|
157 char *pj_comment; /* project comment */
158 char **pj_users; /* vector of pointers to
159 project user names */
160 char **pj_groups; /* vector of pointers to
161 project group names */
162 char *pj_attr; /* project attributes */
163 };
164
165
166
167 The getprojbyname() and getprojbyid() functions each return a pointer
168 to a struct project if they successfully locate the requested entry;
169 otherwise they return NULL.
170
171
172 The getprojent() function returns a pointer to a struct project if it
173 successfully enumerates an entry; otherwise it returns NULL, indicating
174 the end of the enumeration.
175
176
177 The getprojidbyname() function returns the project ID if the requested
178 entry is found; otherwise it returns -1 and sets errno to indicate the
179 error.
180
181
182 When the pointer returned by the reentrant functions getprojbyname(),
183 getprojbyid(), and getprojent() is non-null, it is always equal to the
184 proj pointer that was supplied by the caller.
185
186
187 Upon failure, NULL is returned and errno is set to indicate the error.
188
189 ERRORS
190 The getprojent(), getprojbyname(), getprojbyid(), inproj(),
191 getprojidbyname(), fgetprojent(), and getdefaultproj() functions will
192 fail if:
193
194 EINTR
195 A signal was caught during the operation.
196
197
201
202 EMFILE
203 There are OPEN_MAX file descriptors currently open in the
204 calling process.
205
206
207 ENFILE
208 The maximum allowable number of files is currently open in
209 the system.
210
211
212 ERANGE
213 Insufficient storage was supplied by buffer and bufsize to
214 contain the data to be referenced by the resulting project
215 structure.
216
217
218
219 These functions can also fail if the name service switch does not
220 specify valid project(4) name service sources. In the case of an
221 incompletely configured name service switch configuration,
222 getprojbyid() and other functions can return error values other than
223 those documented above. These conditions usually occur when the
224 nsswitch.conf file indicates that one or more name services is
225 providing entries for the project database when that name service does
226 not actually make a project table available.
227
228 USAGE
229 When compiling multithreaded applications, see Intro(3), Notes On
230 Multithreaded Applications.
231
232
233 Use of the enumeration interface getprojent() is discouraged.
234 Enumeration is supported for the project file, NIS, and LDAP but in
235 general is not efficient. The semantics of enumeration are discussed
236 further in nsswitch.conf(4).
237
238 ATTRIBUTES
239 See attributes(5) for descriptions of the following attributes:
240
241
|