Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getgroups(2) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chown(2)

getuid(2)

groups(1)

initgroups(3C)

setuid(2)






       getgroups(2)                                            getgroups(2)


       NAME
             getgroups, setgroups - get or set supplementary group access
             list IDs

       SYNOPSIS
             #include <unistd.h>
             int getgroups(int gidsetsize, gid_t *grouplist);
             int setgroups(int ngroups, const gid_t *grouplist);

       DESCRIPTION
             getgroups gets the current supplemental group access list of
             the calling process and stores the result in the array of
             group IDs specified by grouplist.  This array has gidsetsize
             entries and must be large enough to contain the entire list.
             This list cannot be greater than {NGROUPS_MAX}.  If gidsetsize
             equals 0, getgroups will return the number of groups to which
             the calling process belongs without modifying the array
             pointed to by grouplist.

             setgroups sets the supplementary group access list of the
             calling process from the array of group IDs specified by
             grouplist.  The number of entries is specified by ngroups and
             can not be greater than {NGROUPS_MAX}.  This function may be
             invoked only by a process with the P_SETUID privilege.

          Return Values
             On success, getgroups returns the number of supplementary
             group IDs set for the calling process and setgroups returns 0.
             On failure, getgroups and setgroups return -1 and set errno to
             identify the error.

          Errors
             In the following conditions, getgroups fails and sets errno
             to:

             EINVAL         The value of gidsetsize is non-zero and less
                            than the number of supplementary group IDs set
                            for the calling process.

             In the following conditions, setgroups fails and sets errno
             to:

             EINVAL         The value of ngroups is greater than
                            {NGROUPS_MAX}.




                           Copyright 1994 Novell, Inc.               Page 1













      getgroups(2)                                            getgroups(2)


            EPERM          The calling process does not have the P_SETUID
                           privilege.

            In the following conditions, either call fails and sets errno
            to:

            EFAULT         A referenced part of the array pointed to by
                           grouplist is outside of the allocated address
                           space of the process.

      REFERENCES
            chown(2), getuid(2), groups(1), initgroups(3C), setuid(2)

      NOTICES
         Considerations for Threads Programming
            These ID numbers are attributes of the containing process and
            are shared by sibling threads.































                          Copyright 1994 Novell, Inc.               Page 2








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026