Lines Matching refs:grp

39 #include <grp.h>
150 group_unpack(const nvlist_t *nvl, struct group *grp, char *buffer,
158 memset(grp, 0, sizeof(*grp));
160 error = group_unpack_string(nvl, "gr_name", &grp->gr_name, &buffer,
164 error = group_unpack_string(nvl, "gr_passwd", &grp->gr_passwd, &buffer,
168 grp->gr_gid = (gid_t)nvlist_get_number(nvl, "gr_gid");
169 error = group_unpack_members(nvl, &grp->gr_mem, &buffer, &bufsize);
178 gid_t gid, struct group *grp, char *buffer, size_t bufsize,
222 error = group_unpack(nvl, grp, buffer, bufsize);
238 *result = grp;
288 cap_getgrent_r(cap_channel_t *chan, struct group *grp, char *buffer,
292 return (cap_getgrcommon_r(chan, "getgrent_r", NULL, 0, grp, buffer,
297 cap_getgrnam_r(cap_channel_t *chan, const char *name, struct group *grp,
301 return (cap_getgrcommon_r(chan, "getgrnam_r", name, 0, grp, buffer,
306 cap_getgrgid_r(cap_channel_t *chan, gid_t gid, struct group *grp, char *buffer,
310 return (cap_getgrcommon_r(chan, "getgrgid_r", NULL, gid, grp, buffer,
586 grp_pack(const nvlist_t *limits, const struct group *grp, nvlist_t *nvl)
591 if (grp == NULL)
597 if (!grp_allowed_group(limits, grp->gr_name, grp->gr_gid))
601 nvlist_add_string(nvl, "gr_name", grp->gr_name);
605 nvlist_add_string(nvl, "gr_passwd", grp->gr_passwd);
609 nvlist_add_number(nvl, "gr_gid", (uint64_t)grp->gr_gid);
612 if (grp_allowed_field(limits, "gr_mem") && grp->gr_mem[0] != NULL) {
615 for (ngroups = 0; grp->gr_mem[ngroups] != NULL; ngroups++) {
619 nvlist_add_string(nvl, nvlname, grp->gr_mem[ngroups]);
631 struct group *grp;
635 grp = getgrent();
638 if (grp_pack(limits, grp, nvlout))
648 struct group *grp;
657 grp = getgrnam(name);
661 (void)grp_pack(limits, grp, nvlout);
669 struct group *grp;
678 grp = getgrgid(gid);
682 (void)grp_pack(limits, grp, nvlout);
789 CREATE_SERVICE("system.grp", grp_limit, grp_command, 0);