Imported Upstream version 20081130
[ltp-debian.git] / testcases / audit-test / utils / bin / do_setreuid32.c
blobe33ea5c24960b37f73fa4195fe54a2aa86958590
1 /* (c) Copyright Hewlett-Packard Development Company, L.P., 2007
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of version 2 the GNU General Public License as
5 * published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
12 * You should have received a copy of the GNU General Public License
13 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 #include "includes.h"
18 int main(int argc, char **argv)
20 int exitval, result;
21 uid_t uid;
23 if (argc != 2) {
24 fprintf(stderr, "Usage:\n%s <uid>\n", argv[0]);
25 return TEST_ERROR;
27 uid = atoi(argv[1]);
29 /* use syscall() to force setreuid32 over setreuid */
30 errno = 0;
31 exitval = syscall(__NR_setreuid32, uid, uid);
32 result = exitval < 0;
34 printf("%d %d %d\n", result, result ? errno : exitval, getpid());
35 return result;