xref: /aosp_15_r20/external/selinux/libsemanage/src/ibpkeys_policy.c (revision 2d543d20722ada2425b5bdab9d0d1d29470e7bba)
1*2d543d20SAndroid Build Coastguard Worker /* Copyright (C) 2017 Mellanox Technologies Inc. */
2*2d543d20SAndroid Build Coastguard Worker 
3*2d543d20SAndroid Build Coastguard Worker struct semanage_ibpkey;
4*2d543d20SAndroid Build Coastguard Worker struct semanage_ibpkey_key;
5*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_ibpkey_key record_key_t;
6*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_ibpkey record_t;
7*2d543d20SAndroid Build Coastguard Worker #define DBASE_RECORD_DEFINED
8*2d543d20SAndroid Build Coastguard Worker 
9*2d543d20SAndroid Build Coastguard Worker #include "ibpkey_internal.h"
10*2d543d20SAndroid Build Coastguard Worker #include "handle.h"
11*2d543d20SAndroid Build Coastguard Worker #include "database.h"
12*2d543d20SAndroid Build Coastguard Worker 
semanage_ibpkey_query(semanage_handle_t * handle,const semanage_ibpkey_key_t * key,semanage_ibpkey_t ** response)13*2d543d20SAndroid Build Coastguard Worker int semanage_ibpkey_query(semanage_handle_t *handle,
14*2d543d20SAndroid Build Coastguard Worker 			  const semanage_ibpkey_key_t *key,
15*2d543d20SAndroid Build Coastguard Worker 			  semanage_ibpkey_t **response)
16*2d543d20SAndroid Build Coastguard Worker {
17*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_ibpkey_dbase_policy(handle);
18*2d543d20SAndroid Build Coastguard Worker 
19*2d543d20SAndroid Build Coastguard Worker 	return dbase_query(handle, dconfig, key, response);
20*2d543d20SAndroid Build Coastguard Worker }
21*2d543d20SAndroid Build Coastguard Worker 
semanage_ibpkey_exists(semanage_handle_t * handle,const semanage_ibpkey_key_t * key,int * response)22*2d543d20SAndroid Build Coastguard Worker int semanage_ibpkey_exists(semanage_handle_t *handle,
23*2d543d20SAndroid Build Coastguard Worker 			   const semanage_ibpkey_key_t *key, int *response)
24*2d543d20SAndroid Build Coastguard Worker {
25*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_ibpkey_dbase_policy(handle);
26*2d543d20SAndroid Build Coastguard Worker 
27*2d543d20SAndroid Build Coastguard Worker 	return dbase_exists(handle, dconfig, key, response);
28*2d543d20SAndroid Build Coastguard Worker }
29*2d543d20SAndroid Build Coastguard Worker 
semanage_ibpkey_count(semanage_handle_t * handle,unsigned int * response)30*2d543d20SAndroid Build Coastguard Worker int semanage_ibpkey_count(semanage_handle_t *handle, unsigned int *response)
31*2d543d20SAndroid Build Coastguard Worker {
32*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_ibpkey_dbase_policy(handle);
33*2d543d20SAndroid Build Coastguard Worker 
34*2d543d20SAndroid Build Coastguard Worker 	return dbase_count(handle, dconfig, response);
35*2d543d20SAndroid Build Coastguard Worker }
36*2d543d20SAndroid Build Coastguard Worker 
semanage_ibpkey_iterate(semanage_handle_t * handle,int (* handler)(const semanage_ibpkey_t * record,void * varg),void * handler_arg)37*2d543d20SAndroid Build Coastguard Worker int semanage_ibpkey_iterate(semanage_handle_t *handle,
38*2d543d20SAndroid Build Coastguard Worker 			    int (*handler)(const semanage_ibpkey_t *record,
39*2d543d20SAndroid Build Coastguard Worker 					   void *varg), void *handler_arg)
40*2d543d20SAndroid Build Coastguard Worker {
41*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_ibpkey_dbase_policy(handle);
42*2d543d20SAndroid Build Coastguard Worker 
43*2d543d20SAndroid Build Coastguard Worker 	return dbase_iterate(handle, dconfig, handler, handler_arg);
44*2d543d20SAndroid Build Coastguard Worker }
45*2d543d20SAndroid Build Coastguard Worker 
semanage_ibpkey_list(semanage_handle_t * handle,semanage_ibpkey_t *** records,unsigned int * count)46*2d543d20SAndroid Build Coastguard Worker int semanage_ibpkey_list(semanage_handle_t *handle,
47*2d543d20SAndroid Build Coastguard Worker 			 semanage_ibpkey_t ***records, unsigned int *count)
48*2d543d20SAndroid Build Coastguard Worker {
49*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_ibpkey_dbase_policy(handle);
50*2d543d20SAndroid Build Coastguard Worker 
51*2d543d20SAndroid Build Coastguard Worker 	return dbase_list(handle, dconfig, records, count);
52*2d543d20SAndroid Build Coastguard Worker }
53