Files
Astral/kernel-src/include/kernel/cred.h
T
2024-08-24 21:53:05 -03:00

23 lines
645 B
C

#ifndef _CRED_H
#define _CRED_H
#include <stdint.h>
typedef struct {
int uid, euid, suid;
int gid, egid, sgid;
} cred_t;
#define CRED_SUPERUSER 0
#define CRED_IS_SU(cred) ((cred)->uid == CRED_SUPERUSER)
#define CRED_IS_ESU(cred) ((cred)->euid == CRED_SUPERUSER)
#define CRED_IS_SSU(cred) ((cred)->suid == CRED_SUPERUSER)
int cred_setuids(cred_t *cred, int uid, int euid, int suid);
int cred_setgids(cred_t *cred, int uid, int euid, int suid);
void cred_getuids(cred_t *cred, int *uidp, int *euidp, int *suidp);
void cred_getgids(cred_t *cred, int *gidp, int *egidp, int *sgidp);
void cred_doexec(cred_t *cred, int suid, int sgid);
#endif