updated to 2.6.5-vs1.9.0pre4
[util-vserver.git] / util-vserver / kernel / xid.h
1 #ifndef _LINUX_VXID_H_
2 #define _LINUX_VXID_H_
3
4 #ifdef CONFIG_INOXID_NONE
5
6 #define INOXID_UID(uid, gid)            (uid)
7 #define INOXID_GID(uid, gid)            (gid)
8 #define INOXID_XID(uid, gid, xid)       (0)
9
10 #define XIDINO_UID(uid, xid)            (uid)
11 #define XIDINO_GID(gid, xid)            (gid)
12
13 #define MAX_UID         0xFFFFFFFF
14 #define MAX_GID         0xFFFFFFFF
15
16 #endif
17
18 #ifdef CONFIG_INOXID_GID16
19
20 #define INOXID_UID(uid, gid)            (uid)
21 #define INOXID_GID(uid, gid)            ((gid) & 0xFFFF)
22 #define INOXID_XID(uid, gid, xid)       (((gid) >> 16) & 0xFFFF)
23
24 #define XIDINO_UID(uid, xid)            (uid)
25 #define XIDINO_GID(gid, xid)            (((gid) & 0xFFFF) | ((xid) << 16))
26
27 #define MAX_UID         0xFFFFFFFF
28 #define MAX_GID         0x0000FFFF
29
30 #endif
31
32 #ifdef CONFIG_INOXID_GID24
33
34 #define INOXID_UID(uid, gid)            ((uid) & 0xFFFFFF)
35 #define INOXID_GID(uid, gid)            ((gid) & 0xFFFFFF)
36 #define INOXID_XID(uid, gid, xid)       ((((uid) >> 16) & 0xFF00) | (((gid) >> 24) & 0xFF))
37
38 #define XIDINO_UID(uid, xid)            (((uid) & 0xFFFFFF) | (((xid) & 0xFF00) << 16))
39 #define XIDINO_GID(gid, xid)            (((gid) & 0xFFFFFF) | (((xid) & 0x00FF) << 24))
40
41 #define MAX_UID         0x00FFFFFF
42 #define MAX_GID         0x00FFFFFF
43
44 #endif
45
46 #ifdef CONFIG_INOXID_GID32
47
48 #define INOXID_UID(uid, gid)            (uid)
49 #define INOXID_GID(uid, gid)            (gid)
50 #define INOXID_XID(uid, gid, xid)       (xid)
51
52 #define XIDINO_UID(uid, xid)            (uid)
53 #define XIDINO_GID(gid, xid)            (gid)
54
55 #define MAX_UID         0xFFFFFFFF
56 #define MAX_GID         0xFFFFFFFF
57
58 #endif
59
60 #define FIOC_GETXID     _IOR('x', 1, long)
61 #define FIOC_SETXID     _IOW('x', 2, long)
62 #define FIOC_SETXIDJ    _IOW('x', 3, long)
63
64 #endif