]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
sync with kernel, noop change for userspace.
authorNathan Scott <nathans@sgi.com>
Tue, 2 Jul 2002 03:56:51 +0000 (03:56 +0000)
committerNathan Scott <nathans@sgi.com>
Tue, 2 Jul 2002 03:56:51 +0000 (03:56 +0000)
include/xfs_cap.h
include/xfs_mac.h

index 9f3cd16f5d533480981295f68c65f47a6e633426..fb6455cffa93c6d3a4199f344f2cf517467b6ac7 100644 (file)
@@ -47,63 +47,73 @@ typedef struct xfs_cap_set {
 #define SGI_CAP_FILE   "SGI_CAP_FILE"
 #define SGI_CAP_FILE_SIZE      (sizeof(SGI_CAP_FILE)-1)
 
-/* On-disk bitfield values, as defined for us by IRIX */
-#define        XFS_CAP_CHOWN                   (0x01LL << 1)
-#define        XFS_CAP_DAC_WRITE               (0x01LL << 2)
-#define        XFS_CAP_DAC_READ_SEARCH         (0x01LL << 3)
-#define        XFS_CAP_FOWNER                  (0x01LL << 4)
-#define        XFS_CAP_DAC_OVERRIDE            \
-       (XFS_CAP_DAC_WRITE|XFS_CAP_DAC_READ_SEARCH|XFS_CAP_FOWNER)
-#define        XFS_CAP_FSETID                  (0x01LL << 5)
-#define        XFS_CAP_KILL                    (0x01LL << 6)
-#define        XFS_CAP_LINK_DIR                (0x01LL << 7)
-#define        XFS_CAP_SETFPRIV                (0x01LL << 8)
-#define XFS_CAP_SETFCAP                        XFS_CAP_SETFPRIV
-#define        XFS_CAP_SETPPRIV                (0x01LL << 9)
-#define XFS_CAP_SETPCAP                        XFS_CAP_SETPPRIV
-#define        XFS_CAP_SETGID                  (0x01LL << 10)
-#define        XFS_CAP_SETUID                  (0x01LL << 11)
-#define        XFS_CAP_MAC_DOWNGRADE           (0x01LL << 12)
-#define        XFS_CAP_MAC_READ                (0x01LL << 13)
-#define        XFS_CAP_MAC_RELABEL_SUBJ        (0x01LL << 14)
-#define        XFS_CAP_MAC_WRITE               (0x01LL << 15)
-#define        XFS_CAP_MAC_UPGRADE             (0x01LL << 16)
-#define        XFS_CAP_INF_NOFLOAT_OBJ         (0x01LL << 17)  /* Currently unused */
-#define        XFS_CAP_INF_NOFLOAT_SUBJ        (0x01LL << 18)  /* Currently unused */
-#define        XFS_CAP_INF_DOWNGRADE           (0x01LL << 19)  /* Currently unused */
-#define        XFS_CAP_INF_UPGRADE             (0x01LL << 20)  /* Currently unused */
-#define        XFS_CAP_INF_RELABEL_SUBJ        (0x01LL << 21)  /* Currently unused */
-#define        XFS_CAP_AUDIT_CONTROL           (0x01LL << 22)
-#define        XFS_CAP_AUDIT_WRITE             (0x01LL << 23)
-#define        XFS_CAP_MAC_MLD                 (0x01LL << 24)
-#define        XFS_CAP_MEMORY_MGT              (0x01LL << 25)
-#define        XFS_CAP_SWAP_MGT                (0x01LL << 26)
-#define        XFS_CAP_TIME_MGT                (0x01LL << 27)
-#define        XFS_CAP_SYSINFO_MGT             (0x01LL << 28)
-#define        XFS_CAP_NVRAM_MGT               XFS_CAP_SYSINFO_MGT
-#define        XFS_CAP_MOUNT_MGT               (0x01LL << 29)
-#define        XFS_CAP_QUOTA_MGT               (0x01LL << 30)
-#define        XFS_CAP_PRIV_PORT               (0x01LL << 31)
-#define        XFS_CAP_STREAMS_MGT             (0x01LL << 32)
-#define        XFS_CAP_SCHED_MGT               (0x01LL << 33)
-#define        XFS_CAP_PROC_MGT                (0x01LL << 34)
-#define        XFS_CAP_SVIPC_MGT               (0x01LL << 35)
-#define        XFS_CAP_NETWORK_MGT             (0x01LL << 36)
-#define        XFS_CAP_DEVICE_MGT              (0x01LL << 37)
-#define        XFS_CAP_MKNOD                   XFS_CAP_DEVICE_MGT
-#define        XFS_CAP_ACCT_MGT                (0x01LL << 38)
-#define        XFS_CAP_SHUTDOWN                (0x01LL << 39)
-#define        XFS_CAP_CHROOT                  (0x01LL << 40)
-#define        XFS_CAP_DAC_EXECUTE             (0x01LL << 41)
-#define        XFS_CAP_MAC_RELABEL_OPEN        (0x01LL << 42)
-#define        XFS_CAP_SIGMASK                 (0x01LL << 43)  /* Not implemented */
-#define        XFS_CAP_XTCB                    (0x01LL << 44)  /* X11 Trusted Client */
+/* On-disk bitfield positions, as defined for us by IRIX */
+#define        XFS_CAP_CHOWN                   1
+#define        XFS_CAP_DAC_WRITE               2
+#define        XFS_CAP_DAC_READ_SEARCH         3
+#define        XFS_CAP_FOWNER                  4
+#define        XFS_CAP_FSETID                  5
+#define        XFS_CAP_KILL                    6
+#define        XFS_CAP_LINK_DIR                7
+#define        XFS_CAP_SETFPRIV                8
+#define        XFS_CAP_SETPPRIV                9
+#define        XFS_CAP_SETGID                  10
+#define        XFS_CAP_SETUID                  11
+#define        XFS_CAP_MAC_DOWNGRADE           12
+#define        XFS_CAP_MAC_READ                13
+#define        XFS_CAP_MAC_RELABEL_SUBJ        14
+#define        XFS_CAP_MAC_WRITE               15
+#define        XFS_CAP_MAC_UPGRADE             16
+#define        XFS_CAP_INF_NOFLOAT_OBJ         17      /* Currently unused */
+#define        XFS_CAP_INF_NOFLOAT_SUBJ        18      /* Currently unused */
+#define        XFS_CAP_INF_DOWNGRADE           19      /* Currently unused */
+#define        XFS_CAP_INF_UPGRADE             20      /* Currently unused */
+#define        XFS_CAP_INF_RELABEL_SUBJ        21      /* Currently unused */
+#define        XFS_CAP_AUDIT_CONTROL           22
+#define        XFS_CAP_AUDIT_WRITE             23
+#define        XFS_CAP_MAC_MLD                 24
+#define        XFS_CAP_MEMORY_MGT              25
+#define        XFS_CAP_SWAP_MGT                26
+#define        XFS_CAP_TIME_MGT                27
+#define        XFS_CAP_SYSINFO_MGT             28
+#define        XFS_CAP_MOUNT_MGT               29
+#define        XFS_CAP_QUOTA_MGT               30
+#define        XFS_CAP_PRIV_PORT               31
+#define        XFS_CAP_STREAMS_MGT             32
+#define        XFS_CAP_SCHED_MGT               33
+#define        XFS_CAP_PROC_MGT                34
+#define        XFS_CAP_SVIPC_MGT               35
+#define        XFS_CAP_NETWORK_MGT             36
+#define        XFS_CAP_DEVICE_MGT              37
+#define        XFS_CAP_ACCT_MGT                38
+#define        XFS_CAP_SHUTDOWN                39
+#define        XFS_CAP_CHROOT                  40
+#define        XFS_CAP_DAC_EXECUTE             41
+#define        XFS_CAP_MAC_RELABEL_OPEN        42
+#define        XFS_CAP_SIGMASK                 43      /* Not implemented */
+#define        XFS_CAP_XTCB                    44      /* X11 Trusted Client */
 
 
 #ifdef __KERNEL__
 
-#ifdef CONFIG_POSIX_CAP
-/* NOT YET IMPLEMENTED */
+#ifdef CONFIG_FS_POSIX_CAP
+
+#include <linux/posix_cap_xattr.h>
+
+struct vnode;
+
+extern int xfs_cap_vhascap(struct vnode *);
+extern int xfs_cap_vset(struct vnode *, void *, size_t);
+extern int xfs_cap_vget(struct vnode *, void *, size_t);
+extern int xfs_cap_vremove(struct vnode *vp);
+
+#define _CAP_EXISTS            xfs_cap_vhascap
+
+#else
+#define xfs_cap_vset(v,p,sz)   (-ENOTSUP)
+#define xfs_cap_vget(v,p,sz)   (-ENOTSUP)
+#define xfs_cap_vremove(v)     (-ENOTSUP)
+#define _CAP_EXISTS            (NULL)
 #endif
 
 #endif /* __KERNEL__ */
index 813e8927d8a0bd78a731b59dcdcb472a2c224820..473fe3073e3585e10921ed5a7da0799d3eb90e78 100644 (file)
@@ -62,8 +62,8 @@
 typedef struct xfs_mac_label {
        __uint8_t       ml_msen_type;   /* MSEN label type */
        __uint8_t       ml_mint_type;   /* MINT label type */
-       __uint8_t       ml_level;       /* Hierarchical level  */
-       __uint8_t       ml_grade;       /* Hierarchical grade  */
+       __uint8_t       ml_level;       /* Hierarchical level */
+       __uint8_t       ml_grade;       /* Hierarchical grade */
        __uint16_t      ml_catcount;    /* Category count */
        __uint16_t      ml_divcount;    /* Division count */
                                        /* Category set, then Division set */
@@ -103,10 +103,12 @@ extern int  xfs_mac_iaccess(struct xfs_inode *, mode_t, cred_t *);
 
 #define _MAC_XFS_IACCESS(i,m,c) (xfs_mac_iaccess(i,m,c))
 #define _MAC_VACCESS(v,c,m)    (xfs_mac_vaccess(v,c,m))
+#define _MAC_EXISTS            xfs_mac_vhaslabel
 
 #else
 #define _MAC_XFS_IACCESS(i,m,c)        (0)
 #define _MAC_VACCESS(v,c,m)    (0)
+#define _MAC_EXISTS            (NULL)
 #endif
 
 #endif /* __KERNEL__ */