libcsupport: Add dummy for setgroups().

The dummy for setgroups() allows applications using it to build (for example
civetweb webserver).
This commit is contained in:
Christian Mauderer
2016-05-02 14:49:35 +02:00
committed by Sebastian Huber
parent 254dc82daf
commit 187a074404
4 changed files with 61 additions and 1 deletions

View File

@@ -73,7 +73,7 @@ DIRECTORY_SCAN_C_FILES += src/getcwd.c
ID_C_FILES = src/getegid.c src/geteuid.c src/getgid.c src/getgroups.c \
src/getlogin.c src/getpgrp.c src/getpid.c src/getppid.c src/getuid.c \
src/seteuid.c src/setgid.c src/setuid.c src/setegid.c src/setpgid.c \
src/setsid.c
src/setsid.c src/setgroups.c
MALLOC_C_FILES = src/malloc_initialize.c src/malloc.c \
src/realloc.c src/_calloc_r.c src/_malloc_r.c \

View File

@@ -0,0 +1,26 @@
/*
* Copyright (c) 2016 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
* Dornierstr. 4
* 82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/
#include <unistd.h>
int setgroups(int size, const gid_t *list)
{
/* FIXME: Implement this function properly. Currently it only returns a
* success. */
(void) size;
(void) list;
return 0;
}

View File

@@ -128,6 +128,7 @@ lib_a_SOURCES += unistd/getppid.c
lib_a_SOURCES += unistd/getuid.c
lib_a_SOURCES += unistd/pause.c
lib_a_SOURCES += unistd/setgid.c
lib_a_SOURCES += unistd/setgroups.c
lib_a_SOURCES += unistd/setpgid.c
lib_a_SOURCES += unistd/setsid.c
lib_a_SOURCES += unistd/setuid.c

View File

@@ -0,0 +1,33 @@
/*
* This test file is used to verify that the header files associated with
* invoking this function are correct.
*
* COPYRIGHT (c) 1989-2009.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.org/license/LICENSE.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <sys/types.h>
#include <unistd.h>
int test( void );
int test( void )
{
gid_t grouplist[ 20 ];
int gidsetsize;
int result;
gidsetsize = sizeof(grouplist)/sizeof(grouplist[0]);
result = setgroups( gidsetsize, grouplist );
return result;
}