SETTASKID(2) System Calls SETTASKID(2)
NAME
settaskid, gettaskid, getprojid - set or get task or project IDs
SYNOPSIS
#include <sys/types.h>
#include <sys/task.h>
#include <unistd.h>
taskid_t settaskid(
projid_t project,
int flags);
taskid_t gettaskid(
void);
#include <sys/types.h>
#include <sys/task.h>
#include <unistd.h>
#include <project.h>
projid_t getprojid(
void);
DESCRIPTION
The
settaskid() function makes a request of the system to assign a new
task
ID to the calling process, changing the associated project
ID to
that specified. The calling process must have sufficient privileges to
perform this operation. The
flags argument should be either
TASK_NORMAL for a regular task, or
TASK_FINAL, which disallows subsequent
settaskid() calls by the created task.
The
gettaskid() function returns the task
ID of the calling process.
The
getprojid() function returns the project
ID of the calling process.
RETURN VALUES
Upon successful completion, these functions return the appropriate task
or project
ID. Otherwise, -1 is returned and
errno is set to indicate the
error.
ERRORS
The
settaskid() function will fail if:
EACCES The invoking task was created with the
TASK_FINAL flag.
EAGAIN A resource control limiting the number of tasks or LWPs in the
current project or zone has been exceeded.
A resource control on the given project would be exceeded.
EINVAL The given project
ID is not within the valid project
ID range.
EPERM The {
PRIV_PROC_TASKID} privilege is not asserted in the
effective set of the calling process.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+---------------+-------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-------------------+
|MT-Level | Async-Signal-Safe |
+---------------+-------------------+
SEE ALSO
setsid(2),
project(5),
attributes(7),
privileges(7) April 10, 2007
SETTASKID(2)