8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man2 / settaskid.2
blob0e96d5516d7cf7e41943c9de7f1145c0773acb45
1 '\" te
2 .\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH SETTASKID 2 "Apr 10, 2007"
7 .SH NAME
8 settaskid, gettaskid, getprojid \- set or get task or project IDs
9 .SH SYNOPSIS
10 .LP
11 .nf
12 #include <sys/types.h>
13 #include <sys/task.h>
14 #include <unistd.h>
16 \fBtaskid_t\fR \fBsettaskid\fR(\fBprojid_t\fR \fIproject\fR, \fBint\fR \fIflags\fR);
17 .fi
19 .LP
20 .nf
21 \fBtaskid_t\fR \fBgettaskid\fR(\fBvoid\fR);
22 .fi
24 .LP
25 .nf
26 #include <sys/types.h>
27 #include <sys/task.h>
28 #include <unistd.h>
29 #include <project.h>
31 \fBprojid_t\fR \fBgetprojid\fR(\fBvoid\fR);
32 .fi
34 .SH DESCRIPTION
35 .sp
36 .LP
37 The \fBsettaskid()\fR function makes a request of the system to assign a new
38 task \fBID\fR to the calling process, changing the associated project \fBID\fR
39 to that specified. The calling process must have sufficient privileges to
40 perform this operation. The \fIflags\fR argument should be either
41 \fBTASK_NORMAL\fR for a regular task, or \fBTASK_FINAL\fR, which disallows
42 subsequent \fBsettaskid()\fR calls by the created task.
43 .sp
44 .LP
45 The \fBgettaskid()\fR function returns the task \fBID\fR of the calling
46 process.
47 .sp
48 .LP
49 The \fBgetprojid()\fR function returns the project \fBID\fR of the calling
50 process.
51 .SH RETURN VALUES
52 .sp
53 .LP
54 Upon successful completion, these functions return the appropriate task or
55 project \fBID\fR. Otherwise, \(mi1 is returned and \fBerrno\fR is set to
56 indicate the error.
57 .SH ERRORS
58 .sp
59 .LP
60 The \fBsettaskid()\fR function will fail if:
61 .sp
62 .ne 2
63 .na
64 \fB\fBEACCES\fR\fR
65 .ad
66 .RS 10n
67 The invoking task was created with the \fBTASK_FINAL\fR flag.
68 .RE
70 .sp
71 .ne 2
72 .na
73 \fB\fBEAGAIN\fR\fR
74 .ad
75 .RS 10n
76 A resource control limiting the number of tasks or LWPs in the current project
77 or zone has been exceeded.
78 .sp
79 A resource control on the given project would be exceeded.
80 .RE
82 .sp
83 .ne 2
84 .na
85 \fB\fBEINVAL\fR\fR
86 .ad
87 .RS 10n
88 The given project \fBID\fR is not within the valid project \fBID\fR range.
89 .RE
91 .sp
92 .ne 2
93 .na
94 \fB\fBEPERM\fR\fR
95 .ad
96 .RS 10n
97 The {\fBPRIV_PROC_TASKID\fR} privilege is not asserted in the effective set of
98 the calling process.
99 .RE
101 .SH ATTRIBUTES
104 See \fBattributes\fR(5)  for descriptions of the following attributes:
109 box;
110 c | c
111 l | l .
112 ATTRIBUTE TYPE  ATTRIBUTE VALUE
114 MT-Level        Async-Signal-Safe
117 .SH SEE ALSO
120 \fBsetsid\fR(2), \fBproject\fR(4), \fBattributes\fR(5), \fBprivileges\fR(5)