1#ifndef _SELINUX_CONTEXT_H_ 2#define _SELINUX_CONTEXT_H_ 3 4#ifdef __cplusplus 5extern "C" { 6#endif 7 8/* 9 * Functions to deal with security contexts in user space. 10 */ 11 12 typedef struct { 13 void *ptr; 14 } context_s_t; 15 16 typedef context_s_t *context_t; 17 18/* Return a new context initialized to a context string */ 19 20 extern context_t context_new(const char *); 21 22/* 23 * Return a pointer to the string value of the context_t 24 * Valid until the next call to context_str or context_free 25 * for the same context_t* 26 */ 27 28 extern char *context_str(context_t); 29 30/* Free the storage used by a context */ 31 extern void context_free(context_t); 32 33/* Get a pointer to the string value of a context component */ 34 35 extern const char *context_type_get(context_t); 36 extern const char *context_range_get(context_t); 37 extern const char *context_role_get(context_t); 38 extern const char *context_user_get(context_t); 39 40/* Set a context component. Returns nonzero if unsuccessful */ 41 42 extern int context_type_set(context_t, const char *); 43 extern int context_range_set(context_t, const char *); 44 extern int context_role_set(context_t, const char *); 45 extern int context_user_set(context_t, const char *); 46 47#ifdef __cplusplus 48} 49#endif 50#endif 51