.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Author: Eamon Walsh (ewalsh@tycho.nsa.gov) 2007
.TH "security_class_to_string" "3" "30 Mar 2007" "" "SELinux API documentation"
.SH "NAME"
security_class_to_string, security_av_perm_to_string, string_to_security_class, string_to_av_perm, security_av_string, mode_to_security_class \- convert
between SELinux class and permission values and string names.
.
print_access_vector \- display an access vector in human-readable form. 
.
.SH "SYNOPSIS"
.B #include <selinux/selinux.h>
.sp
.BI "const char *security_class_to_string(security_class_t " tclass ");"
.sp
.BI "const char *security_av_perm_to_string(security_class_t " tclass ", access_vector_t " av ");"
.sp
.BI "int security_av_string(security_class_t " tclass ", access_vector_t " av ", char **" result ");"
.sp
.BI "security_class_t string_to_security_class(const char *" name ");"
.sp
.BI "security_class_t mode_to_security_class(mode_t " mode ");"
.sp
.BI "access_vector_t string_to_av_perm(security_class_t " tclass ", const char *" name ");"
.sp
.BI "void print_access_vector(security_class_t " tclass ", access_vector_t " av ");"
.
.SH "DESCRIPTION"
.BR security_class_to_string ()
returns a string name for class
.IR tclass ,
or NULL if the class is invalid.  The returned string must not be modified or freed.

.BR security_av_perm_to_string ()
returns a string name for the access vector bit
.I av
of class
.IR tclass ,
or NULL if either argument is invalid.  The returned string must not be modified or freed.

.BR security_av_string ()
computes a full access vector string representation using
.I tclass
and
.IR av ,
which may have multiple bits set.  The string is returned in the memory pointed to by
.IR result ,
and should be freed by the caller using
.BR free (3).

.BR string_to_security_class ()
returns the class value corresponding to the string name
.IR name ,
or zero if no such class exists.

.BR mode_to_security_class ()
returns the class value corresponding to the specified 
.IR mode ,
or zero if no such class exists.

.BR string_to_av_perm ()
returns the access vector bit corresponding to the string name
.I name
and security class
.IR tclass ,
or zero if no such value exists.

.BR print_access_vector ()
displays an access vector in human-readable form on the standard output
stream.
.
.SH "RETURN VALUE"
.BR security_av_string ()
returns zero on success or \-1 on error with
.I errno
set appropriately.
.BR print_access_vector ()
does not return a value. All other functions return zero or NULL on error.
.
.SH "ERRORS"
.TP
.B EINVAL
A class or access vector argument is not recognized by the currently loaded policy.

.TP
.B ENOMEM
An attempt to allocate memory failed.
.
.SH "AUTHOR"
Eamon Walsh <ewalsh@tycho.nsa.gov>
.
.SH "SEE ALSO"
.BR selinux (8),
.BR getcon (3),
.BR getfilecon (3)
.BR stat (3)