SETGROUPS(2) BSD Programmer's Manual SETGROUPS(2) NNAAMMEE sseettggrroouuppss - set group access list SSYYNNOOPPSSIISS ##iinncclluuddee <<uunniissttdd..hh>> ##iinncclluuddee <<ssyyss//ppaarraamm..hh>> _i_n_t sseettggrroouuppss(_i_n_t _n_g_r_o_u_p_s, _c_o_n_s_t _i_n_t _*_g_i_d_s_e_t); DDEESSCCRRIIPPTTIIOONN SSeettggrroouuppss() sets the group access list of the current user process ac- cording to the array _g_i_d_s_e_t. The parameter _n_g_r_o_u_p_s indicates the number of entries in the array and must be no more than NGROUPS, as defined in <_s_y_s_/_p_a_r_a_m_._h>. Only the super-user may set new groups. RREETTUURRNN VVAALLUUEESS A 0 value is returned on success, -1 on error, with an error code stored in _e_r_r_n_o. EERRRROORRSS The sseettggrroouuppss() call will fail if: [EPERM] The caller is not the super-user. [EFAULT] The address specified for _g_i_d_s_e_t is outside the process ad- dress space. SSEEEE AALLSSOO getgroups(2), initgroups(3) BBUUGGSS The _g_i_d_s_e_t array should be of type _g_i_d___t, but remains integer for compat- ibility with earlier systems. HHIISSTTOORRYY The sseettggrroouuppss function call appeared in 4.2BSD. 4.2 Berkeley Distribution June 4, 1993 1