Lines Matching refs:handle
9 static int assert_init(semanage_handle_t * handle, dbase_config_t * dconfig) in assert_init() argument
14 ERR(handle, in assert_init()
24 static int enter_ro(semanage_handle_t * handle, dbase_config_t * dconfig) in enter_ro() argument
27 if (assert_init(handle, dconfig) < 0) in enter_ro()
30 if (!handle->is_in_transaction && in enter_ro()
31 handle->conf->store_type == SEMANAGE_CON_DIRECT) { in enter_ro()
33 if (semanage_get_active_lock(handle) < 0) { in enter_ro()
34 ERR(handle, "could not get the active lock"); in enter_ro()
39 if (dconfig->dtable->cache(handle, dconfig->dbase) < 0) in enter_ro()
45 ERR(handle, "could not enter read-only section"); in enter_ro()
49 static inline int exit_ro(semanage_handle_t * handle) in exit_ro() argument
52 int commit_num = handle->funcs->get_serial(handle); in exit_ro()
54 if (!handle->is_in_transaction && in exit_ro()
55 handle->conf->store_type == SEMANAGE_CON_DIRECT) in exit_ro()
56 semanage_release_active_lock(handle); in exit_ro()
61 static int enter_rw(semanage_handle_t * handle, dbase_config_t * dconfig) in enter_rw() argument
64 if (assert_init(handle, dconfig) < 0) in enter_rw()
67 if (!handle->is_in_transaction) { in enter_rw()
68 ERR(handle, "this operation requires a transaction"); in enter_rw()
72 if (dconfig->dtable->cache(handle, dconfig->dbase) < 0) in enter_rw()
78 ERR(handle, "could not enter read-write section"); in enter_rw()
82 int dbase_modify(semanage_handle_t * handle, in dbase_modify() argument
87 if (enter_rw(handle, dconfig) < 0) in dbase_modify()
90 if (dconfig->dtable->modify(handle, dconfig->dbase, key, data) < 0) in dbase_modify()
96 int dbase_set(semanage_handle_t * handle, in dbase_set() argument
101 if (enter_rw(handle, dconfig) < 0) in dbase_set()
104 if (dconfig->dtable->set(handle, dconfig->dbase, key, data) < 0) in dbase_set()
110 int dbase_del(semanage_handle_t * handle, in dbase_del() argument
114 if (enter_rw(handle, dconfig) < 0) in dbase_del()
117 if (dconfig->dtable->del(handle, dconfig->dbase, key) < 0) in dbase_del()
123 int dbase_query(semanage_handle_t * handle, in dbase_query() argument
128 if (enter_ro(handle, dconfig) < 0) in dbase_query()
131 if (dconfig->dtable->query(handle, dconfig->dbase, key, response) < 0) { in dbase_query()
132 exit_ro(handle); in dbase_query()
136 return exit_ro(handle); in dbase_query()
139 int dbase_exists(semanage_handle_t * handle, in dbase_exists() argument
144 if (enter_ro(handle, dconfig) < 0) in dbase_exists()
147 if (dconfig->dtable->exists(handle, dconfig->dbase, key, response) < 0) { in dbase_exists()
148 exit_ro(handle); in dbase_exists()
152 return exit_ro(handle); in dbase_exists()
155 int dbase_count(semanage_handle_t * handle, in dbase_count() argument
159 if (enter_ro(handle, dconfig) < 0) in dbase_count()
162 if (dconfig->dtable->count(handle, dconfig->dbase, response) < 0) { in dbase_count()
163 exit_ro(handle); in dbase_count()
167 return exit_ro(handle); in dbase_count()
170 int dbase_iterate(semanage_handle_t * handle, in dbase_iterate() argument
176 if (enter_ro(handle, dconfig) < 0) in dbase_iterate()
179 if (dconfig->dtable->iterate(handle, dconfig->dbase, fn, fn_arg) < 0) { in dbase_iterate()
180 exit_ro(handle); in dbase_iterate()
184 return exit_ro(handle); in dbase_iterate()
187 int dbase_list(semanage_handle_t * handle, in dbase_list() argument
192 if (enter_ro(handle, dconfig) < 0) in dbase_list()
195 if (dconfig->dtable->list(handle, dconfig->dbase, records, count) < 0) { in dbase_list()
196 exit_ro(handle); in dbase_list()
200 return exit_ro(handle); in dbase_list()