SETTASKID(2) System Calls SETTASKID(2)
settaskid, gettaskid, getprojid - set or get task or project IDs
#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);
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.
Upon successful completion, these functions return the appropriate
task or project ID. Otherwise, -1 is returned and errno is set to
indicate the error.
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.
See attributes(7) for descriptions of the following attributes:
+---------------+-------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+-------------------+
|MT-Level | Async-Signal-Safe |
+---------------+-------------------+
setsid(2), project(5), attributes(7), privileges(7)
April 10, 2007 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)