1/* Copyright (C) 2005 Red Hat, Inc. */
2
3#ifndef _SEMANAGE_DATABASE_ACTIVEDB_INTERNAL_H_
4#define _SEMANAGE_DATABASE_ACTIVEDB_INTERNAL_H_
5
6#include "database.h"
7#include "handle.h"
8
9struct dbase_activedb;
10typedef struct dbase_activedb dbase_activedb_t;
11
12/* ACTIVEDB extension to RECORD interface - method table */
13typedef struct record_activedb_table {
14
15	/* Read a list of records */
16	int (*read_list) (semanage_handle_t * handle,
17			  record_t *** records, unsigned int *count);
18
19	/* Commit a list of records */
20	int (*commit_list) (semanage_handle_t * handle,
21			    record_t ** records, unsigned int count);
22
23} record_activedb_table_t;
24
25/* ACTIVEDB - initialization */
26extern int dbase_activedb_init(semanage_handle_t * handle,
27			       record_table_t * rtable,
28			       record_activedb_table_t * ratable,
29			       dbase_activedb_t ** dbase);
30
31/* ACTIVEDB - release */
32extern void dbase_activedb_release(dbase_activedb_t * dbase);
33
34/* ACTIVEDB - method table implementation */
35extern dbase_table_t SEMANAGE_ACTIVEDB_DTABLE;
36
37#endif
38