Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

posix_spawnattr_getcred()

Get the uid and gid of the child process

Synopsis:

#include <posix_spawnattr.h>

int posix_spawnattr_getcred(
	const posix_spawnattr_t *_Restrict attrp, 
	uid_t *_Restrict uid_p, 
	gid_t *_Restrict gid_p);

Arguments:

attrp
A spawn attributes object attrp used by the implementation.
gid_p
The group ID that you want to use for the process.
posix_spawnattr_t
A spawn attributes object is of type posix_spawnattr_t (defined in <spawn.h>) and is used to specify the inheritance of process attributes across a spawn operation. IEEE Std 1003.1-2001 doesn't define comparison or assignment operators for the type posix_spawnattr_t.
uid_p
The user ID that you want to use for the process.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

Use the posix_spawnattr_getcred() function to allow the caller to retrieve the uid and gid of the posix_spawnattr_t attributes object set using the posix_spawnattr_setcred() function.

The posix_spawnattr_getcred() function call returns the current credential values of the posix_spawnattr_t object and not necessarily the credentials that will be used by the spawned process. For example, if the POSIX_SPAWNATTR_SETCRED flag isn't set, the credentials returned by posix_spawnattr_getcred() will be ignored.

Use the posix_spawnattr_setcred() function to set the credentials of a spawned process to something other than that of the caller's credentials. Typically, the credentials (i.e. the user ID and group ID) for a process spawned with posix_spawn() and posix_spawnp() inherit the credentials from the calling function.

Returns:

Upon successful completion, posix_spawnattr_setflags() returns zero; otherwise, an error number is returned to indicate the error (errno is set).

Errors:

EINVAL
For any invalid parameter.
EOK
Success.

Classification:

POSIX 1003.1 RTS

Safety:
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes

See also:

posix_spawn(), posix_spawn_file_actions_addclose(), posix_spawn_file_actions_adddup2(), posix_spawn_file_actions_addopen(), posix_spawn_file_actions_destroy(), posix_spawn_file_actions_init(), posix_spawnattr_addpartid(), posix_spawnattr_addpartition(), posix_spawnattr_destroy(), posix_spawnattr_getflags(), posix_spawnattr_getnode(), posix_spawnattr_getpartid(), posix_spawnattr_getpgroup(), posix_spawnattr_getrunmask(), posix_spawnattr_getschedparam(), posix_spawnattr_getschedpolicy(), posix_spawnattr_getsigdefault(), posix_spawnattr_getsigignore(), posix_spawnattr_getsigmask(), posix_spawnattr_getstackmax(), posix_spawnattr_getxflags(), posix_spawnattr_init(), posix_spawnattr_setcred(), posix_spawnattr_setnode(), posix_spawnattr_setpgroup(), posix_spawnattr_setschedparam(), posix_spawnattr_setrunmask(), posix_spawnattr_setschedpolicy(), posix_spawnattr_setsigdefault(), posix_spawnattr_setsigignore(), posix_spawnattr_setsigmask(), posix_spawnattr_setstackmax(), posix_spawnattr_setxflags(), posix_spawnp()