POSIX_SPAWNATTR_GETPROCDESCP_NP(3)            FreeBSD Library Functions Manual

NAME

     posix_spawnattr_getprocdesp_np, posix_spawnattr_setprocdescp_np - get and
     set the spawn-procdescp attribute of a spawn attributes object

LIBRARY

     Standard C Library (libc, -lc)

SYNOPSIS

     #include <spawn.h>

     int
     posix_spawnattr_getprocdescp_np(const posix_spawnattr_t *restrict attr,
         int **restrict fdpp, int *restrict pdrflagsp);

     int
     posix_spawnattr_setprocdescp_np(posix_spawnattr_t *attr,
         int *restrict fdp, int pdrflags);

DESCRIPTION

     The posix_spawnattr_getprocdescp_np() function obtains the value of the
     spawn-procdescp attribute from the attributes object referenced by attr.

     The posix_spawnattr_procdescp_np() function sets the spawn-procdescp
     attribute in an initialized attributes object referenced by attr.

     The spawn-procdescp attribute provides the location where the child
     process's file descriptor will be stored after a successful spawn.
     Setting the attribute to a non-NULL value implicitly request the creation
     of the file descriptor that references the child process.  It wiil be
     created by the pdrfork(2) system call. which will be used instead of
     fork/vfork/rfork(2) when the attribute is set to NULL.

     If the attribute is set to a value other then NULL, it must be a valid
     pointer to a variable of int type, where the resulting descriptor will be
     stored.  The pdrflags argument specifies additional flags that are
     accepted by the pdfork(2) system call.  See its description for the list
     of the valid flags.  Note that the PD_CLOEXEC flag is always set,
     preventing leakage of the process descriptor into the newly created
     child.

     The default value for the spawn-procdescp attribute is NULL, which means
     that no process descriptor will be created.

RETURN VALUES

     The posix_spawnattr_getprocdescp_np() and
     posix_spawnattr_setprocdescp_np() functions return zero.

SEE ALSO

     posix_spawn(3), posix_spawnattr_destroy(3), posix_spawnattr_init(3),
     posix_spawnp(3)

STANDARDS

     The posix_spawnattr_getprocdescp_np() and
     posix_spawnattr_setprocdescp_np() are FreeBSD extensions that first
     appeared in FreeBSD 16.0.

FreeBSD 15.1-STABLE-HBSD       January 26, 2026
                                            POSIX_SPAWNATTR_GETPROCDESCP_NP(3)