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)