• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef _SEMANAGE_NODE_INTERNAL_H_
2 #define _SEMANAGE_NODE_INTERNAL_H_
3 
4 #include <semanage/node_record.h>
5 #include <semanage/nodes_local.h>
6 #include <semanage/nodes_policy.h>
7 #include "database.h"
8 #include "handle.h"
9 #include "dso.h"
10 
11 hidden_proto(semanage_node_create)
12     hidden_proto(semanage_node_compare)
13     hidden_proto(semanage_node_compare2)
14     hidden_proto(semanage_node_clone)
15     hidden_proto(semanage_node_free)
16     hidden_proto(semanage_node_key_extract)
17     hidden_proto(semanage_node_key_free)
18     hidden_proto(semanage_node_get_addr)
19     hidden_proto(semanage_node_get_addr_bytes)
20     hidden_proto(semanage_node_get_mask)
21     hidden_proto(semanage_node_get_mask_bytes)
22     hidden_proto(semanage_node_get_proto)
23     hidden_proto(semanage_node_set_addr)
24     hidden_proto(semanage_node_set_addr_bytes)
25     hidden_proto(semanage_node_set_mask)
26     hidden_proto(semanage_node_set_mask_bytes)
27     hidden_proto(semanage_node_set_proto)
28     hidden_proto(semanage_node_get_proto_str)
29     hidden_proto(semanage_node_get_con)
30     hidden_proto(semanage_node_set_con)
31     hidden_proto(semanage_node_list_local)
32 
33 /* NODE RECORD: method table */
34 extern record_table_t SEMANAGE_NODE_RTABLE;
35 
36 extern int node_file_dbase_init(semanage_handle_t * handle,
37 				const char *path_ro,
38 				const char *path_rw,
39 				dbase_config_t * dconfig);
40 
41 extern void node_file_dbase_release(dbase_config_t * dconfig);
42 
43 extern int node_policydb_dbase_init(semanage_handle_t * handle,
44 				    dbase_config_t * dconfig);
45 
46 extern void node_policydb_dbase_release(dbase_config_t * dconfig);
47 
48 extern int hidden semanage_node_validate_local(semanage_handle_t * handle);
49 
50 /* ==== Internal (to nodes) API === */
51 
52 hidden int semanage_node_compare2_qsort(const semanage_node_t ** node,
53 					const semanage_node_t ** node2);
54 
55 #endif
56