(void) state; /* unused */
+#if defined(SYS_setreuid)
rc = syscall(SYS_setreuid, -1, 0);
+#elif defined(SYS_setreuid32)
+ rc = syscall(SYS_setreuid32, -1, 0);
+#endif
assert_int_equal(rc, 0);
u = geteuid();
-#ifdef SYS_geteuid /* not available on Solaris */
+#if defined(SYS_geteuid) /* not available on Solaris */
assert_int_equal(u, syscall(SYS_geteuid));
+#elif defined(SYS_geteuid32)
+ assert_int_equal(u, syscall(SYS_geteuid32));
#endif
+#if defined(SYS_setreuid)
rc = syscall(SYS_setreuid, -1, 42);
+#elif defined(SYS_setreuid32)
+ rc = syscall(SYS_setreuid32, -1, 42);
+#endif
assert_int_equal(rc, 0);
u = geteuid();
(void) state; /* unused */
+#if defined(SYS_setregid)
rc = syscall(SYS_setregid, -1, 0);
+#elif defined(SYS_setregid32)
+ rc = syscall(SYS_setregid32, -1, 0);
+#endif
assert_int_equal(rc, 0);
g = getegid();
-#ifdef SYS_getegid /* Not available on Solaris */
+#if defined(SYS_getegid) /* Not available on Solaris */
assert_int_equal(g, syscall(SYS_getegid));
+#elif defined(SYS_getegid32)
+ assert_int_equal(g, syscall(SYS_getegid32));
#endif
+#if defined(SYS_setregid)
rc = syscall(SYS_setregid, -1, 42);
+#elif defined(SYS_setregid32)
+ rc = syscall(SYS_setregid32, -1, 42);
+#endif
assert_int_equal(rc, 0);
g = getegid();
(void) state; /* unused */
-#ifdef SYS_setgroups
+#if defined(SYS_setgroups)
rc = syscall(SYS_setgroups, ARRAY_SIZE(glist), glist);
-#elif SYS_setgroups32
+#elif defined (SYS_setgroups32)
rc = syscall(SYS_setgroups32, ARRAY_SIZE(glist), glist);
#endif
assert_int_equal(rc, 0);
/* Drop all supplementary groups. This is often done by daemons */
memset(rlist, 0, sizeof(rlist));
-#ifdef SYS_setgroups
+#if defined(SYS_setgroups)
rc = syscall(SYS_setgroups, 0, NULL);
-#elif SYS_setgroups32
+#elif defined(SYS_setgroups32)
rc = syscall(SYS_setgroups32, 0, NULL);
#endif
assert_int_equal(rc, 0);