1*ac2250cbSAndy Fiddaman /* 2*ac2250cbSAndy Fiddaman * CDDL HEADER START 3*ac2250cbSAndy Fiddaman * 4*ac2250cbSAndy Fiddaman * The contents of this file are subject to the terms of the 5*ac2250cbSAndy Fiddaman * Common Development and Distribution License (the "License"). 6*ac2250cbSAndy Fiddaman * You may not use this file except in compliance with the License. 7*ac2250cbSAndy Fiddaman * 8*ac2250cbSAndy Fiddaman * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*ac2250cbSAndy Fiddaman * or http://www.opensolaris.org/os/licensing. 10*ac2250cbSAndy Fiddaman * See the License for the specific language governing permissions 11*ac2250cbSAndy Fiddaman * and limitations under the License. 12*ac2250cbSAndy Fiddaman * 13*ac2250cbSAndy Fiddaman * When distributing Covered Code, include this CDDL HEADER in each 14*ac2250cbSAndy Fiddaman * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*ac2250cbSAndy Fiddaman * If applicable, add the following below this CDDL HEADER, with the 16*ac2250cbSAndy Fiddaman * fields enclosed by brackets "[]" replaced with your own identifying 17*ac2250cbSAndy Fiddaman * information: Portions Copyright [yyyy] [name of copyright owner] 18*ac2250cbSAndy Fiddaman * 19*ac2250cbSAndy Fiddaman * CDDL HEADER END 20*ac2250cbSAndy Fiddaman */ 21*ac2250cbSAndy Fiddaman 22*ac2250cbSAndy Fiddaman /* 23*ac2250cbSAndy Fiddaman * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24*ac2250cbSAndy Fiddaman * Use is subject to license terms. 25*ac2250cbSAndy Fiddaman */ 26*ac2250cbSAndy Fiddaman 27*ac2250cbSAndy Fiddaman /* 28*ac2250cbSAndy Fiddaman * Copyright 2026 Oxide Computer Company 29*ac2250cbSAndy Fiddaman */ 30*ac2250cbSAndy Fiddaman 31*ac2250cbSAndy Fiddaman #ifndef _SYS_SPAWN_H 32*ac2250cbSAndy Fiddaman #define _SYS_SPAWN_H 33*ac2250cbSAndy Fiddaman 34*ac2250cbSAndy Fiddaman /* 35*ac2250cbSAndy Fiddaman * Public, application-visible definitions for the posix_spawn(3C) family 36*ac2250cbSAndy Fiddaman * that the kernel must also see. They are exposed to applications through 37*ac2250cbSAndy Fiddaman * <spawn.h> and are consumed by the private spawn(2) system call that libc 38*ac2250cbSAndy Fiddaman * uses to implement the family, so they sit in their own header that both 39*ac2250cbSAndy Fiddaman * can include. The private libc/kernel marshalling contract lives in 40*ac2250cbSAndy Fiddaman * <sys/spawn_impl.h>. 41*ac2250cbSAndy Fiddaman */ 42*ac2250cbSAndy Fiddaman 43*ac2250cbSAndy Fiddaman #ifdef __cplusplus 44*ac2250cbSAndy Fiddaman extern "C" { 45*ac2250cbSAndy Fiddaman #endif 46*ac2250cbSAndy Fiddaman 47*ac2250cbSAndy Fiddaman /* 48*ac2250cbSAndy Fiddaman * flags for posix_spawnattr_setflags() 49*ac2250cbSAndy Fiddaman */ 50*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_RESETIDS 0x0001 51*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_SETPGROUP 0x0002 52*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_SETSIGDEF 0x0004 53*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_SETSIGMASK 0x0008 54*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_SETSCHEDPARAM 0x0010 55*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_SETSCHEDULER 0x0020 56*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_SETSID 0x0040 57*ac2250cbSAndy Fiddaman /* 58*ac2250cbSAndy Fiddaman * non-portable extensions 59*ac2250cbSAndy Fiddaman */ 60*ac2250cbSAndy Fiddaman #if !defined(_STRICT_POSIX) || defined(_KERNEL) 61*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_SETSIGIGN_NP 0x0800 62*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_NOSIGCHLD_NP 0x1000 63*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_WAITPID_NP 0x2000 64*ac2250cbSAndy Fiddaman #define POSIX_SPAWN_NOEXECERR_NP 0x4000 65*ac2250cbSAndy Fiddaman #endif /* !_STRICT_POSIX || defined(_KERNEL) */ 66*ac2250cbSAndy Fiddaman 67*ac2250cbSAndy Fiddaman #ifdef __cplusplus 68*ac2250cbSAndy Fiddaman } 69*ac2250cbSAndy Fiddaman #endif 70*ac2250cbSAndy Fiddaman 71*ac2250cbSAndy Fiddaman #endif /* _SYS_SPAWN_H */ 72