1*2d543d20SAndroid Build Coastguard Worker /* Copyright (C) 2005 Red Hat, Inc. */
2*2d543d20SAndroid Build Coastguard Worker
3*2d543d20SAndroid Build Coastguard Worker struct semanage_seuser;
4*2d543d20SAndroid Build Coastguard Worker struct semanage_seuser_key;
5*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_seuser_key record_key_t;
6*2d543d20SAndroid Build Coastguard Worker typedef struct semanage_seuser record_t;
7*2d543d20SAndroid Build Coastguard Worker #define DBASE_RECORD_DEFINED
8*2d543d20SAndroid Build Coastguard Worker
9*2d543d20SAndroid Build Coastguard Worker #include <sepol/policydb.h>
10*2d543d20SAndroid Build Coastguard Worker #include <sepol/context.h>
11*2d543d20SAndroid Build Coastguard Worker #include "user_internal.h"
12*2d543d20SAndroid Build Coastguard Worker #include "seuser_internal.h"
13*2d543d20SAndroid Build Coastguard Worker #include "handle.h"
14*2d543d20SAndroid Build Coastguard Worker #include "database.h"
15*2d543d20SAndroid Build Coastguard Worker #include "debug.h"
16*2d543d20SAndroid Build Coastguard Worker
semanage_seuser_query(semanage_handle_t * handle,const semanage_seuser_key_t * key,semanage_seuser_t ** response)17*2d543d20SAndroid Build Coastguard Worker int semanage_seuser_query(semanage_handle_t * handle,
18*2d543d20SAndroid Build Coastguard Worker const semanage_seuser_key_t * key,
19*2d543d20SAndroid Build Coastguard Worker semanage_seuser_t ** response)
20*2d543d20SAndroid Build Coastguard Worker {
21*2d543d20SAndroid Build Coastguard Worker
22*2d543d20SAndroid Build Coastguard Worker dbase_config_t *dconfig = semanage_seuser_dbase_policy(handle);
23*2d543d20SAndroid Build Coastguard Worker return dbase_query(handle, dconfig, key, response);
24*2d543d20SAndroid Build Coastguard Worker }
25*2d543d20SAndroid Build Coastguard Worker
semanage_seuser_exists(semanage_handle_t * handle,const semanage_seuser_key_t * key,int * response)26*2d543d20SAndroid Build Coastguard Worker int semanage_seuser_exists(semanage_handle_t * handle,
27*2d543d20SAndroid Build Coastguard Worker const semanage_seuser_key_t * key, int *response)
28*2d543d20SAndroid Build Coastguard Worker {
29*2d543d20SAndroid Build Coastguard Worker
30*2d543d20SAndroid Build Coastguard Worker dbase_config_t *dconfig = semanage_seuser_dbase_policy(handle);
31*2d543d20SAndroid Build Coastguard Worker return dbase_exists(handle, dconfig, key, response);
32*2d543d20SAndroid Build Coastguard Worker }
33*2d543d20SAndroid Build Coastguard Worker
semanage_seuser_count(semanage_handle_t * handle,unsigned int * response)34*2d543d20SAndroid Build Coastguard Worker int semanage_seuser_count(semanage_handle_t * handle, unsigned int *response)
35*2d543d20SAndroid Build Coastguard Worker {
36*2d543d20SAndroid Build Coastguard Worker
37*2d543d20SAndroid Build Coastguard Worker dbase_config_t *dconfig = semanage_seuser_dbase_policy(handle);
38*2d543d20SAndroid Build Coastguard Worker return dbase_count(handle, dconfig, response);
39*2d543d20SAndroid Build Coastguard Worker }
40*2d543d20SAndroid Build Coastguard Worker
semanage_seuser_iterate(semanage_handle_t * handle,int (* handler)(const semanage_seuser_t * record,void * varg),void * handler_arg)41*2d543d20SAndroid Build Coastguard Worker int semanage_seuser_iterate(semanage_handle_t * handle,
42*2d543d20SAndroid Build Coastguard Worker int (*handler) (const semanage_seuser_t * record,
43*2d543d20SAndroid Build Coastguard Worker void *varg), void *handler_arg)
44*2d543d20SAndroid Build Coastguard Worker {
45*2d543d20SAndroid Build Coastguard Worker
46*2d543d20SAndroid Build Coastguard Worker dbase_config_t *dconfig = semanage_seuser_dbase_policy(handle);
47*2d543d20SAndroid Build Coastguard Worker return dbase_iterate(handle, dconfig, handler, handler_arg);
48*2d543d20SAndroid Build Coastguard Worker }
49*2d543d20SAndroid Build Coastguard Worker
50*2d543d20SAndroid Build Coastguard Worker
semanage_seuser_list(semanage_handle_t * handle,semanage_seuser_t *** records,unsigned int * count)51*2d543d20SAndroid Build Coastguard Worker int semanage_seuser_list(semanage_handle_t * handle,
52*2d543d20SAndroid Build Coastguard Worker semanage_seuser_t *** records, unsigned int *count)
53*2d543d20SAndroid Build Coastguard Worker {
54*2d543d20SAndroid Build Coastguard Worker
55*2d543d20SAndroid Build Coastguard Worker dbase_config_t *dconfig = semanage_seuser_dbase_policy(handle);
56*2d543d20SAndroid Build Coastguard Worker return dbase_list(handle, dconfig, records, count);
57*2d543d20SAndroid Build Coastguard Worker }
58