My Kernel v0.1.0
user.h
Go to the documentation of this file.
1
13#ifndef KERNEL_USER_H
14#define KERNEL_USER_H
15
16#include <kernel/error.h>
17#include <kernel/types.h>
18#include <kernel/refcnt.h>
19
21struct user_creds {
22 refcnt_t ref;
23 uid_t ruid;
24 uid_t rgid;
25 uid_t euid;
26 uid_t egid;
27 uid_t suid;
28 uid_t sgid;
29};
30
31#define UID_ROOT 0
32
33static inline bool creds_is_root(const struct user_creds *creds)
34{
35 return creds->ruid == UID_ROOT;
36}
37
38struct user_creds *creds_new(void);
39struct user_creds *creds_get(struct user_creds *creds);
40void creds_put(struct user_creds *creds);
41void creds_install(struct user_creds **dest, struct user_creds *creds);
42struct user_creds *creds_clone(struct user_creds *creds);
43
44#endif /* KERNEL_USER_H */
45
46/* @} */
uid_t egid
Definition: user.h:26
uid_t sgid
Definition: user.h:28
uid_t ruid
Definition: user.h:23
uid_t suid
Definition: user.h:27
uid_t rgid
Definition: user.h:24
uid_t euid
Definition: user.h:25
An atomic value.
Definition: atomic.h:22
User credentials.
Definition: user.h:21