.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Author: Eamon Walsh (ewalsh@tycho.nsa.gov) 2004
.TH "avc_context_to_sid" "3" "27 May 2004" "" "SELinux API documentation"
.SH "NAME"
avc_context_to_sid, avc_sid_to_context, avc_get_initial_sid \- obtain and manipulate SELinux security ID's
.
.SH "SYNOPSIS"
.B #include <selinux/selinux.h>
.br
.B #include <selinux/avc.h>
.sp
.BI "int avc_context_to_sid(char * " ctx ", security_id_t *" sid ");"
.sp
.BI "int avc_sid_to_context(security_id_t " sid ", char **" ctx ");"
.sp
.BI "int avc_get_initial_sid(const char *" name ", security_id_t *" sid ");"
.
.SH "DESCRIPTION"
Security ID's (SID's) are opaque representations of security contexts, managed by the userspace AVC.

.BR avc_context_to_sid ()
returns a SID for the given
.I context
in the memory referenced by
.IR sid .

.BR avc_sid_to_context ()
returns a copy of the context represented by
.I sid
in the memory referenced by
.IR ctx .
The user must free the copy with
.BR freecon (3).

.BR avc_get_initial_sid ()
returns a SID for the kernel initial security identifier specified by 
.IR name .
.
.SH "RETURN VALUE"
.BR avc_context_to_sid ()
and
.BR avc_sid_to_context ()
return zero on success.  On error, \-1 is returned and
.I errno
is set appropriately.
.
.SH "ERRORS"
.TP
.B ENOMEM
An attempt to allocate memory failed.
.SH "NOTES"
As of libselinux version 2.0.86, SID's are no longer reference counted.  A SID will be valid from the time it is first obtained until the next call to
.BR avc_destroy (3).
The
.BR sidget (3)
and
.BR sidput (3)
functions, formerly used to adjust the reference count, are no-ops and are deprecated.
.
.SH "AUTHOR"
Eamon Walsh <ewalsh@tycho.nsa.gov>
.
.SH "SEE ALSO"
.ad l
.nh
.BR avc_init (3),
.BR avc_has_perm (3),
.BR avc_cache_stats (3),
.BR avc_add_callback (3),
.BR getcon (3),
.BR freecon (3),
.BR selinux (8)
