2b354768b12443a08a31c544cf2777cf87fd2bfd
[linux-2.6.git] / include / linux / vserver / inode.h
1 #ifndef _VX_INODE_H
2 #define _VX_INODE_H
3
4
5 #define IATTR_TAG       0x01000000
6
7 #define IATTR_ADMIN     0x00000001
8 #define IATTR_WATCH     0x00000002
9 #define IATTR_HIDE      0x00000004
10 #define IATTR_FLAGS     0x00000007
11
12 #define IATTR_BARRIER   0x00010000
13 #define IATTR_IUNLINK   0x00020000
14 #define IATTR_IMMUTABLE 0x00040000
15
16 #ifdef  __KERNEL__
17
18
19 #ifdef  CONFIG_VSERVER_PROC_SECURE
20 #define IATTR_PROC_DEFAULT      ( IATTR_ADMIN | IATTR_HIDE )
21 #define IATTR_PROC_SYMLINK      ( IATTR_ADMIN )
22 #else
23 #define IATTR_PROC_DEFAULT      ( IATTR_ADMIN )
24 #define IATTR_PROC_SYMLINK      ( IATTR_ADMIN )
25 #endif
26
27 #define vx_hide_check(c,m)      (((m) & IATTR_HIDE) ? vx_check(c,m) : 1)
28
29 extern int vc_iattr_ioctl(struct dentry *de,
30                           unsigned int cmd,
31                           unsigned long arg);
32
33 #endif  /* __KERNEL__ */
34
35 /* inode ioctls */
36
37 #define FIOC_GETXFLG    _IOR('x', 5, long)
38 #define FIOC_SETXFLG    _IOW('x', 6, long)
39
40 #define FIOC_GETIATTR   _IOR('x', 7, long)
41 #define FIOC_SETIATTR   _IOR('x', 8, long)
42
43 #else   /* _VX_INODE_H */
44 #warning duplicate inclusion
45 #endif  /* _VX_INODE_H */