1b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru#ifndef _SEMANAGE_NODE_INTERNAL_H_ 2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define _SEMANAGE_NODE_INTERNAL_H_ 31b7d32f919554dda9c193b32188251337bc756f1Fredrik Roubert 459d709d503bab6e2b61931737e662dd293b40578ccornelius#include <semanage/node_record.h> 559d709d503bab6e2b61931737e662dd293b40578ccornelius#include <semanage/nodes_local.h> 659d709d503bab6e2b61931737e662dd293b40578ccornelius#include <semanage/nodes_policy.h> 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "database.h" 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "handle.h" 9b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru#include "dso.h" 1059d709d503bab6e2b61931737e662dd293b40578ccornelius 11b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queruhidden_proto(semanage_node_create) 12b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_compare) 13b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_compare2) 14b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_clone) 15b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_free) 16b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_key_extract) 17b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_key_free) 18b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_get_addr) 196d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_get_addr_bytes) 20b0ac937921a2c196d8b9da665135bf6ba01a1ccfJean-Baptiste Queru hidden_proto(semanage_node_get_mask) 2154dcd9b6a06071f647dac967e9e267abb9410720Craig Cornelius hidden_proto(semanage_node_get_mask_bytes) 226d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_get_proto) 236d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_set_addr) 246d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_set_addr_bytes) 256d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_set_mask) 266d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_set_mask_bytes) 276d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_set_proto) 286d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_get_proto_str) 296d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_get_con) 306d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_set_con) 316d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru hidden_proto(semanage_node_list_local) 326d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 336d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru/* NODE RECORD: method table */ 346d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queruextern record_table_t SEMANAGE_NODE_RTABLE; 356d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 366d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queruextern int node_file_dbase_init(semanage_handle_t * handle, 376d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru const char *path_ro, 386d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru const char *path_rw, 396d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru dbase_config_t * dconfig); 406d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 416d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queruextern void node_file_dbase_release(dbase_config_t * dconfig); 426d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 436d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queruextern int node_policydb_dbase_init(semanage_handle_t * handle, 446d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru dbase_config_t * dconfig); 456d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 466d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queruextern void node_policydb_dbase_release(dbase_config_t * dconfig); 476d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 486d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queruextern int hidden semanage_node_validate_local(semanage_handle_t * handle); 496d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 506d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru/* ==== Internal (to nodes) API === */ 516d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 526d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queruhidden int semanage_node_compare2_qsort(const semanage_node_t ** node, 536d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru const semanage_node_t ** node2); 546d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru 556d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru#endif 566d5deb12725f146643d443090dfa11b206df528aJean-Baptiste Queru