113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle/* Copyright (C) 2005 Red Hat, Inc. */ 213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlestruct semanage_node; 413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlestruct semanage_node_key; 513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindletypedef struct semanage_node_key record_key_t; 613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindletypedef struct semanage_node record_t; 713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#define DBASE_RECORD_DEFINED 813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include "node_internal.h" 1013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include "handle.h" 1113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle#include "database.h" 1213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint semanage_node_modify_local(semanage_handle_t * handle, 1413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_node_key_t * key, 1513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_node_t * data) 1613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 1713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 1813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t *dconfig = semanage_node_dbase_local(handle); 1913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return dbase_modify(handle, dconfig, key, data); 2013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 2113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint semanage_node_del_local(semanage_handle_t * handle, 2313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_node_key_t * key) 2413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 2513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 2613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t *dconfig = semanage_node_dbase_local(handle); 2713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return dbase_del(handle, dconfig, key); 2813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 2913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint semanage_node_query_local(semanage_handle_t * handle, 3113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_node_key_t * key, 3213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_node_t ** response) 3313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 3413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t *dconfig = semanage_node_dbase_local(handle); 3613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return dbase_query(handle, dconfig, key, response); 3713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 3813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 3913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint semanage_node_exists_local(semanage_handle_t * handle, 4013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle const semanage_node_key_t * key, int *response) 4113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 4213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t *dconfig = semanage_node_dbase_local(handle); 4413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return dbase_exists(handle, dconfig, key, response); 4513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 4613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 4713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint semanage_node_count_local(semanage_handle_t * handle, 4813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle unsigned int *response) 4913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 5013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t *dconfig = semanage_node_dbase_local(handle); 5213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return dbase_count(handle, dconfig, response); 5313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 5413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 5513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint semanage_node_iterate_local(semanage_handle_t * handle, 5613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle int (*handler) (const semanage_node_t * record, 5713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle void *varg), void *handler_arg) 5813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 5913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 6013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t *dconfig = semanage_node_dbase_local(handle); 6113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return dbase_iterate(handle, dconfig, handler, handler_arg); 6213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 6313cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 6413cd4c8960688af11ad23b4c946149015c80d54Joshua Brindleint semanage_node_list_local(semanage_handle_t * handle, 6513cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle semanage_node_t *** records, unsigned int *count) 6613cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle{ 6713cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 6813cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle dbase_config_t *dconfig = semanage_node_dbase_local(handle); 6913cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle return dbase_list(handle, dconfig, records, count); 7013cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle} 7113cd4c8960688af11ad23b4c946149015c80d54Joshua Brindle 7213cd4c8960688af11ad23b4c946149015c80d54Joshua Brindlehidden_def(semanage_node_list_local) 73