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