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