NAME |SYNOPSIS |DESCRIPTION |GLOBAL OPTIONS |BACKENDS |RETURN VALUE |AUTHOR |SEE ALSO |COLOPHON | |
selabel_open(3) SELinux API documentationselabel_open(3)selabel_open, selabel_close - userspace SELinux labeling interface
#include <selinux/selinux.h>#include <selinux/label.h>struct selabel_handle *selabel_open(unsigned intbackend,const struct selinux_opt*options,unsignednopt);void selabel_close(struct selabel_handle *hnd);
selabel_open() is used to initialize a labeling handle to be used for lookup operations. Thebackend argument specifies which backend is to be opened; the list of current backends appears inBACKENDSbelow. Theoptions argument should be NULL or a pointer to an array ofselinux_optstructures of lengthnopt: struct selinux_opt { int type; const char *value; }; The available option types are described inGLOBAL OPTIONSbelow 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 which may be passed toselabel_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 viaselinux_set_callback(3). Note that an invalid context may not be treated as an error unless it is actually encountered during a lookup operation.SELABEL_OPT_DIGEST A non-null value for this option enables the generation of an SHA1 digest of the spec files loaded as described inselabel_digest(3)
SELABEL_CTX_FILE File contexts backend, described inselabel_file(5).SELABEL_CTX_MEDIA Media contexts backend, described inselabel_media(5).SELABEL_CTX_X X Windows contexts backend, described inselabel_x(5).SELABEL_CTX_DB Database objects contexts backend, described inselabel_db(5).
A non-NULL handle value is returned on success. On error, NULL is returned anderrno is set appropriately.
Eamon Walsh <ewalsh@tycho.nsa.gov>
selabel_lookup(3),selabel_stats(3),selinux_set_callback(3),selinux(8)
This page is part of theselinux (Security-Enhanced Linux user- space libraries and tools) project. Information about the project can be found at ⟨https://github.com/SELinuxProject/selinux/wiki⟩. If you have a bug report for this manual page, see ⟨https://github.com/SELinuxProject/selinux/wiki/Contributing⟩. This page was obtained from the project's upstream Git repository ⟨https://github.com/SELinuxProject/selinux⟩ on 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-08-04.) If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up-to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.org 18 Jun 2007selabel_open(3)Pages that refer to this page:matchpathcon(3), selabel_digest(3), selabel_get_digests_all_partial_matches(3), selabel_lookup(3), selabel_lookup_best_match(3), selabel_partial_match(3), selabel_stats(3), selinux_restorecon(3), selinux_restorecon_default_handle(3), selinux_restorecon_set_sehandle(3), selinux_restorecon_xattr(3), selinux_set_callback(3), selabel_db(5), selabel_file(5), selabel_media(5), selabel_x(5)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |