summaryrefslogtreecommitdiff
path: root/include/os.h
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@sun.com>2007-09-27 16:47:06 -0700
committerAlan Coopersmith <alan.coopersmith@sun.com>2007-09-27 16:47:32 -0700
commit2d93e69690d2c5d4a89a795ede6423796528e5df (patch)
tree1d775db95b52b13fd92508232aec7c894b4c8630 /include/os.h
parentc7ead3a68e5839cb92129e35b21f55007fba8445 (diff)
Rework local client id finding code to be more uniform
Diffstat (limited to 'include/os.h')
-rw-r--r--include/os.h18
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);