BarryServer : Git

All the code for all my projects
// BarryServer : Git / Nucleus / commit / f0dcd5469d9d1ca1dd816f97411f1209eb5a287a / include / nucleus / task.h

// Related

Nucleus

Barry Files namespace f0dcd54 (3 years, 3 months ago)
diff --git a/include/nucleus/task.h b/include/nucleus/task.h
index 397fae7..cfc0c99 100644
--- a/include/nucleus/task.h
+++ b/include/nucleus/task.h
@@ -30,7 +30,9 @@ enum State {
 /* Structure for a Task */
 struct Task {
 	Object obj;
-	pid_t tid;
+	pid_t tid, tgid;
+	uid_t uid, euid, suid;
+	gid_t gid, egid, sgid;
 	enum Priority priority;
 	enum State state;
 
@@ -39,6 +41,7 @@ struct Task {
 
 	/* Namespaces */
 	FileSystem *fs;
+	Files *files;
 };
 
 extern ObjectType taskType;
@@ -46,6 +49,13 @@ extern ObjectType taskType;
 extern Task *currentTask[];
 #define current currentTask[CPUID]
 
+/* Check if super-user */
+static inline int
+super_user(void)
+{
+	return (current->euid == 0);
+}
+
 void init_tasking(void);
 void schedule(void);
 pid_t clone(int flags);