OSDN Git Service

hidden_def/hidden_proto: convert all users (I hope) termios split, add some missing...
[uclinux-h8/uClibc.git] / libc / sysdeps / linux / common / setresgid.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * setresgid() for uClibc
4  *
5  * Copyright (C) 2000-2004 by Erik Andersen <andersen@codepoet.org>
6  *
7  * GNU Library General Public License (LGPL) version 2 or later.
8  */
9
10 #include "syscalls.h"
11
12 #ifdef __NR_setresgid
13 #define __NR___syscall_setresgid __NR_setresgid
14 static inline _syscall3(int, __syscall_setresgid,
15                 __kernel_gid_t, rgid, __kernel_gid_t, egid, __kernel_gid_t, sgid);
16
17 int setresgid(gid_t rgid, gid_t egid, gid_t sgid)
18 {
19         if (((rgid + 1) > (gid_t) ((__kernel_gid_t) - 1U))
20                 || ((egid + 1) > (gid_t) ((__kernel_gid_t) - 1U))
21                 || ((sgid + 1) > (gid_t) ((__kernel_gid_t) - 1U))) {
22                 __set_errno(EINVAL);
23                 return -1;
24         }
25         return (__syscall_setresgid(rgid, egid, sgid));
26 }
27 libc_hidden_proto(setresgid)
28 libc_hidden_def(setresgid)
29 #endif