@@ -2618,6 +2618,129 @@ pub const LIO_VECTORED: ::c_int = 4;
26182618pub const LIO_WRITEV : :: c_int = 5 ;
26192619pub const LIO_READV : :: c_int = 6 ;
26202620
2621+ // sys/caprights.h
2622+ pub const CAP_RIGHTS_VERSION_00 : i32 = 0 ;
2623+ pub const CAP_RIGHTS_VERSION : i32 = CAP_RIGHTS_VERSION_00 ;
2624+
2625+ // sys/capsicum.h
2626+ macro_rules! cap_right {
2627+ ( $idx: expr, $bit: expr) => {
2628+ ( ( 1u64 << ( 57 + ( $idx) ) ) | ( $bit) )
2629+ } ;
2630+ }
2631+ pub const CAP_READ : u64 = cap_right ! ( 0 , 0x0000000000000001u64 ) ;
2632+ pub const CAP_WRITE : u64 = cap_right ! ( 0 , 0x0000000000000002u64 ) ;
2633+ pub const CAP_SEEK_TELL : u64 = cap_right ! ( 0 , 0x0000000000000004u64 ) ;
2634+ pub const CAP_SEEK : u64 = CAP_SEEK_TELL | 0x0000000000000008u64 ;
2635+ pub const CAP_PREAD : u64 = CAP_SEEK | CAP_READ ;
2636+ pub const CAP_PWRITE : u64 = CAP_SEEK | CAP_WRITE ;
2637+ pub const CAP_MMAP : u64 = cap_right ! ( 0 , 0x0000000000000010u64 ) ;
2638+ pub const CAP_MMAP_R : u64 = CAP_MMAP | CAP_SEEK | CAP_READ ;
2639+ pub const CAP_MMAP_W : u64 = CAP_MMAP | CAP_SEEK | CAP_WRITE ;
2640+ pub const CAP_MMAP_X : u64 = CAP_MMAP | CAP_SEEK | 0x0000000000000020u64 ;
2641+ pub const CAP_MMAP_RW : u64 = CAP_MMAP_R | CAP_MMAP_W ;
2642+ pub const CAP_MMAP_RX : u64 = CAP_MMAP_R | CAP_MMAP_X ;
2643+ pub const CAP_MMAP_WX : u64 = CAP_MMAP_W | CAP_MMAP_X ;
2644+ pub const CAP_MMAP_RWX : u64 = CAP_MMAP_R | CAP_MMAP_W | CAP_MMAP_X ;
2645+ pub const CAP_CREATE : u64 = cap_right ! ( 0 , 0x0000000000000040u64 ) ;
2646+ pub const CAP_FEXECVE : u64 = cap_right ! ( 0 , 0x0000000000000080u64 ) ;
2647+ pub const CAP_FSYNC : u64 = cap_right ! ( 0 , 0x0000000000000100u64 ) ;
2648+ pub const CAP_FTRUNCATE : u64 = cap_right ! ( 0 , 0x0000000000000200u64 ) ;
2649+ pub const CAP_LOOKUP : u64 = cap_right ! ( 0 , 0x0000000000000400u64 ) ;
2650+ pub const CAP_FCHDIR : u64 = cap_right ! ( 0 , 0x0000000000000800u64 ) ;
2651+ pub const CAP_FCHFLAGS : u64 = cap_right ! ( 0 , 0x0000000000001000u64 ) ;
2652+ pub const CAP_CHFLAGSAT : u64 = CAP_FCHFLAGS | CAP_LOOKUP ;
2653+ pub const CAP_FCHMOD : u64 = cap_right ! ( 0 , 0x0000000000002000u64 ) ;
2654+ pub const CAP_FCHMODAT : u64 = CAP_FCHMOD | CAP_LOOKUP ;
2655+ pub const CAP_FCHOWN : u64 = cap_right ! ( 0 , 0x0000000000004000u64 ) ;
2656+ pub const CAP_FCHOWNAT : u64 = CAP_FCHOWN | CAP_LOOKUP ;
2657+ pub const CAP_FCNTL : u64 = cap_right ! ( 0 , 0x0000000000008000u64 ) ;
2658+ pub const CAP_FLOCK : u64 = cap_right ! ( 0 , 0x0000000000010000u64 ) ;
2659+ pub const CAP_FPATHCONF : u64 = cap_right ! ( 0 , 0x0000000000020000u64 ) ;
2660+ pub const CAP_FSCK : u64 = cap_right ! ( 0 , 0x0000000000040000u64 ) ;
2661+ pub const CAP_FSTAT : u64 = cap_right ! ( 0 , 0x0000000000080000u64 ) ;
2662+ pub const CAP_FSTATAT : u64 = CAP_FSTAT | CAP_LOOKUP ;
2663+ pub const CAP_FSTATFS : u64 = cap_right ! ( 0 , 0x0000000000100000u64 ) ;
2664+ pub const CAP_FUTIMES : u64 = cap_right ! ( 0 , 0x0000000000200000u64 ) ;
2665+ pub const CAP_FUTIMESAT : u64 = CAP_FUTIMES | CAP_LOOKUP ;
2666+ // Note: this was named CAP_LINKAT prior to FreeBSD 11.0.
2667+ pub const CAP_LINKAT_TARGET : u64 = CAP_LOOKUP | 0x0000000000400000u64 ;
2668+ pub const CAP_MKDIRAT : u64 = CAP_LOOKUP | 0x0000000000800000u64 ;
2669+ pub const CAP_MKFIFOAT : u64 = CAP_LOOKUP | 0x0000000001000000u64 ;
2670+ pub const CAP_MKNODAT : u64 = CAP_LOOKUP | 0x0000000002000000u64 ;
2671+ // Note: this was named CAP_RENAMEAT prior to FreeBSD 11.0.
2672+ pub const CAP_RENAMEAT_SOURCE : u64 = CAP_LOOKUP | 0x0000000004000000u64 ;
2673+ pub const CAP_SYMLINKAT : u64 = CAP_LOOKUP | 0x0000000008000000u64 ;
2674+ pub const CAP_UNLINKAT : u64 = CAP_LOOKUP | 0x0000000010000000u64 ;
2675+ pub const CAP_ACCEPT : u64 = cap_right ! ( 0 , 0x0000000020000000u64 ) ;
2676+ pub const CAP_BIND : u64 = cap_right ! ( 0 , 0x0000000040000000u64 ) ;
2677+ pub const CAP_CONNECT : u64 = cap_right ! ( 0 , 0x0000000080000000u64 ) ;
2678+ pub const CAP_GETPEERNAME : u64 = cap_right ! ( 0 , 0x0000000100000000u64 ) ;
2679+ pub const CAP_GETSOCKNAME : u64 = cap_right ! ( 0 , 0x0000000200000000u64 ) ;
2680+ pub const CAP_GETSOCKOPT : u64 = cap_right ! ( 0 , 0x0000000400000000u64 ) ;
2681+ pub const CAP_LISTEN : u64 = cap_right ! ( 0 , 0x0000000800000000u64 ) ;
2682+ pub const CAP_PEELOFF : u64 = cap_right ! ( 0 , 0x0000001000000000u64 ) ;
2683+ pub const CAP_RECV : u64 = CAP_READ ;
2684+ pub const CAP_SEND : u64 = CAP_WRITE ;
2685+ pub const CAP_SETSOCKOPT : u64 = cap_right ! ( 0 , 0x0000002000000000u64 ) ;
2686+ pub const CAP_SHUTDOWN : u64 = cap_right ! ( 0 , 0x0000004000000000u64 ) ;
2687+ pub const CAP_BINDAT : u64 = CAP_LOOKUP | 0x0000008000000000u64 ;
2688+ pub const CAP_CONNECTAT : u64 = CAP_LOOKUP | 0x0000010000000000u64 ;
2689+ pub const CAP_LINKAT_SOURCE : u64 = CAP_LOOKUP | 0x0000020000000000u64 ;
2690+ pub const CAP_RENAMEAT_TARGET : u64 = CAP_LOOKUP | 0x0000040000000000u64 ;
2691+ pub const CAP_SOCK_CLIENT : u64 = CAP_CONNECT
2692+ | CAP_GETPEERNAME
2693+ | CAP_GETSOCKNAME
2694+ | CAP_GETSOCKOPT
2695+ | CAP_PEELOFF
2696+ | CAP_RECV
2697+ | CAP_SEND
2698+ | CAP_SETSOCKOPT
2699+ | CAP_SHUTDOWN ;
2700+ pub const CAP_SOCK_SERVER : u64 = CAP_ACCEPT
2701+ | CAP_BIND
2702+ | CAP_GETPEERNAME
2703+ | CAP_GETSOCKNAME
2704+ | CAP_GETSOCKOPT
2705+ | CAP_LISTEN
2706+ | CAP_PEELOFF
2707+ | CAP_RECV
2708+ | CAP_SEND
2709+ | CAP_SETSOCKOPT
2710+ | CAP_SHUTDOWN ;
2711+ pub const CAP_ALL0 : u64 = cap_right ! ( 0 , 0x000007FFFFFFFFFFu64 ) ;
2712+ pub const CAP_UNUSED0_44 : u64 = cap_right ! ( 0 , 0x0000080000000000u64 ) ;
2713+ pub const CAP_UNUSED0_57 : u64 = cap_right ! ( 0 , 0x0100000000000000u64 ) ;
2714+ pub const CAP_MAC_GET : u64 = cap_right ! ( 1 , 0x0000000000000001u64 ) ;
2715+ pub const CAP_MAC_SET : u64 = cap_right ! ( 1 , 0x0000000000000002u64 ) ;
2716+ pub const CAP_SEM_GETVALUE : u64 = cap_right ! ( 1 , 0x0000000000000004u64 ) ;
2717+ pub const CAP_SEM_POST : u64 = cap_right ! ( 1 , 0x0000000000000008u64 ) ;
2718+ pub const CAP_SEM_WAIT : u64 = cap_right ! ( 1 , 0x0000000000000010u64 ) ;
2719+ pub const CAP_EVENT : u64 = cap_right ! ( 1 , 0x0000000000000020u64 ) ;
2720+ pub const CAP_KQUEUE_EVENT : u64 = cap_right ! ( 1 , 0x0000000000000040u64 ) ;
2721+ pub const CAP_IOCTL : u64 = cap_right ! ( 1 , 0x0000000000000080u64 ) ;
2722+ pub const CAP_TTYHOOK : u64 = cap_right ! ( 1 , 0x0000000000000100u64 ) ;
2723+ pub const CAP_PDGETPID : u64 = cap_right ! ( 1 , 0x0000000000000200u64 ) ;
2724+ pub const CAP_PDWAIT : u64 = cap_right ! ( 1 , 0x0000000000000400u64 ) ;
2725+ pub const CAP_PDKILL : u64 = cap_right ! ( 1 , 0x0000000000000800u64 ) ;
2726+ pub const CAP_EXTATTR_DELETE : u64 = cap_right ! ( 1 , 0x0000000000001000u64 ) ;
2727+ pub const CAP_EXTATTR_GET : u64 = cap_right ! ( 1 , 0x0000000000002000u64 ) ;
2728+ pub const CAP_EXTATTR_LIST : u64 = cap_right ! ( 1 , 0x0000000000004000u64 ) ;
2729+ pub const CAP_EXTATTR_SET : u64 = cap_right ! ( 1 , 0x0000000000008000u64 ) ;
2730+ pub const CAP_ACL_CHECK : u64 = cap_right ! ( 1 , 0x0000000000010000u64 ) ;
2731+ pub const CAP_ACL_DELETE : u64 = cap_right ! ( 1 , 0x0000000000020000u64 ) ;
2732+ pub const CAP_ACL_GET : u64 = cap_right ! ( 1 , 0x0000000000040000u64 ) ;
2733+ pub const CAP_ACL_SET : u64 = cap_right ! ( 1 , 0x0000000000080000u64 ) ;
2734+ pub const CAP_KQUEUE_CHANGE : u64 = cap_right ! ( 1 , 0x0000000000100000u64 ) ;
2735+ pub const CAP_KQUEUE : u64 = CAP_KQUEUE_EVENT | CAP_KQUEUE_CHANGE ;
2736+ pub const CAP_ALL1 : u64 = cap_right ! ( 1 , 0x00000000001FFFFFu64 ) ;
2737+ pub const CAP_UNUSED1_22 : u64 = cap_right ! ( 1 , 0x0000000000200000u64 ) ;
2738+ pub const CAP_UNUSED1_57 : u64 = cap_right ! ( 1 , 0x0100000000000000u64 ) ;
2739+ pub const CAP_FCNTL_GETFL : u32 = 1 << 3 ;
2740+ pub const CAP_FCNTL_SETFL : u32 = 1 << 4 ;
2741+ pub const CAP_FCNTL_GETOWN : u32 = 1 << 5 ;
2742+ pub const CAP_FCNTL_SETOWN : u32 = 1 << 6 ;
2743+
26212744// sys/devicestat.h
26222745pub const DEVSTAT_N_TRANS_FLAGS : :: c_int = 4 ;
26232746pub const DEVSTAT_NAME_LEN : :: c_int = 16 ;
0 commit comments