xref: /aosp_15_r20/external/selinux/libsemanage/src/users_policy.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_user;
4*2d543d20SAndroid Build Coastguard Worker struct semanage_user_key;
5*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_user_key record_key_t;
6*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_user record_t;
7*2d543d20SAndroid Build Coastguard Worker #define DBASE_RECORD_DEFINED
8*2d543d20SAndroid Build Coastguard Worker 
9*2d543d20SAndroid Build Coastguard Worker #include "user_internal.h"
10*2d543d20SAndroid Build Coastguard Worker #include "handle.h"
11*2d543d20SAndroid Build Coastguard Worker #include "database.h"
12*2d543d20SAndroid Build Coastguard Worker 
semanage_user_query(semanage_handle_t * handle,const semanage_user_key_t * key,semanage_user_t ** response)13*2d543d20SAndroid Build Coastguard Worker int semanage_user_query(semanage_handle_t * handle,
14*2d543d20SAndroid Build Coastguard Worker 			const semanage_user_key_t * key,
15*2d543d20SAndroid Build Coastguard Worker 			semanage_user_t ** response)
16*2d543d20SAndroid Build Coastguard Worker {
17*2d543d20SAndroid Build Coastguard Worker 
18*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_user_dbase_policy(handle);
19*2d543d20SAndroid Build Coastguard Worker 	return dbase_query(handle, dconfig, key, response);
20*2d543d20SAndroid Build Coastguard Worker }
21*2d543d20SAndroid Build Coastguard Worker 
22*2d543d20SAndroid Build Coastguard Worker 
semanage_user_exists(semanage_handle_t * handle,const semanage_user_key_t * key,int * response)23*2d543d20SAndroid Build Coastguard Worker int semanage_user_exists(semanage_handle_t * handle,
24*2d543d20SAndroid Build Coastguard Worker 			 const semanage_user_key_t * key, int *response)
25*2d543d20SAndroid Build Coastguard Worker {
26*2d543d20SAndroid Build Coastguard Worker 
27*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_user_dbase_policy(handle);
28*2d543d20SAndroid Build Coastguard Worker 	return dbase_exists(handle, dconfig, key, response);
29*2d543d20SAndroid Build Coastguard Worker }
30*2d543d20SAndroid Build Coastguard Worker 
31*2d543d20SAndroid Build Coastguard Worker 
semanage_user_count(semanage_handle_t * handle,unsigned int * response)32*2d543d20SAndroid Build Coastguard Worker int semanage_user_count(semanage_handle_t * handle, unsigned int *response)
33*2d543d20SAndroid Build Coastguard Worker {
34*2d543d20SAndroid Build Coastguard Worker 
35*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_user_dbase_policy(handle);
36*2d543d20SAndroid Build Coastguard Worker 	return dbase_count(handle, dconfig, response);
37*2d543d20SAndroid Build Coastguard Worker }
38*2d543d20SAndroid Build Coastguard Worker 
semanage_user_iterate(semanage_handle_t * handle,int (* handler)(const semanage_user_t * record,void * varg),void * handler_arg)39*2d543d20SAndroid Build Coastguard Worker int semanage_user_iterate(semanage_handle_t * handle,
40*2d543d20SAndroid Build Coastguard Worker 			  int (*handler) (const semanage_user_t * record,
41*2d543d20SAndroid Build Coastguard Worker 					  void *varg), void *handler_arg)
42*2d543d20SAndroid Build Coastguard Worker {
43*2d543d20SAndroid Build Coastguard Worker 
44*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_user_dbase_policy(handle);
45*2d543d20SAndroid Build Coastguard Worker 	return dbase_iterate(handle, dconfig, handler, handler_arg);
46*2d543d20SAndroid Build Coastguard Worker }
47*2d543d20SAndroid Build Coastguard Worker 
semanage_user_list(semanage_handle_t * handle,semanage_user_t *** records,unsigned int * count)48*2d543d20SAndroid Build Coastguard Worker int semanage_user_list(semanage_handle_t * handle,
49*2d543d20SAndroid Build Coastguard Worker 		       semanage_user_t *** records, unsigned int *count)
50*2d543d20SAndroid Build Coastguard Worker {
51*2d543d20SAndroid Build Coastguard Worker 
52*2d543d20SAndroid Build Coastguard Worker 	dbase_config_t *dconfig = semanage_user_dbase_policy(handle);
53*2d543d20SAndroid Build Coastguard Worker 	return dbase_list(handle, dconfig, records, count);
54*2d543d20SAndroid Build Coastguard Worker }
55