8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / man / man3bsm / au_to.3bsm
blob623a4175d5992611764979155889f90ce07ee566
1 '\" te
2 .\" Copyright (c) 2005, 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 AU_TO 3BSM "Mar 6, 2017"
7 .SH NAME
8 au_to, au_to_arg, au_to_arg32, au_to_arg64, au_to_attr, au_to_cmd, au_to_data,
9 au_to_groups, au_to_in_addr, au_to_ipc, au_to_iport, au_to_me, au_to_newgroups,
10 au_to_opaque, au_to_path, au_to_process, au_to_process_ex, au_to_return,
11 au_to_return32, au_to_return64, au_to_socket, au_to_subject, au_to_subject_ex,
12 au_to_text \- create audit record tokens
13 .SH SYNOPSIS
14 .LP
15 .nf
16 \fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lbsm\fR \fB -lsocket \fR \fB -lnsl \fR  [ \fIlibrary\fR... ]
17 #include <sys/types.h>
18 #include <sys/vnode.h>
19 #include <netinet/in.h>
20 #include <bsm/libbsm.h>
22 \fBtoken_t *\fR\fBau_to_arg\fR(\fBchar\fR \fIn\fR, \fBchar *\fR\fItext\fR, \fBuint32_t\fR \fIv\fR);
23 .fi
25 .LP
26 .nf
27 \fBtoken_t *\fR\fBau_to_arg32\fR(\fBchar\fR \fIn\fR, \fBchar *\fR\fItext\fR, \fBuint32_t\fR \fIv\fR);
28 .fi
30 .LP
31 .nf
32 \fBtoken_t *\fR\fBau_to_arg64\fR(\fBchar\fR \fIn\fR, \fBchar *\fR\fItext\fR, \fBuint64_t\fR \fIv\fR);
33 .fi
35 .LP
36 .nf
37 \fBtoken_t *\fR\fBau_to_attr\fR(\fBstruct vattr *\fR\fIattr\fR);
38 .fi
40 .LP
41 .nf
42 \fBtoken_t *\fR\fBau_to_cmd\fR(\fBuint_t\fR \fIargc\fR, \fBchar **\fR\fIargv\fR, \fBchar **\fR\fIenvp\fR);
43 .fi
45 .LP
46 .nf
47 \fBtoken_t *\fR\fBau_to_data\fR(\fBchar\fR \fIunit_print\fR, \fBchar\fR \fIunit_type\fR, \fBchar\fR \fIunit_count\fR,
48      \fBchar *\fR\fIp\fR);
49 .fi
51 .LP
52 .nf
53 \fBtoken_t *\fR\fBau_to_groups\fR(\fBint *\fR\fIgroups\fR);
54 .fi
56 .LP
57 .nf
58 \fBtoken_t *\fR\fBau_to_in_addr\fR(\fBstruct in_addr *\fR\fIinternet_addr\fR);
59 .fi
61 .LP
62 .nf
63 \fBtoken_t *\fR\fBau_to_ipc\fR(\fBchar\fR \fItype\fR, \fBint\fR \fIid\fR);
64 .fi
66 .LP
67 .nf
68 \fBtoken_t *\fR\fBau_to_iport\fR(\fBu_short_t\fR \fIiport\fR);
69 .fi
71 .LP
72 .nf
73 \fBtoken_t *\fR\fBau_to_me\fR(\fBvoid\fR);
74 .fi
76 .LP
77 .nf
78 \fBtoken_t *\fR\fBau_to_newgroups\fR(\fBint\fR \fIn\fR, \fBgid_t *\fR\fIgroups\fR);
79 .fi
81 .LP
82 .nf
83 \fBtoken_t\fR \fB*au_to_opaque\fR(\fBchar *\fR\fIdata\fR, \fBshort\fR \fIbytes\fR);
84 .fi
86 .LP
87 .nf
88 \fBtoken_t *\fR\fBau_to_path\fR(\fBchar *\fR\fIpath\fR);
89 .fi
91 .LP
92 .nf
93 \fBtoken_t *\fR\fBau_to_process\fR(\fBau_id_t\fR \fIauid\fR, \fBuid_t\fR \fIeuid\fR, \fBgid_t\fR \fIegid\fR,
94      \fBuid_t\fR \fIruid\fR, \fBgid_t\fR \fIrgid\fR, \fBpid_t\fR \fIpid\fR, \fBau_asid_t\fR \fIsid\fR, \fBau_tid_t *\fR\fItid\fR);
95 .fi
97 .LP
98 .nf
99 \fBtoken_t *\fR\fBau_to_process_ex\fR(\fBau_id_t\fR \fIauid\fR, \fBuid_t\fR \fIeuid\fR, \fBgid_t\fR \fIegid\fR,
100      \fBuid_t\fR \fIruid\fR, \fBgid_t\fR \fIrgid\fR, \fBpid_t\fR \fIpid\fR, \fBau_asid_t\fR \fIsid\fR, \fBau_tid_addr_t *\fR\fItid\fR);
105 \fBtoken_t *\fR\fBau_to_return\fR(\fBchar\fR \fInumber\fR, \fBuin32t_t\fR \fIvalue\fR);
110 \fBtoken_t *\fR\fBau_to_return32\fR(\fBchar\fR \fInumber\fR, \fBuin32t_t\fR \fIvalue\fR);
115 \fBtoken_t *\fR\fBau_to_return64\fR(\fBchar\fR \fInumber\fR, \fBuin64t_t\fR \fIvalue\fR);
120 \fBtoken_t *\fR\fBau_to_socket\fR(\fBstruct oldsocket *\fR\fIso\fR);
125 \fBtoken_t *\fR\fBau_to_subject\fR(\fBau_id_t\fR \fIauid\fR, \fBuid_t\fR \fIeuid\fR, \fBgid_t\fR \fIegid\fR,
126      \fBuid_t\fR \fIruid\fR, \fBgid_t\fR \fIrgid\fR, \fBpid_t\fR \fIpid\fR, \fBau_asid_t\fR \fIsid\fR, \fBau_tid_t *\fR\fItid\fR);
131 \fBtoken_t *\fR\fBau_to_subject_ex\fR(\fBau_id_t\fR \fIauid\fR, \fBuid_t\fR \fIeuid\fR, \fBgid_t\fR \fIegid\fR,
132      \fBuid_t\fR \fIruid\fR, \fBgid_t\fR \fIrgid\fR, \fBpid_t\fR \fIpid\fR, \fBau_asid_t\fR \fIsid\fR, \fBau_tid_addr_t *\fR\fItid\fR);
137 \fBtoken_t *\fR\fBau_to_text\fR(\fBchar *\fR\fItext\fR);
140 .SH DESCRIPTION
142 The \fBau_to_arg()\fR, \fBau_to_arg32()\fR, and \fBau_to_arg64()\fR functions
143 format the data in \fIv\fR into an "argument token". The \fIn\fR argument
144 indicates the argument number. The \fItext\fR argument is a null-terminated
145 string describing the argument.
148 The \fBau_to_attr()\fR function formats the data pointed to by \fIattr\fR into
149 a "vnode attribute token".
152 The \fBau_to_cmd()\fR function formats the data pointed to by \fIargv\fR into a
153 "command token". A command token reflects a command and its parameters as
154 entered. For example, the \fBpfexec\fR(1) utility uses \fBau_to_cmd()\fR to
155 record the command and arguments it reads from the command line.
158 The \fBau_to_data()\fR function formats the data pointed to by \fIp\fR into an
159 "arbitrary data token". The \fIunit_print\fR parameter determines the preferred
160 display base of the data and is one of \fBAUP_BINARY\fR, \fBAUP_OCTAL\fR,
161 \fBAUP_DECIMAL\fR, \fBAUP_HEX\fR,  or \fBAUP_STRING\fR.  The \fIunit_type\fR
162 parameter defines the basic unit of data and is one of \fBAUR_BYTE\fR,
163 \fBAUR_CHAR\fR, \fBAUR_SHORT\fR, \fBAUR_INT\fR,  or \fBAUR_LONG\fR.  The
164 \fIunit_count\fR parameter specifies the number of basic data units to be used
165 and must be positive.
168 The \fBau_to_groups()\fR function formats the array of 16 integers pointed to
169 by \fIgroups\fR into a "groups token". The \fBau_to_newgroups()\fR function
170 (see below) should be used in place of this function.
173 The \fBau_to_in_addr()\fR function formats the data pointed to by
174 \fIinternet_addr\fR into an "internet address token".
177 The \fBau_to_ipc()\fR function formats the data in the \fIid\fR parameter into
178 an "interprocess communications \fBID\fR token".
181 The \fBau_to_iport()\fR function formats the data pointed to by \fIiport\fR
182 into an "ip port address token".
185 The \fBau_to_me()\fR function collects audit information from the current
186 process and creates  a "subject token" by calling  \fBau_to_subject()\fR.
189 The \fBau_to_newgroups()\fR function formats the array of  \fIn\fR integers
190 pointed to by \fIgroups\fR into a "newgroups token". This function should be
191 used in place of \fBau_to_groups()\fR.
194 The \fBau_to_opaque()\fR function formats the \fIbytes\fR bytes pointed to by
195 \fIdata\fR into an "opaque token". The value of \fIsize\fR must be positive.
198 The \fBau_to_path()\fR function formats the path name pointed to by \fIpath\fR
199 into a ``path token.''
202 The \fBau_to_process()\fR function formats an \fIauid\fR (audit user \fBID\fR),
203 an \fIeuid\fR (effective user \fBID\fR), an \fIegid\fR (effective group
204 \fBID\fR), a \fIruid\fR (real user \fBID\fR), a \fIrgid\fR (real group
205 \fBID\fR), a \fIpid\fR (process \fBID\fR), an \fIsid\fR (audit session
206 \fBID\fR), and a \fItid\fR (audit terminal \fBID\fR containing an IPv4 IP
207 address), into a "process token".  A process token should be used when the
208 process is the object of an action (ie. when the process is the receiver of a
209 signal). The \fBau_to_process_ex()\fR function (see below) should be used in
210 place of this function.
213 The \fBau_to_process_ex()\fR function formats an \fIauid\fR (audit user
214 \fBID),\fR an \fIeuid\fR (effective user \fBID),\fR an \fIegid\fR (effective
215 group \fBID),\fR a \fIruid\fR (real user \fBID),\fR a \fIrgid\fR (real group
216 \fBID),\fR a \fIpid\fR (process \fBID),\fR an \fIsid\fR (audit session
217 \fBID),\fR and a \fItid\fR (audit terminal \fBID containing an IPv4 or IPv6 IP
218 address),\fR into a "process token".  A process token should be used when the
219 process is the object of an action (that is, when the process is the receiver
220 of a signal). This function should be used in place of \fBau_to_process()\fR.
223 The \fBau_to_return()\fR, \fBau_to_return32()\fR, and \fBau_to_return64()\fR
224 functions format an error number \fInumber\fR and a return value \fIvalue\fR
225 into a "return value token".
228 The \fBau_to_socket()\fR function format the data pointed to by \fIso\fR into a
229 ``socket token.''
232 The \fBau_to_subject()\fR function formats an \fIauid\fR (audit user \fBID\fR),
233 an \fIeuid\fR (effective user \fBID\fR), an \fIegid\fR (effective group
234 \fBID\fR), a \fIruid\fR (real user \fBID\fR), an \fIrgid\fR (real group
235 \fBID\fR), a \fIpid\fR (process \fBID\fR), an \fIsid\fR (audit session
236 \fBID\fR), an \fItid\fR (audit terminal \fBID\fR containing an IPv4 IP
237 address), into a "subject token". The \fBau_to_subject_ex()\fR function (see
238 below) should be used in place of this function.
241 The \fBau_to_subject_ex()\fR function formats an \fIauid\fR (audit user
242 \fBID),\fR an \fIeuid\fR (effective user \fBID),\fR an \fIegid\fR (effective
243 group \fBID),\fR a \fIruid\fR (real user \fBID),\fR an \fIrgid\fR (real group
244 \fBID),\fR a \fIpid\fR (process \fBID),\fR an \fIsid\fR (audit session
245 \fBID),\fR an \fItid\fR (audit terminal \fBID containing an IPv4 or IPv6 IP
246 address),\fR into a "subject token". This function should be used in place of
247 \fBau_to_subject()\fR.
250 The \fBau_to_text()\fR function formats the null-terminated string pointed to
251 by \fItext\fR into a "text token".
252 .SH RETURN VALUES
254 These functions return \fINULL\fR if memory cannot be allocated to put the
255 resultant token into, or if an error in the input is detected.
256 .SH ATTRIBUTES
258 See \fBattributes\fR(5) for a description of the following attributes:
263 box;
264 c | c
265 l | l .
266 ATTRIBUTE TYPE  ATTRIBUTE VALUE
268 Interface Stability     Stable
270 MT-Level        MT-Safe
273 .SH SEE ALSO
275 \fBau_open\fR(3BSM), \fBattributes\fR(5)