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$ 353b296920SRuslan Ermilov.\" 36d97fcfceSRobert Watson.Dd December 21, 2001 37d97fcfceSRobert Watson.Dt MAC_GET 3 38d97fcfceSRobert Watson.Sh NAME 39d97fcfceSRobert Watson.Nm mac_get_file , 40d97fcfceSRobert Watson.Nm mac_get_fd , 41d97fcfceSRobert Watson.Nm mac_get_proc 42d97fcfceSRobert Watson.Nd get the label of a file, socket, socket peer or process 433b296920SRuslan Ermilov.Sh LIBRARY 443b296920SRuslan Ermilov.Lb libc 45d97fcfceSRobert Watson.Sh SYNOPSIS 46d97fcfceSRobert Watson.In sys/mac.h 47d97fcfceSRobert Watson.Ft mac_t 48d97fcfceSRobert Watson.Fn mac_get_file "const char *path_p" 49d97fcfceSRobert Watson.Ft mac_t 50d97fcfceSRobert Watson.Fn mac_get_fd "int fd" 51d97fcfceSRobert Watson.Ft mac_t 52d97fcfceSRobert Watson.Fn mac_get_proc 53d97fcfceSRobert Watson.Sh DESCRIPTION 54d97fcfceSRobert WatsonThe 55d97fcfceSRobert Watson.Fn mac_get_file 56d97fcfceSRobert Watsonand 57d97fcfceSRobert Watson.Fn mac_get_fd 58d97fcfceSRobert Watsonfunctions return the MAC label associated 59d97fcfceSRobert Watsonwith the file referenced by 60d97fcfceSRobert Watsonthe pathname pointed to by 61d97fcfceSRobert Watson.Fa path_p 62d97fcfceSRobert Watsonor the file descriptor specified by 63d97fcfceSRobert Watson.Fa fd , 643b296920SRuslan Ermilovrespectively. 653b296920SRuslan ErmilovNote that this function will fail on socket descriptors. 663b296920SRuslan ErmilovFor information on 67d97fcfceSRobert Watsongetting MAC labels on socket descriptors see 68d97fcfceSRobert Watson.Xr getsockopt 2 . 69d97fcfceSRobert WatsonThe 70d97fcfceSRobert Watson.Fn mac_get_proc 71d97fcfceSRobert Watsonfunction returns a MAC label associated 72d97fcfceSRobert Watsonwith the requesting process. 73d97fcfceSRobert Watson.Sh ERRORS 74d97fcfceSRobert Watson.Bl -tag -width Er 75d97fcfceSRobert Watson.It Bq Er EACCES 76d97fcfceSRobert WatsonA component of 77d97fcfceSRobert Watson.Fa path_p 78d97fcfceSRobert Watsonis not searchable, 79d97fcfceSRobert Watsonor MAC read access to the file 80d97fcfceSRobert Watsonis denied. 81d97fcfceSRobert Watson.It Bq Er ENAMETOOLONG 82d97fcfceSRobert WatsonThe pathname pointed to by 83d97fcfceSRobert Watson.Fa path_p 84d97fcfceSRobert Watsonexceeds 85d97fcfceSRobert Watson.Dv PATH_MAX , 86d97fcfceSRobert Watsonor a component of the pathname exceeds 87d97fcfceSRobert Watson.Dv NAME_MAX . 88d97fcfceSRobert Watson.It Bq Er ENOENT 89d97fcfceSRobert WatsonA component of 90d97fcfceSRobert Watson.Fa path_p 91d97fcfceSRobert Watsondoes not exist. 92d97fcfceSRobert Watson.It Bq Er ENOMEM 93d97fcfceSRobert WatsonInsufficient memory is available 94d97fcfceSRobert Watsonto allocate a new MAC label structure. 95d97fcfceSRobert Watson.It Bq Er ENOTDIR 96d97fcfceSRobert WatsonA component of 97d97fcfceSRobert Watson.Fa path_p 98d97fcfceSRobert Watsonis not a directory. 99d97fcfceSRobert Watson.El 100d97fcfceSRobert Watson.Sh SEE ALSO 101d97fcfceSRobert Watson.Xr mac 3 , 102d97fcfceSRobert Watson.Xr mac_free 3 , 1033b296920SRuslan Ermilov.Xr mac_set 3 , 1043b296920SRuslan Ermilov.Xr mac_text 3 105d97fcfceSRobert Watson.Sh STANDARDS 106d97fcfceSRobert WatsonPOSIX.1e is described in IEEE POSIX.1e draft 17. 107d97fcfceSRobert WatsonDiscussion of the draft 108d97fcfceSRobert Watsoncontinues on the cross-platform POSIX.1e implementation mailing list. 109d97fcfceSRobert WatsonTo join this list, see the 110d97fcfceSRobert Watson.Fx 111d97fcfceSRobert WatsonPOSIX.1e implementation page 112d97fcfceSRobert Watsonfor more information. 113