OrionLibC
Barry Importing existing Orion LibC 03048a9 (3 years, 3 months ago)
diff --git a/unistd/getuid.c b/unistd/getuid.c
new file mode 100644
index 0000000..3e7174d
--- /dev/null
+++ b/unistd/getuid.c
@@ -0,0 +1,43 @@
+#include <stddef.h>
+#include <sys/syscall.h>
+#include <sys/types.h>
+
+/* Get the current process' user id */
+uid_t
+getuid(void)
+{
+ int ret;
+ asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_GETUID),
+ "c" (0), "S" (NULL));
+ return ret;
+}
+
+/* Get the current process' effective user id */
+uid_t
+geteuid(void)
+{
+ int ret;
+ asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_GETEUID),
+ "c" (0), "S" (NULL));
+ return ret;
+}
+
+/* Get the current process' group id */
+gid_t
+getgid(void)
+{
+ int ret;
+ asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_GETGID),
+ "c" (0), "S" (NULL));
+ return ret;
+}
+
+/* Get the current process' effective group id */
+gid_t
+getegid(void)
+{
+ int ret;
+ asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_GETEGID),
+ "c" (0), "S" (NULL));
+ return ret;
+}