diff options
author | Alan Coopersmith <alan.coopersmith@sun.com> | 2007-09-27 16:47:06 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@sun.com> | 2007-09-27 16:47:32 -0700 |
commit | 2d93e69690d2c5d4a89a795ede6423796528e5df (patch) | |
tree | 1d775db95b52b13fd92508232aec7c894b4c8630 /include/os.h | |
parent | c7ead3a68e5839cb92129e35b21f55007fba8445 (diff) |
Rework local client id finding code to be more uniform
Diffstat (limited to 'include/os.h')
-rw-r--r-- | include/os.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/os.h b/include/os.h index 3d689478e..d91526786 100644 --- a/include/os.h +++ b/include/os.h @@ -323,6 +323,24 @@ extern int LocalClient(ClientPtr /* client */); extern int LocalClientCred(ClientPtr, int *, int *); +#define LCC_UID_SET (1 << 0) +#define LCC_GID_SET (1 << 1) +#define LCC_PID_SET (1 << 2) +#define LCC_ZID_SET (1 << 3) + +typedef struct { + int fieldsSet; /* Bit mask of fields set */ + int euid; /* Effective uid */ + int egid; /* Primary effective group id */ + int nSuppGids; /* Number of supplementary group ids */ + int *pSuppGids; /* Array of supplementary group ids */ + int pid; /* Process id */ + int zoneid; /* Only set on Solaris 10 & later */ +} LocalClientCredRec; + +extern int GetLocalClientCreds(ClientPtr, LocalClientCredRec **); +extern void FreeLocalClientCreds(LocalClientCredRec *); + extern int ChangeAccessControl(ClientPtr /*client*/, int /*fEnabled*/); extern int GetAccessControl(void); |