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)