xref: /aosp_15_r20/external/selinux/libsemanage/src/booleans_active.c (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard Worker /* Copyright (C) 2005 Red Hat, Inc. */
2*2d543d20SAndroid Build Coastguard Worker 
3*2d543d20SAndroid Build Coastguard Worker struct semanage_bool;
4*2d543d20SAndroid Build Coastguard Worker struct semanage_bool_key;
5*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_bool_key record_key_t;
6*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_bool record_t;
7*2d543d20SAndroid Build Coastguard Worker #define DBASE_RECORD_DEFINED
8*2d543d20SAndroid Build Coastguard Worker 
9*2d543d20SAndroid Build Coastguard Worker #include "boolean_internal.h"
10*2d543d20SAndroid Build Coastguard Worker #include "handle.h"
11*2d543d20SAndroid Build Coastguard Worker #include "database.h"
12*2d543d20SAndroid Build Coastguard Worker 
semanage_bool_set_active(semanage_handle_t * handle,const semanage_bool_key_t * key,const semanage_bool_t * data)13*2d543d20SAndroid Build Coastguard Worker int semanage_bool_set_active(semanage_handle_t * handle,
14*2d543d20SAndroid Build Coastguard Worker 			     const semanage_bool_key_t * key,
15*2d543d20SAndroid Build Coastguard Worker 			     const semanage_bool_t * data)
16*2d543d20SAndroid Build Coastguard Worker {
17*2d543d20SAndroid Build Coastguard Worker 
18*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_bool_dbase_active(handle);
19*2d543d20SAndroid Build Coastguard Worker 	return dbase_set(handle, dconfig, key, data);
20*2d543d20SAndroid Build Coastguard Worker }
21*2d543d20SAndroid Build Coastguard Worker 
semanage_bool_query_active(semanage_handle_t * handle,const semanage_bool_key_t * key,semanage_bool_t ** response)22*2d543d20SAndroid Build Coastguard Worker int semanage_bool_query_active(semanage_handle_t * handle,
23*2d543d20SAndroid Build Coastguard Worker 			       const semanage_bool_key_t * key,
24*2d543d20SAndroid Build Coastguard Worker 			       semanage_bool_t ** response)
25*2d543d20SAndroid Build Coastguard Worker {
26*2d543d20SAndroid Build Coastguard Worker 
27*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_bool_dbase_active(handle);
28*2d543d20SAndroid Build Coastguard Worker 	return dbase_query(handle, dconfig, key, response);
29*2d543d20SAndroid Build Coastguard Worker }
30*2d543d20SAndroid Build Coastguard Worker 
semanage_bool_exists_active(semanage_handle_t * handle,const semanage_bool_key_t * key,int * response)31*2d543d20SAndroid Build Coastguard Worker int semanage_bool_exists_active(semanage_handle_t * handle,
32*2d543d20SAndroid Build Coastguard Worker 				const semanage_bool_key_t * key, int *response)
33*2d543d20SAndroid Build Coastguard Worker {
34*2d543d20SAndroid Build Coastguard Worker 
35*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_bool_dbase_active(handle);
36*2d543d20SAndroid Build Coastguard Worker 	return dbase_exists(handle, dconfig, key, response);
37*2d543d20SAndroid Build Coastguard Worker }
38*2d543d20SAndroid Build Coastguard Worker 
semanage_bool_count_active(semanage_handle_t * handle,unsigned int * response)39*2d543d20SAndroid Build Coastguard Worker int semanage_bool_count_active(semanage_handle_t * handle,
40*2d543d20SAndroid Build Coastguard Worker 			       unsigned int *response)
41*2d543d20SAndroid Build Coastguard Worker {
42*2d543d20SAndroid Build Coastguard Worker 
43*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_bool_dbase_active(handle);
44*2d543d20SAndroid Build Coastguard Worker 	return dbase_count(handle, dconfig, response);
45*2d543d20SAndroid Build Coastguard Worker }
46*2d543d20SAndroid Build Coastguard Worker 
semanage_bool_iterate_active(semanage_handle_t * handle,int (* handler)(const semanage_bool_t * record,void * varg),void * handler_arg)47*2d543d20SAndroid Build Coastguard Worker int semanage_bool_iterate_active(semanage_handle_t * handle,
48*2d543d20SAndroid Build Coastguard Worker 				 int (*handler) (const semanage_bool_t * record,
49*2d543d20SAndroid Build Coastguard Worker 						 void *varg), void *handler_arg)
50*2d543d20SAndroid Build Coastguard Worker {
51*2d543d20SAndroid Build Coastguard Worker 
52*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_bool_dbase_active(handle);
53*2d543d20SAndroid Build Coastguard Worker 	return dbase_iterate(handle, dconfig, handler, handler_arg);
54*2d543d20SAndroid Build Coastguard Worker }
55*2d543d20SAndroid Build Coastguard Worker 
semanage_bool_list_active(semanage_handle_t * handle,semanage_bool_t *** records,unsigned int * count)56*2d543d20SAndroid Build Coastguard Worker int semanage_bool_list_active(semanage_handle_t * handle,
57*2d543d20SAndroid Build Coastguard Worker 			      semanage_bool_t *** records, unsigned int *count)
58*2d543d20SAndroid Build Coastguard Worker {
59*2d543d20SAndroid Build Coastguard Worker 
60*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_bool_dbase_active(handle);
61*2d543d20SAndroid Build Coastguard Worker 	return dbase_list(handle, dconfig, records, count);
62*2d543d20SAndroid Build Coastguard Worker }
63