1*2d543d20SAndroid Build Coastguard Worker #ifndef _SEPOL_INTERNAL_CONTEXT_H_ 2*2d543d20SAndroid Build Coastguard Worker #define _SEPOL_INTERNAL_CONTEXT_H_ 3*2d543d20SAndroid Build Coastguard Worker 4*2d543d20SAndroid Build Coastguard Worker #include <stddef.h> 5*2d543d20SAndroid Build Coastguard Worker #include "context_internal.h" 6*2d543d20SAndroid Build Coastguard Worker #include <sepol/policydb/context.h> 7*2d543d20SAndroid Build Coastguard Worker #include <sepol/policydb/policydb.h> 8*2d543d20SAndroid Build Coastguard Worker #include <sepol/handle.h> 9*2d543d20SAndroid Build Coastguard Worker 10*2d543d20SAndroid Build Coastguard Worker /* Create a context structure from high level representation */ 11*2d543d20SAndroid Build Coastguard Worker extern int context_from_record(sepol_handle_t * handle, 12*2d543d20SAndroid Build Coastguard Worker const policydb_t * policydb, 13*2d543d20SAndroid Build Coastguard Worker context_struct_t ** cptr, 14*2d543d20SAndroid Build Coastguard Worker const sepol_context_t * data); 15*2d543d20SAndroid Build Coastguard Worker 16*2d543d20SAndroid Build Coastguard Worker extern int context_to_record(sepol_handle_t * handle, 17*2d543d20SAndroid Build Coastguard Worker const policydb_t * policydb, 18*2d543d20SAndroid Build Coastguard Worker const context_struct_t * context, 19*2d543d20SAndroid Build Coastguard Worker sepol_context_t ** record); 20*2d543d20SAndroid Build Coastguard Worker 21*2d543d20SAndroid Build Coastguard Worker /* Create a context structure from string representation */ 22*2d543d20SAndroid Build Coastguard Worker extern int context_from_string(sepol_handle_t * handle, 23*2d543d20SAndroid Build Coastguard Worker const policydb_t * policydb, 24*2d543d20SAndroid Build Coastguard Worker context_struct_t ** cptr, 25*2d543d20SAndroid Build Coastguard Worker const char *con_str, size_t con_str_len); 26*2d543d20SAndroid Build Coastguard Worker 27*2d543d20SAndroid Build Coastguard Worker /* Check if the provided context is valid for this policy */ 28*2d543d20SAndroid Build Coastguard Worker extern int context_is_valid(const policydb_t * policydb, 29*2d543d20SAndroid Build Coastguard Worker const context_struct_t * context); 30*2d543d20SAndroid Build Coastguard Worker 31*2d543d20SAndroid Build Coastguard Worker /* Extract the context as string */ 32*2d543d20SAndroid Build Coastguard Worker extern int context_to_string(sepol_handle_t * handle, 33*2d543d20SAndroid Build Coastguard Worker const policydb_t * policydb, 34*2d543d20SAndroid Build Coastguard Worker const context_struct_t * context, 35*2d543d20SAndroid Build Coastguard Worker char **result, size_t * result_len); 36*2d543d20SAndroid Build Coastguard Worker 37*2d543d20SAndroid Build Coastguard Worker #endif 38