113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#ifndef _SEMANAGE_NODE_INTERNAL_H_ 213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#define _SEMANAGE_NODE_INTERNAL_H_ 313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <semanage/node_record.h> 513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <semanage/nodes_local.h> 613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include <semanage/nodes_policy.h> 713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include "database.h" 813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include "handle.h" 913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include "dso.h" 1013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlehidden_proto(semanage_node_create) 1213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_compare) 1313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_compare2) 1413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_clone) 1513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_free) 1613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_key_extract) 1713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_key_free) 1813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_get_addr) 1913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_get_addr_bytes) 2013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_get_mask) 2113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_get_mask_bytes) 2213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_get_proto) 2313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_set_addr) 2413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_set_addr_bytes) 2513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_set_mask) 2613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_set_mask_bytes) 2713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_set_proto) 2813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_get_proto_str) 2913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_get_con) 3013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_set_con) 3113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle hidden_proto(semanage_node_list_local) 3213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* NODE RECORD: method table */ 3413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern record_table_t SEMANAGE_NODE_RTABLE; 3513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int node_file_dbase_init(semanage_handle_t * handle, 37e37fa2f63be89afab9b5f5ddfedbd589d0676c4eCaleb Case const char *path_ro, 38e37fa2f63be89afab9b5f5ddfedbd589d0676c4eCaleb Case const char *path_rw, 39e37fa2f63be89afab9b5f5ddfedbd589d0676c4eCaleb Case dbase_config_t * dconfig); 4013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern void node_file_dbase_release(dbase_config_t * dconfig); 4213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int node_policydb_dbase_init(semanage_handle_t * handle, 4413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t * dconfig); 4513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern void node_policydb_dbase_release(dbase_config_t * dconfig); 4713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleextern int hidden semanage_node_validate_local(semanage_handle_t * handle); 4913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* ==== Internal (to nodes) API === */ 5113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlehidden int semanage_node_compare2_qsort(const semanage_node_t ** node, 5313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_node_t ** node2); 5413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#endif 56