]> git.ipfire.org Git - thirdparty/glibc.git/blame - sysdeps/unix/sysv/linux/i386/setgroups.c
Remove pre-2.4 Linux kernel support.
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / i386 / setgroups.c
CommitLineData
21708942 1/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
5290baf0
UD
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
5290baf0
UD
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2 12 Lesser General Public License for more details.
5290baf0 13
41bdb6e2 14 You should have received a copy of the GNU Lesser General Public
59ba27a6
PE
15 License along with the GNU C Library; if not, see
16 <http://www.gnu.org/licenses/>. */
5290baf0 17
9ffbb612 18#include <errno.h>
5290baf0 19#include <grp.h>
0dee6738
UD
20#include <unistd.h>
21#include <sys/types.h>
22
23#include <sysdep.h>
24#include <sys/syscall.h>
4bbb61e4
GM
25#include <bp-checks.h>
26
70181fdd 27#include <setxid.h>
5290baf0 28#include <linux/posix_types.h>
5290baf0
UD
29
30/* Set the group set for the current user to GROUPS (N of them). For
31 Linux we must convert the array of groups into the format that the
32 kernel expects. */
33int
313fed01 34setgroups (size_t n, const gid_t *groups)
5290baf0 35{
70181fdd 36 return INLINE_SETXID_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
5290baf0 37}
faea9de6 38libc_hidden_def (setgroups)