113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* Copyright (C) 2005 Red Hat, Inc. */ 213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#ifndef _SEMANAGE_CONTEXT_RECORD_H_ 413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#define _SEMANAGE_CONTEXT_RECORD_H_ 513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <semanage/handle.h> 713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#ifndef _SEMANAGE_CONTEXT_DEFINED_ 913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlestruct semanage_context; 1013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindletypedef struct semanage_context semanage_context_t; 1113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#define _SEMANAGE_CONTEXT_DEFINED_ 1213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#endif 1313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* User */ 1513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern const char *semanage_context_get_user(const semanage_context_t * con); 1613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_set_user(semanage_handle_t * handle, 1813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_context_t * con, 1913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const char *user); 2013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* Role */ 2213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern const char *semanage_context_get_role(const semanage_context_t * con); 2313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_set_role(semanage_handle_t * handle, 2513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_context_t * con, 2613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const char *role); 2713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* Type */ 2913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern const char *semanage_context_get_type(const semanage_context_t * con); 3013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_set_type(semanage_handle_t * handle, 3213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_context_t * con, 3313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const char *type); 3413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* MLS */ 3613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern const char *semanage_context_get_mls(const semanage_context_t * con); 3713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_set_mls(semanage_handle_t * handle, 3913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_context_t * con, 4013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const char *mls_range); 4113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* Create/Clone/Destroy */ 4313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_create(semanage_handle_t * handle, 4413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_context_t ** con_ptr); 4513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_clone(semanage_handle_t * handle, 4713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_context_t * con, 4813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_context_t ** con_ptr); 4913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern void semanage_context_free(semanage_context_t * con); 5113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* Parse to/from string */ 5313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_from_string(semanage_handle_t * handle, 5413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const char *str, 5513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_context_t ** con); 5613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int semanage_context_to_string(semanage_handle_t * handle, 5813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_context_t * con, 5913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle char **str_ptr); 6013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 6113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#endif 62