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