Lines Matching defs:project
34 #include <project.h>
56 static int ismember(struct project *, const char *, gid_t, int);
82 struct project *
83 _getprojent(struct project *result, void *buffer, size_t buflen)
89 return ((struct project *)NSS_XbyY_FINI(&arg));
92 struct project *
93 _fgetprojent(FILE *f, struct project *result, void *buffer, size_t buflen)
100 return ((struct project *)NSS_XbyY_FINI(&arg));
103 struct project *
104 _getprojbyid(projid_t projid, struct project *result,
113 return ((struct project *)NSS_XbyY_FINI(&arg));
116 struct project *
117 _getprojbyname(const char *name, struct project *result,
125 return ((struct project *)NSS_XbyY_FINI(&arg));
130 * is allowed to join the project specified as project structure in first
132 * the project specified in the first argument is user's default project
139 ismember(struct project *proj, const char *user, gid_t gid, int is_default)
155 * Scan project's user list.
168 * Scan project's group list.
185 * Check if user is a member of one of project's groups.
196 struct project *
197 _getdefaultproj(const char *user, struct project *result,
219 if ((attrproj = kva_match(uattr->attr, "project")) != NULL) {
265 struct project proj;
281 return (0); /* project does not exist */
284 * 1. Check for special "default" project.
293 if ((attrproj = kva_match(uattr->attr, "project")) != NULL) {
304 * 3. Check if this is a special "user.username" project.
306 * User "username" is considered to be a member of project
307 * "user.username" even if project's user lists do not
315 * 4. Check if this is a special "group.groupname" project.
318 * to be a member of project "group.groupname" even if project's
341 struct project proj;
380 struct project *project = ent;
405 * empty or very long project names are not allowed
409 project->pj_name = p;
418 project->pj_projid = (projid_t)strtol(p, NULL, 10);
419 if (project->pj_projid < 0) {
423 project->pj_projid = 0;
434 project->pj_comment = p;
457 project->pj_attr = next;
461 project->pj_users = uglist;
475 project->pj_groups = uglist;