posix_spawnattr_settypeid()

QNX SDP8.0C Library ReferenceAPIDeveloper

Set the type identifier of a spawn attributes object

Synopsis:

#include <spawn.h>

int posix_spawnattr_settypeid(
       posix_spawnattr_t *attrp, uint32_t type_id);

Arguments:

attrp
A pointer to the spawn attributes object that you want to modify.
type_id
The type identifier to associate with the spawned process.

Library:

libc

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

Description:

A type identifier associates a process or channel with a set of rules in order to protect or restrict it. The security policy contains the rules for all type identifiers. To learn more about security policies, see Security Policies in the System Security Guide.

This function is equivalent to calling secpol_posix_spawnattr_settypeid(), but secpol_posix_spawnattr_settypeid() is simpler to use and allows a process to work both with and without security policies.

The posix_spawnattr_settypeid() function sets the type_id attribute in the spawn attributes object pointed to by attrp. You must have already initialized the spawn attributes object by calling posix_spawnattr_init(). In order for the type identifier to take effect:
  • You must pass the posix_spawnattr_t attributes object as a parameter to posix_spawn().
  • You must have set POSIX_SPAWN_SETTYPEID in the spawn flags by calling posix_spawnattr_setxflags().

The calling process must have the PROCMGR_AID_SETTYPEID ability with a range that includes this type identifier. Typically, this ability is set by a security policy. For more information, see Security Policies in the System Security Guide.

Note:
While a process inherits its parent's type identifier by default, the effect may not be identical to spawning with the same type identifier set with posix_spawnattr_settypeid(). When you use posix_spawnattr_settypeid(), the abilities of the child process are reset to those that the security policy indicates the type should have even if they differ from the parent. When a child acquires its type identifier through inheritance, it also inherits its parent's procmgr abilities.

For more information about spawn attributes, see the entry for posix_spawn().

Note:
This function is a QNX OS extension.

Returns:

EOK
Success.
EINVAL
The attrp pointer does not refer to a valid attribute structure.

Classification:

QNX OS

Safety:
Cancellation point No
Signal handler Yes
Thread Yes
Page updated: