@@ -2546,6 +2546,129 @@ pub const LIO_VECTORED: ::c_int = 4;
25462546pub const LIO_WRITEV : :: c_int = 5 ;
25472547pub const LIO_READV : :: c_int = 6 ;
25482548
2549+ // sys/caprights.h
2550+ pub const CAP_RIGHTS_VERSION_00 : i32 = 0 ;
2551+ pub const CAP_RIGHTS_VERSION : i32 = CAP_RIGHTS_VERSION_00 ;
2552+
2553+ // sys/capsicum.h
2554+ macro_rules! cap_right {
2555+ ( $idx: expr, $bit: expr) => {
2556+ ( ( 1u64 << ( 57 + ( $idx) ) ) | ( $bit) )
2557+ } ;
2558+ }
2559+ pub const CAP_READ : u64 = cap_right ! ( 0 , 0x0000000000000001u64 ) ;
2560+ pub const CAP_WRITE : u64 = cap_right ! ( 0 , 0x0000000000000002u64 ) ;
2561+ pub const CAP_SEEK_TELL : u64 = cap_right ! ( 0 , 0x0000000000000004u64 ) ;
2562+ pub const CAP_SEEK : u64 = CAP_SEEK_TELL | 0x0000000000000008u64 ;
2563+ pub const CAP_PREAD : u64 = CAP_SEEK | CAP_READ ;
2564+ pub const CAP_PWRITE : u64 = CAP_SEEK | CAP_WRITE ;
2565+ pub const CAP_MMAP : u64 = cap_right ! ( 0 , 0x0000000000000010u64 ) ;
2566+ pub const CAP_MMAP_R : u64 = CAP_MMAP | CAP_SEEK | CAP_READ ;
2567+ pub const CAP_MMAP_W : u64 = CAP_MMAP | CAP_SEEK | CAP_WRITE ;
2568+ pub const CAP_MMAP_X : u64 = CAP_MMAP | CAP_SEEK | 0x0000000000000020u64 ;
2569+ pub const CAP_MMAP_RW : u64 = CAP_MMAP_R | CAP_MMAP_W ;
2570+ pub const CAP_MMAP_RX : u64 = CAP_MMAP_R | CAP_MMAP_X ;
2571+ pub const CAP_MMAP_WX : u64 = CAP_MMAP_W | CAP_MMAP_X ;
2572+ pub const CAP_MMAP_RWX : u64 = CAP_MMAP_R | CAP_MMAP_W | CAP_MMAP_X ;
2573+ pub const CAP_CREATE : u64 = cap_right ! ( 0 , 0x0000000000000040u64 ) ;
2574+ pub const CAP_FEXECVE : u64 = cap_right ! ( 0 , 0x0000000000000080u64 ) ;
2575+ pub const CAP_FSYNC : u64 = cap_right ! ( 0 , 0x0000000000000100u64 ) ;
2576+ pub const CAP_FTRUNCATE : u64 = cap_right ! ( 0 , 0x0000000000000200u64 ) ;
2577+ pub const CAP_LOOKUP : u64 = cap_right ! ( 0 , 0x0000000000000400u64 ) ;
2578+ pub const CAP_FCHDIR : u64 = cap_right ! ( 0 , 0x0000000000000800u64 ) ;
2579+ pub const CAP_FCHFLAGS : u64 = cap_right ! ( 0 , 0x0000000000001000u64 ) ;
2580+ pub const CAP_CHFLAGSAT : u64 = CAP_FCHFLAGS | CAP_LOOKUP ;
2581+ pub const CAP_FCHMOD : u64 = cap_right ! ( 0 , 0x0000000000002000u64 ) ;
2582+ pub const CAP_FCHMODAT : u64 = CAP_FCHMOD | CAP_LOOKUP ;
2583+ pub const CAP_FCHOWN : u64 = cap_right ! ( 0 , 0x0000000000004000u64 ) ;
2584+ pub const CAP_FCHOWNAT : u64 = CAP_FCHOWN | CAP_LOOKUP ;
2585+ pub const CAP_FCNTL : u64 = cap_right ! ( 0 , 0x0000000000008000u64 ) ;
2586+ pub const CAP_FLOCK : u64 = cap_right ! ( 0 , 0x0000000000010000u64 ) ;
2587+ pub const CAP_FPATHCONF : u64 = cap_right ! ( 0 , 0x0000000000020000u64 ) ;
2588+ pub const CAP_FSCK : u64 = cap_right ! ( 0 , 0x0000000000040000u64 ) ;
2589+ pub const CAP_FSTAT : u64 = cap_right ! ( 0 , 0x0000000000080000u64 ) ;
2590+ pub const CAP_FSTATAT : u64 = CAP_FSTAT | CAP_LOOKUP ;
2591+ pub const CAP_FSTATFS : u64 = cap_right ! ( 0 , 0x0000000000100000u64 ) ;
2592+ pub const CAP_FUTIMES : u64 = cap_right ! ( 0 , 0x0000000000200000u64 ) ;
2593+ pub const CAP_FUTIMESAT : u64 = CAP_FUTIMES | CAP_LOOKUP ;
2594+ // Note: this was named CAP_LINKAT prior to FreeBSD 11.0.
2595+ pub const CAP_LINKAT_TARGET : u64 = CAP_LOOKUP | 0x0000000000400000u64 ;
2596+ pub const CAP_MKDIRAT : u64 = CAP_LOOKUP | 0x0000000000800000u64 ;
2597+ pub const CAP_MKFIFOAT : u64 = CAP_LOOKUP | 0x0000000001000000u64 ;
2598+ pub const CAP_MKNODAT : u64 = CAP_LOOKUP | 0x0000000002000000u64 ;
2599+ // Note: this was named CAP_RENAMEAT prior to FreeBSD 11.0.
2600+ pub const CAP_RENAMEAT_SOURCE : u64 = CAP_LOOKUP | 0x0000000004000000u64 ;
2601+ pub const CAP_SYMLINKAT : u64 = CAP_LOOKUP | 0x0000000008000000u64 ;
2602+ pub const CAP_UNLINKAT : u64 = CAP_LOOKUP | 0x0000000010000000u64 ;
2603+ pub const CAP_ACCEPT : u64 = cap_right ! ( 0 , 0x0000000020000000u64 ) ;
2604+ pub const CAP_BIND : u64 = cap_right ! ( 0 , 0x0000000040000000u64 ) ;
2605+ pub const CAP_CONNECT : u64 = cap_right ! ( 0 , 0x0000000080000000u64 ) ;
2606+ pub const CAP_GETPEERNAME : u64 = cap_right ! ( 0 , 0x0000000100000000u64 ) ;
2607+ pub const CAP_GETSOCKNAME : u64 = cap_right ! ( 0 , 0x0000000200000000u64 ) ;
2608+ pub const CAP_GETSOCKOPT : u64 = cap_right ! ( 0 , 0x0000000400000000u64 ) ;
2609+ pub const CAP_LISTEN : u64 = cap_right ! ( 0 , 0x0000000800000000u64 ) ;
2610+ pub const CAP_PEELOFF : u64 = cap_right ! ( 0 , 0x0000001000000000u64 ) ;
2611+ pub const CAP_RECV : u64 = CAP_READ ;
2612+ pub const CAP_SEND : u64 = CAP_WRITE ;
2613+ pub const CAP_SETSOCKOPT : u64 = cap_right ! ( 0 , 0x0000002000000000u64 ) ;
2614+ pub const CAP_SHUTDOWN : u64 = cap_right ! ( 0 , 0x0000004000000000u64 ) ;
2615+ pub const CAP_BINDAT : u64 = CAP_LOOKUP | 0x0000008000000000u64 ;
2616+ pub const CAP_CONNECTAT : u64 = CAP_LOOKUP | 0x0000010000000000u64 ;
2617+ pub const CAP_LINKAT_SOURCE : u64 = CAP_LOOKUP | 0x0000020000000000u64 ;
2618+ pub const CAP_RENAMEAT_TARGET : u64 = CAP_LOOKUP | 0x0000040000000000u64 ;
2619+ pub const CAP_SOCK_CLIENT : u64 = CAP_CONNECT
2620+ | CAP_GETPEERNAME
2621+ | CAP_GETSOCKNAME
2622+ | CAP_GETSOCKOPT
2623+ | CAP_PEELOFF
2624+ | CAP_RECV
2625+ | CAP_SEND
2626+ | CAP_SETSOCKOPT
2627+ | CAP_SHUTDOWN ;
2628+ pub const CAP_SOCK_SERVER : u64 = CAP_ACCEPT
2629+ | CAP_BIND
2630+ | CAP_GETPEERNAME
2631+ | CAP_GETSOCKNAME
2632+ | CAP_GETSOCKOPT
2633+ | CAP_LISTEN
2634+ | CAP_PEELOFF
2635+ | CAP_RECV
2636+ | CAP_SEND
2637+ | CAP_SETSOCKOPT
2638+ | CAP_SHUTDOWN ;
2639+ pub const CAP_ALL0 : u64 = cap_right ! ( 0 , 0x000007FFFFFFFFFFu64 ) ;
2640+ pub const CAP_UNUSED0_44 : u64 = cap_right ! ( 0 , 0x0000080000000000u64 ) ;
2641+ pub const CAP_UNUSED0_57 : u64 = cap_right ! ( 0 , 0x0100000000000000u64 ) ;
2642+ pub const CAP_MAC_GET : u64 = cap_right ! ( 1 , 0x0000000000000001u64 ) ;
2643+ pub const CAP_MAC_SET : u64 = cap_right ! ( 1 , 0x0000000000000002u64 ) ;
2644+ pub const CAP_SEM_GETVALUE : u64 = cap_right ! ( 1 , 0x0000000000000004u64 ) ;
2645+ pub const CAP_SEM_POST : u64 = cap_right ! ( 1 , 0x0000000000000008u64 ) ;
2646+ pub const CAP_SEM_WAIT : u64 = cap_right ! ( 1 , 0x0000000000000010u64 ) ;
2647+ pub const CAP_EVENT : u64 = cap_right ! ( 1 , 0x0000000000000020u64 ) ;
2648+ pub const CAP_KQUEUE_EVENT : u64 = cap_right ! ( 1 , 0x0000000000000040u64 ) ;
2649+ pub const CAP_IOCTL : u64 = cap_right ! ( 1 , 0x0000000000000080u64 ) ;
2650+ pub const CAP_TTYHOOK : u64 = cap_right ! ( 1 , 0x0000000000000100u64 ) ;
2651+ pub const CAP_PDGETPID : u64 = cap_right ! ( 1 , 0x0000000000000200u64 ) ;
2652+ pub const CAP_PDWAIT : u64 = cap_right ! ( 1 , 0x0000000000000400u64 ) ;
2653+ pub const CAP_PDKILL : u64 = cap_right ! ( 1 , 0x0000000000000800u64 ) ;
2654+ pub const CAP_EXTATTR_DELETE : u64 = cap_right ! ( 1 , 0x0000000000001000u64 ) ;
2655+ pub const CAP_EXTATTR_GET : u64 = cap_right ! ( 1 , 0x0000000000002000u64 ) ;
2656+ pub const CAP_EXTATTR_LIST : u64 = cap_right ! ( 1 , 0x0000000000004000u64 ) ;
2657+ pub const CAP_EXTATTR_SET : u64 = cap_right ! ( 1 , 0x0000000000008000u64 ) ;
2658+ pub const CAP_ACL_CHECK : u64 = cap_right ! ( 1 , 0x0000000000010000u64 ) ;
2659+ pub const CAP_ACL_DELETE : u64 = cap_right ! ( 1 , 0x0000000000020000u64 ) ;
2660+ pub const CAP_ACL_GET : u64 = cap_right ! ( 1 , 0x0000000000040000u64 ) ;
2661+ pub const CAP_ACL_SET : u64 = cap_right ! ( 1 , 0x0000000000080000u64 ) ;
2662+ pub const CAP_KQUEUE_CHANGE : u64 = cap_right ! ( 1 , 0x0000000000100000u64 ) ;
2663+ pub const CAP_KQUEUE : u64 = CAP_KQUEUE_EVENT | CAP_KQUEUE_CHANGE ;
2664+ pub const CAP_ALL1 : u64 = cap_right ! ( 1 , 0x00000000001FFFFFu64 ) ;
2665+ pub const CAP_UNUSED1_22 : u64 = cap_right ! ( 1 , 0x0000000000200000u64 ) ;
2666+ pub const CAP_UNUSED1_57 : u64 = cap_right ! ( 1 , 0x0100000000000000u64 ) ;
2667+ pub const CAP_FCNTL_GETFL : u32 = 1 << 3 ;
2668+ pub const CAP_FCNTL_SETFL : u32 = 1 << 4 ;
2669+ pub const CAP_FCNTL_GETOWN : u32 = 1 << 5 ;
2670+ pub const CAP_FCNTL_SETOWN : u32 = 1 << 6 ;
2671+
25492672// sys/devicestat.h
25502673pub const DEVSTAT_N_TRANS_FLAGS : :: c_int = 4 ;
25512674pub const DEVSTAT_NAME_LEN : :: c_int = 16 ;
0 commit comments