xref: /freebsd/lib/libc/posix1e/mac_get.3 (revision d97fcfce273eb3bc3984441c9e4bcbd5231fb1f5)
1d97fcfceSRobert Watson.\" Copyright (c) 2001 Networks Associates Technology, Inc.
2d97fcfceSRobert Watson.\" All rights reserved.
3d97fcfceSRobert Watson.\"
4d97fcfceSRobert Watson.\" This software was developed for the FreeBSD Project by Chris
5d97fcfceSRobert Watson.\" Costello at Safeport Network Services and NAI Labs, the Security
6d97fcfceSRobert Watson.\" Research Division of Network Associates, Inc. under DARPA/SPAWAR
7d97fcfceSRobert Watson.\" contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS
8d97fcfceSRobert Watson.\" research program.
9d97fcfceSRobert Watson.\"
10d97fcfceSRobert Watson.\" Redistribution and use in source and binary forms, with or without
11d97fcfceSRobert Watson.\" modification, are permitted provided that the following conditions
12d97fcfceSRobert Watson.\" are met:
13d97fcfceSRobert Watson.\" 1. Redistributions of source code must retain the above copyright
14d97fcfceSRobert Watson.\"    notice, this list of conditions and the following disclaimer.
15d97fcfceSRobert Watson.\" 2. Redistributions in binary form must reproduce the above copyright
16d97fcfceSRobert Watson.\"    notice, this list of conditions and the following disclaimer in the
17d97fcfceSRobert Watson.\"    documentation and/or other materials provided with the distribution.
18d97fcfceSRobert Watson.\" 3. The name of the author may not be used to endorse or promote
19d97fcfceSRobert Watson.\"    products derived from this software without specific prior written
20d97fcfceSRobert Watson.\"    permission.
21d97fcfceSRobert Watson.\"
22d97fcfceSRobert Watson.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
23d97fcfceSRobert Watson.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24d97fcfceSRobert Watson.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25d97fcfceSRobert Watson.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
26d97fcfceSRobert Watson.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27d97fcfceSRobert Watson.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28d97fcfceSRobert Watson.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29d97fcfceSRobert Watson.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30d97fcfceSRobert Watson.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31d97fcfceSRobert Watson.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32d97fcfceSRobert Watson.\" SUCH DAMAGE.
33d97fcfceSRobert Watson.\"
34d97fcfceSRobert Watson.\" $FreeBSD$
35d97fcfceSRobert Watson.Dd December 21, 2001
36d97fcfceSRobert Watson.Dt MAC_GET 3
37d97fcfceSRobert Watson.Sh NAME
38d97fcfceSRobert Watson.Nm mac_get_file ,
39d97fcfceSRobert Watson.Nm mac_get_fd ,
40d97fcfceSRobert Watson.Nm mac_get_proc
41d97fcfceSRobert Watson.Nd get the label of a file, socket, socket peer or process
42d97fcfceSRobert Watson.Sh SYNOPSIS
43d97fcfceSRobert Watson.In sys/mac.h
44d97fcfceSRobert Watson.Ft mac_t
45d97fcfceSRobert Watson.Fn mac_get_file "const char *path_p"
46d97fcfceSRobert Watson.Ft mac_t
47d97fcfceSRobert Watson.Fn mac_get_fd "int fd"
48d97fcfceSRobert Watson.Ft mac_t
49d97fcfceSRobert Watson.Fn mac_get_proc
50d97fcfceSRobert Watson.Sh DESCRIPTION
51d97fcfceSRobert WatsonThe
52d97fcfceSRobert Watson.Fn mac_get_file
53d97fcfceSRobert Watsonand
54d97fcfceSRobert Watson.Fn mac_get_fd
55d97fcfceSRobert Watsonfunctions return the MAC label associated
56d97fcfceSRobert Watsonwith the file referenced by
57d97fcfceSRobert Watsonthe pathname pointed to by
58d97fcfceSRobert Watson.Fa path_p
59d97fcfceSRobert Watsonor the file descriptor specified by
60d97fcfceSRobert Watson.Fa fd ,
61d97fcfceSRobert Watsonrespectively.  Note this function will
62d97fcfceSRobert Watsonfail on socket descriptors.  For information on
63d97fcfceSRobert Watsongetting MAC labels on socket descriptors see
64d97fcfceSRobert Watson.Xr getsockopt 2 .
65d97fcfceSRobert WatsonThe
66d97fcfceSRobert Watson.Fn mac_get_proc
67d97fcfceSRobert Watsonfunction returns a MAC label associated
68d97fcfceSRobert Watsonwith the requesting process.
69d97fcfceSRobert Watson.Sh ERRORS
70d97fcfceSRobert Watson.Bl -tag -width Er
71d97fcfceSRobert Watson.It Bq Er EACCES
72d97fcfceSRobert WatsonA component of
73d97fcfceSRobert Watson.Fa path_p
74d97fcfceSRobert Watsonis not searchable,
75d97fcfceSRobert Watsonor MAC read access to the file
76d97fcfceSRobert Watsonis denied.
77d97fcfceSRobert Watson.It Bq Er ENAMETOOLONG
78d97fcfceSRobert WatsonThe pathname pointed to by
79d97fcfceSRobert Watson.Fa path_p
80d97fcfceSRobert Watsonexceeds
81d97fcfceSRobert Watson.Dv PATH_MAX ,
82d97fcfceSRobert Watsonor a component of the pathname exceeds
83d97fcfceSRobert Watson.Dv NAME_MAX .
84d97fcfceSRobert Watson.It Bq Er ENOENT
85d97fcfceSRobert WatsonA component of
86d97fcfceSRobert Watson.Fa path_p
87d97fcfceSRobert Watsondoes not exist.
88d97fcfceSRobert Watson.It Bq Er ENOMEM
89d97fcfceSRobert WatsonInsufficient memory is available
90d97fcfceSRobert Watsonto allocate a new MAC label structure.
91d97fcfceSRobert Watson.It Bq Er ENOTDIR
92d97fcfceSRobert WatsonA component of
93d97fcfceSRobert Watson.Fa path_p
94d97fcfceSRobert Watsonis not a directory.
95d97fcfceSRobert Watson.El
96d97fcfceSRobert Watson.Sh SEE ALSO
97d97fcfceSRobert Watson.Xr mac 3 ,
98d97fcfceSRobert Watson.Xr mac_free 3 ,
99d97fcfceSRobert Watson.Xr mac_text 3 ,
100d97fcfceSRobert Watson.Xr mac_set 3
101d97fcfceSRobert Watson.Sh STANDARDS
102d97fcfceSRobert WatsonPOSIX.1e is described in IEEE POSIX.1e draft 17.
103d97fcfceSRobert WatsonDiscussion of the draft
104d97fcfceSRobert Watsoncontinues on the cross-platform POSIX.1e implementation mailing list.
105d97fcfceSRobert WatsonTo join this list, see the
106d97fcfceSRobert Watson.Fx
107d97fcfceSRobert WatsonPOSIX.1e implementation page
108d97fcfceSRobert Watsonfor more information.
109