selabel_open
Section: SELinux API documentation (3)
Updated: 18 Jun 2007
Index
Return to Main Contents
 
NAME
selabel_open, selabel_close - userspace SELinux labeling interface.
 
SYNOPSIS
#include <selinux/selinux.h>
#include <selinux/label.h>
struct selabel_handle *selabel_open(int backend,
struct selinux_opt *options,
unsigned nopt);
void selabel_close(struct selabel_handle *hnd);
 
DESCRIPTION
selabel_open
is used to initialize a labeling handle to be used for lookup operations.  The 
backend
argument specifies which backend is to be opened; the list of current backends appears in 
BACKENDS
below.
The 
options
argument should be NULL or a pointer to an array of 
selinux_opt
structures of length
nopt:
- 
struct selinux_opt {
    int         type;
    const char  *value;
};
The available option types are described in 
GLOBAL OPTIONS
below as well as in the documentation for each individual backend.  The return value on success is a non-NULL value for use in subsequent label operations.
selabel_close
terminates use of a handle, freeing any internal resources associated with it.  After this call has been made, the handle must not be used again.
 
GLOBAL OPTIONS
Global options which may be passed to
selabel_open
include the following:
- SELABEL_OPT_UNUSED
- 
The option with a type code of zero is a no-op.  Thus an array of options may be initizalized to zero and any untouched elements will not cause an error.
- SELABEL_OPT_VALIDATE
- 
A non-null value for this option enables context validation.  By default,
security_check_context(3)
is used; a custom validation function can be provided via
selinux_set_callback(3).
Note that an invalid context may not be treated as an error unless it is actually encountered during a lookup operation.
 
BACKENDS
- SELABEL_CTX_FILE
- 
File contexts backend, described in 
selabel_file(3).
- SELABEL_CTX_MEDIA
- 
Media contexts backend, described in 
selabel_media(3).
- SELABEL_CTX_X
- 
X Windows contexts backend, described in 
selabel_x(3).
 
RETURN VALUE
A non-NULL handle value is returned on success.  On error, NULL is returned and
errno
is set appropriately.
 
AUTHOR
Eamon Walsh <ewalsh@tycho.nsa.gov>
 
SEE ALSO
selabel_lookup(3),
selabel_stats(3),
selinux_set_callback(3),
selinux(8)