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