NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |SEE ALSO |COLOPHON | |
context_new(3) SELinux API documentationcontext_new(3)context_new, context_str, context_free, context_type_get, context_type_set, context_range_get, context_range_set,context_role_get, context_role_set, context_user_get, context_user_set - Routines to manipulate SELinux security contexts
#include <selinux/context.h>context_t context_new(const char *context_str);const char * context_str(context_tcon);void context_free(context_tcon);const char * context_type_get(context_tcon);const char * context_range_get(context_tcon);const char * context_role_get(context_tcon);const char * context_user_get(context_tcon);int context_type_set(context_tcon, const char *type);int context_range_set(context_tcon, const char *range);int context_role_set(context_tcon, const char *role);int context_user_set(context_tcon, const char *user);
These functions allow an application to manipulate the fields of a security context string without requiring it to know the format of the string.context_new() returns a new context initialized to a context string.context_str() returns a pointer to the string value of thecontext_t, valid until the next call tocontext_str() orcontext_free() for the samecontext_t*.context_free() frees the storage used by a context.context_type_get(),context_range_get(),context_role_get(),context_user_get() get a pointer to the string value of a context component.Note:Values returned by the get functions are only valid until the next call to a set function orcontext_free() for the samecontext_tstructure.context_type_set(),context_range_set(),context_role_set(),context_user_set() set a context component.
On failurecontext_*_set() functions return non-zero and 0 on success. The other functions return NULL on failure and non-NULL on success. On failureerrno is set appropriately.
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.orgdwalsh@redhat.com 20 December 2011context_new(3)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. | ![]() |