/*
* [SPN] Support for _POSIX_SPAWN
*
- * This file contains intern datastructures which are externally represented
+ * This file contains internal data structures which are externally represented
* as opaque void pointers to prevent introspection. This permits us to
* change the underlying implementation of the code to maintain it or to
* support new features, as needed, without the consumer needing to recompile
typedef enum {
PSPA_SPECIAL = 0,
PSPA_EXCEPTION = 1,
+ PSPA_AU_SESSION = 2,
} pspa_t;
/*
pid_t psa_pgroup; /* pgroup to spawn into */
cpu_type_t psa_binprefs[NBINPREFS]; /* cpu affinity prefs*/
_posix_spawn_port_actions_t psa_ports; /* special/exception ports */
+ int psa_pcontrol; /* process control bits on resource starvation */
} *_posix_spawnattr_t;
typedef enum {
PSFA_OPEN = 0,
PSFA_CLOSE = 1,
- PSFA_DUP2 = 2
+ PSFA_DUP2 = 2,
+ PSFA_INHERIT = 3
} psfa_t;
#pragma options align=natural
#endif
+struct user32__posix_spawn_args_desc {
+ uint32_t attr_size; /* size of attributes block */
+ uint32_t attrp; /* pointer to block */
+ uint32_t file_actions_size; /* size of file actions block */
+ uint32_t file_actions; /* pointer to block */
+ uint32_t port_actions_size; /* size of port actions block */
+ uint32_t port_actions; /* pointer to block */
+};
+
struct user__posix_spawn_args_desc {
user_size_t attr_size; /* size of attributes block */
user_addr_t attrp; /* pointer to block */