summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mauderer <Christian.Mauderer@embedded-brains.de>2016-05-02 14:49:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-28 13:01:37 +0200
commit187a0744042960f4306d691ebfef3c3e3cdd3470 (patch)
tree2b272e9144f7d6af2d6f09d1d4ad0b32f3e5b706
parentscore: Change Priority_Control to 64-bit (diff)
downloadrtems-187a0744042960f4306d691ebfef3c3e3cdd3470.tar.bz2
libcsupport: Add dummy for setgroups().
The dummy for setgroups() allows applications using it to build (for example civetweb webserver).
-rw-r--r--cpukit/libcsupport/Makefile.am2
-rw-r--r--cpukit/libcsupport/src/setgroups.c26
-rw-r--r--testsuites/psxtests/psxhdrs/Makefile.am1
-rw-r--r--testsuites/psxtests/psxhdrs/unistd/setgroups.c33
4 files changed, 61 insertions, 1 deletions
diff --git a/cpukit/libcsupport/Makefile.am b/cpukit/libcsupport/Makefile.am
index 99dc2e18a6..4fea4aa338 100644
--- a/cpukit/libcsupport/Makefile.am
+++ b/cpukit/libcsupport/Makefile.am
@@ -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 \
diff --git a/cpukit/libcsupport/src/setgroups.c b/cpukit/libcsupport/src/setgroups.c
new file mode 100644
index 0000000000..9f75f20acb
--- /dev/null
+++ b/cpukit/libcsupport/src/setgroups.c
@@ -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;
+}
diff --git a/testsuites/psxtests/psxhdrs/Makefile.am b/testsuites/psxtests/psxhdrs/Makefile.am
index 3eecd84dbd..c3b1f88620 100644
--- a/testsuites/psxtests/psxhdrs/Makefile.am
+++ b/testsuites/psxtests/psxhdrs/Makefile.am
@@ -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
diff --git a/testsuites/psxtests/psxhdrs/unistd/setgroups.c b/testsuites/psxtests/psxhdrs/unistd/setgroups.c
new file mode 100644
index 0000000000..e8b87ab54e
--- /dev/null
+++ b/testsuites/psxtests/psxhdrs/unistd/setgroups.c
@@ -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;
+}