selabel_lookup — obtain SELinux security context from a string label


#include <selinux/selinux.h>
#include <selinux/label.h>

int selabel_lookup(struct selabel_handle *hnd, char **context,
const char *key, int type);

int selabel_lookup_raw(struct selabel_handle *hnd, char **context,
const char *key, int type);


selabel_lookup() performs a lookup operation on the handle hnd, returning the result in the memory pointed to by context, which must be freed by the caller using freecon(3). The key and type parameters are the inputs to the lookup operation and are interpreted according to the specific backend that handle is open on.

selabel_lookup_raw() behaves identically to selabel_lookup() but does not perform context translation.

Return Value

On success, zero is returned.  On error, -1 is returned and errno is set appropriately.



No context corresponding to the input key and type was found.


The key and/or type inputs are invalid, or the context being returned failed validation.


An attempt to allocate memory failed.


Eamon Walsh <>

See Also

selabel_open(3), selabel_stats(3), selinux_set_callback(3), selinux(8)

Referenced By

matchpathcon(3), selabel_db(5), selabel_file(5), selabel_media(5), selabel_open(3), selabel_stats(3), selabel_x(5).

The man page selabel_lookup_raw(3) is an alias of selabel_lookup(3).

18 Jun 2007 SELinux API documentation