@@ -56,6 +56,9 @@ pub type lgrp_lat_between_t = c_uint;
56
56
pub type lgrp_mem_size_flag_t = c_uint ;
57
57
pub type lgrp_view_t = c_uint ;
58
58
59
+ pub type posix_spawnattr_t = * mut c_void ;
60
+ pub type posix_spawn_file_actions_t = * mut c_void ;
61
+
59
62
#[ cfg_attr( feature = "extra_traits" , derive( Debug ) ) ]
60
63
pub enum timezone { }
61
64
impl Copy for timezone { }
@@ -1543,6 +1546,17 @@ pub const POSIX_MADV_SEQUENTIAL: c_int = 2;
1543
1546
pub const POSIX_MADV_WILLNEED : c_int = 3 ;
1544
1547
pub const POSIX_MADV_DONTNEED : c_int = 4 ;
1545
1548
1549
+ pub const POSIX_SPAWN_RESETIDS : c_short = 0x1 ;
1550
+ pub const POSIX_SPAWN_SETPGROUP : c_short = 0x2 ;
1551
+ pub const POSIX_SPAWN_SETSIGDEF : c_short = 0x4 ;
1552
+ pub const POSIX_SPAWN_SETSIGMASK : c_short = 0x8 ;
1553
+ pub const POSIX_SPAWN_SETSCHEDPARAM : c_short = 0x10 ;
1554
+ pub const POSIX_SPAWN_SETSCHEDULER : c_short = 0x20 ;
1555
+ pub const POSIX_SPAWN_SETSIGIGN_NP : c_short = 0x800 ;
1556
+ pub const POSIX_SPAWN_NOSIGCHLD_NP : c_short = 0x1000 ;
1557
+ pub const POSIX_SPAWN_WAITPID_NP : c_short = 0x2000 ;
1558
+ pub const POSIX_SPAWN_NOEXECERR_NP : c_short = 0x4000 ;
1559
+
1546
1560
pub const PTHREAD_CREATE_JOINABLE : c_int = 0 ;
1547
1561
pub const PTHREAD_CREATE_DETACHED : c_int = 0x40 ;
1548
1562
pub const PTHREAD_PROCESS_SHARED : c_int = 1 ;
@@ -2688,6 +2702,106 @@ extern "C" {
2688
2702
pub fn posix_fallocate ( fd : c_int , offset : off_t , len : off_t ) -> c_int ;
2689
2703
pub fn posix_madvise ( addr : * mut c_void , len : size_t , advice : c_int ) -> c_int ;
2690
2704
2705
+ pub fn posix_spawn (
2706
+ pid : * mut crate :: pid_t ,
2707
+ path : * const c_char ,
2708
+ file_actions : * const posix_spawn_file_actions_t ,
2709
+ attrp : * const posix_spawnattr_t ,
2710
+ argv : * const * mut c_char ,
2711
+ envp : * const * mut c_char ,
2712
+ ) -> c_int ;
2713
+ pub fn posix_spawnp (
2714
+ pid : * mut crate :: pid_t ,
2715
+ file : * const c_char ,
2716
+ file_actions : * const posix_spawn_file_actions_t ,
2717
+ attrp : * const posix_spawnattr_t ,
2718
+ argv : * const * mut c_char ,
2719
+ envp : * const * mut c_char ,
2720
+ ) -> c_int ;
2721
+
2722
+ pub fn posix_spawn_file_actions_init ( file_actions : * mut posix_spawn_file_actions_t ) -> c_int ;
2723
+ pub fn posix_spawn_file_actions_destroy ( file_actions : * mut posix_spawn_file_actions_t )
2724
+ -> c_int ;
2725
+ pub fn posix_spawn_file_actions_addopen (
2726
+ file_actions : * mut posix_spawn_file_actions_t ,
2727
+ fildes : c_int ,
2728
+ path : * const c_char ,
2729
+ oflag : c_int ,
2730
+ mode : crate :: mode_t ,
2731
+ ) -> c_int ;
2732
+ pub fn posix_spawn_file_actions_addclose (
2733
+ file_actions : * mut posix_spawn_file_actions_t ,
2734
+ fildes : c_int ,
2735
+ ) -> c_int ;
2736
+ pub fn posix_spawn_file_actions_adddup2 (
2737
+ file_actions : * mut posix_spawn_file_actions_t ,
2738
+ fildes : c_int ,
2739
+ newfildes : c_int ,
2740
+ ) -> c_int ;
2741
+ pub fn posix_spawn_file_actions_addclosefrom_np (
2742
+ file_actions : * mut posix_spawn_file_actions_t ,
2743
+ lowfiledes : c_int ,
2744
+ ) -> c_int ;
2745
+ pub fn posix_spawn_file_actions_addchdir (
2746
+ file_actions : * mut posix_spawn_file_actions_t ,
2747
+ path : * const c_char ,
2748
+ ) -> c_int ;
2749
+ pub fn posix_spawn_file_actions_addchdir_np (
2750
+ file_actions : * mut posix_spawn_file_actions_t ,
2751
+ path : * const c_char ,
2752
+ ) -> c_int ;
2753
+ pub fn posix_spawn_file_actions_addfchdir (
2754
+ file_actions : * mut posix_spawn_file_actions_t ,
2755
+ fd : c_int ,
2756
+ ) -> c_int ;
2757
+
2758
+ pub fn posix_spawnattr_init ( attr : * mut posix_spawnattr_t ) -> c_int ;
2759
+ pub fn posix_spawnattr_destroy ( attr : * mut posix_spawnattr_t ) -> c_int ;
2760
+ pub fn posix_spawnattr_setflags ( attr : * mut posix_spawnattr_t , flags : c_short ) -> c_int ;
2761
+ pub fn posix_spawnattr_getflags ( attr : * const posix_spawnattr_t , flags : * mut c_short ) -> c_int ;
2762
+ pub fn posix_spawnattr_setpgroup ( attr : * mut posix_spawnattr_t , pgroup : crate :: pid_t ) -> c_int ;
2763
+ pub fn posix_spawnattr_getpgroup (
2764
+ attr : * const posix_spawnattr_t ,
2765
+ _pgroup : * mut crate :: pid_t ,
2766
+ ) -> c_int ;
2767
+ pub fn posix_spawnattr_setschedparam (
2768
+ attr : * mut posix_spawnattr_t ,
2769
+ param : * const crate :: sched_param ,
2770
+ ) -> c_int ;
2771
+ pub fn posix_spawnattr_getschedparam (
2772
+ attr : * const posix_spawnattr_t ,
2773
+ param : * mut crate :: sched_param ,
2774
+ ) -> c_int ;
2775
+ pub fn posix_spawnattr_setschedpolicy ( attr : * mut posix_spawnattr_t , policy : c_int ) -> c_int ;
2776
+ pub fn posix_spawnattr_getschedpolicy (
2777
+ attr : * const posix_spawnattr_t ,
2778
+ _policy : * mut c_int ,
2779
+ ) -> c_int ;
2780
+ pub fn posix_spawnattr_setsigdefault (
2781
+ attr : * mut posix_spawnattr_t ,
2782
+ sigdefault : * const sigset_t ,
2783
+ ) -> c_int ;
2784
+ pub fn posix_spawnattr_getsigdefault (
2785
+ attr : * const posix_spawnattr_t ,
2786
+ sigdefault : * mut sigset_t ,
2787
+ ) -> c_int ;
2788
+ pub fn posix_spawnattr_setsigignore_np (
2789
+ attr : * mut posix_spawnattr_t ,
2790
+ sigignore : * const sigset_t ,
2791
+ ) -> c_int ;
2792
+ pub fn posix_spawnattr_getsigignore_np (
2793
+ attr : * const posix_spawnattr_t ,
2794
+ sigignore : * mut sigset_t ,
2795
+ ) -> c_int ;
2796
+ pub fn posix_spawnattr_setsigmask (
2797
+ attr : * mut posix_spawnattr_t ,
2798
+ sigmask : * const sigset_t ,
2799
+ ) -> c_int ;
2800
+ pub fn posix_spawnattr_getsigmask (
2801
+ attr : * const posix_spawnattr_t ,
2802
+ sigmask : * mut sigset_t ,
2803
+ ) -> c_int ;
2804
+
2691
2805
pub fn shmat ( shmid : c_int , shmaddr : * const c_void , shmflg : c_int ) -> * mut c_void ;
2692
2806
2693
2807
pub fn shmctl ( shmid : c_int , cmd : c_int , buf : * mut crate :: shmid_ds ) -> c_int ;
0 commit comments