@@ -54,6 +54,9 @@ pub type lgrp_lat_between_t = c_uint;
5454pub type lgrp_mem_size_flag_t = c_uint ;
5555pub type lgrp_view_t = c_uint ;
5656
57+ pub type posix_spawnattr_t = * mut c_void ;
58+ pub type posix_spawn_file_actions_t = * mut c_void ;
59+
5760#[ cfg_attr( feature = "extra_traits" , derive( Debug ) ) ]
5861pub enum timezone { }
5962impl Copy for timezone { }
@@ -1541,6 +1544,17 @@ pub const POSIX_MADV_SEQUENTIAL: c_int = 2;
15411544pub const POSIX_MADV_WILLNEED : c_int = 3 ;
15421545pub const POSIX_MADV_DONTNEED : c_int = 4 ;
15431546
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+
15441558pub const PTHREAD_CREATE_JOINABLE : c_int = 0 ;
15451559pub const PTHREAD_CREATE_DETACHED : c_int = 0x40 ;
15461560pub const PTHREAD_PROCESS_SHARED : c_int = 1 ;
@@ -2686,6 +2700,106 @@ extern "C" {
26862700 pub fn posix_fallocate ( fd : c_int , offset : off_t , len : off_t ) -> c_int ;
26872701 pub fn posix_madvise ( addr : * mut c_void , len : size_t , advice : c_int ) -> c_int ;
26882702
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+
26892803 pub fn shmat ( shmid : c_int , shmaddr : * const c_void , shmflg : c_int ) -> * mut c_void ;
26902804
26912805 pub fn shmctl ( shmid : c_int , cmd : c_int , buf : * mut crate :: shmid_ds ) -> c_int ;
0 commit comments