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 
9 struct dbase_activedb;
10 typedef struct dbase_activedb dbase_activedb_t;
11 
12 /* ACTIVEDB extension to RECORD interface - method table */
13 typedef 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 */
26 extern 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 */
32 extern void dbase_activedb_release(dbase_activedb_t * dbase);
33 
34 /* ACTIVEDB - method table implementation */
35 extern dbase_table_t SEMANAGE_ACTIVEDB_DTABLE;
36 
37 #endif
38