aboutsummaryrefslogtreecommitdiffstats
path: root/include/sys/cred.h
blob: 1e7d3b7c9fb1b324437479b9d344c0edd8677c77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#ifndef _SPL_CRED_H
#define _SPL_CRED_H

#ifdef  __cplusplus
extern "C" {
#endif

#include <linux/module.h>
#include <sys/types.h>
#include <sys/vfs.h>

/* XXX - Portions commented out because we really just want to have the type
 * defined and the contents aren't nearly so important at the moment. */
typedef struct cred {
        uint_t          cr_ref;         /* reference count */
        uid_t           cr_uid;         /* effective user id */
        gid_t           cr_gid;         /* effective group id */
        uid_t           cr_ruid;        /* real user id */
        gid_t           cr_rgid;        /* real group id */
        uid_t           cr_suid;        /* "saved" user id (from exec) */
        gid_t           cr_sgid;        /* "saved" group id (from exec) */
        uint_t          cr_ngroups;     /* number of groups returned by */
                                        /* crgroups() */
#if 0
        cred_priv_t     cr_priv;        /* privileges */
        projid_t        cr_projid;      /* project */
        struct zone     *cr_zone;       /* pointer to per-zone structure */
        struct ts_label_s *cr_label;    /* pointer to the effective label */
        credsid_t       *cr_ksid;       /* pointer to SIDs */
#endif
        gid_t           cr_groups[1];   /* cr_groups size not fixed */
                                        /* audit info is defined dynamically */
                                        /* and valid only when audit enabled */
        /* auditinfo_addr_t     cr_auinfo;      audit info */
} cred_t;

#define kcred				NULL
#define CRED()				NULL

static __inline__ uid_t
crgetuid(cred_t *cr)
{
	return 0;
}

static __inline__ gid_t
crgetgid(cred_t *cr)
{
	return 0;
}

static __inline__ int
crgetngroups(cred_t *cr)
{
	return 0;
}

static __inline__ gid_t *
crgetgroups(cred_t *cr)
{
	return NULL;
}

#ifdef  __cplusplus
}
#endif

#endif  /* _SPL_CRED_H */