@@ -56,6 +56,9 @@ pub type lgrp_lat_between_t = c_uint;
5656pub type lgrp_mem_size_flag_t = c_uint ;
5757pub type lgrp_view_t = c_uint ;
5858
59+ pub type posix_spawnattr_t = * mut c_void ;
60+ pub type posix_spawn_file_actions_t = * mut c_void ;
61+
5962#[ cfg_attr( feature = "extra_traits" , derive( Debug ) ) ]
6063pub enum timezone { }
6164impl Copy for timezone { }
@@ -1543,6 +1546,17 @@ pub const POSIX_MADV_SEQUENTIAL: c_int = 2;
15431546pub const POSIX_MADV_WILLNEED : c_int = 3 ;
15441547pub const POSIX_MADV_DONTNEED : c_int = 4 ;
15451548
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+
15461560pub const PTHREAD_CREATE_JOINABLE : c_int = 0 ;
15471561pub const PTHREAD_CREATE_DETACHED : c_int = 0x40 ;
15481562pub const PTHREAD_PROCESS_SHARED : c_int = 1 ;
@@ -2688,6 +2702,106 @@ extern "C" {
26882702 pub fn posix_fallocate ( fd : c_int , offset : off_t , len : off_t ) -> c_int ;
26892703 pub fn posix_madvise ( addr : * mut c_void , len : size_t , advice : c_int ) -> c_int ;
26902704
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+
26912805 pub fn shmat ( shmid : c_int , shmaddr : * const c_void , shmflg : c_int ) -> * mut c_void ;
26922806
26932807 pub fn shmctl ( shmid : c_int , cmd : c_int , buf : * mut crate :: shmid_ds ) -> c_int ;
0 commit comments