#if defined (IBMOS2) || defined (AIX_PROD)
/* @(#)95	1.10  src/dce/utils/acldb/dbif.h, dce.utils.acldb.src, os2dce21.dss, 960602a.1 3/20/96 14:00:42  */
/*
 *   COMPONENT_NAME: dce.utils.acldb.src
 *
 *   FUNCTIONS: none
 *
 *   ORIGINS: 72
 *
 */
#endif /* IBMOS2 || AIX_PROD */
/* ______________________________________________________________________ */
/*
 *  @OSF_COPYRIGHT@
 *  COPYRIGHT NOTICE
 *  Copyright (c) 1993 Open Software Foundation, Inc.
 *  ALL RIGHTS RESERVED (DCE).  See the file named COPYRIGHT.DCE in the
 *  src directory for the full copyright text.
 */
/*
 * HISTORY
 * $Log: dbif.h,v $
 * Revision 1.1.2.6  1994/05/11  15:33:05  bowe
 * 	Correct args/cleanup dce_db_std_header_init() [CR 10603]
 * 	[1994/05/11  15:32:52  bowe]
 *
 * 	Correct args to dce_db_std_header_init() [CR 10603]
 * 	[1994/05/11  15:27:02  bowe]
 *
 * Revision 1.1.2.5  1994/05/10  21:45:03  bowe
 * 	Adjusted prototypes for reality
 * 	[1994/05/10  21:39:34  bowe]
 * 
 * Revision 1.1.2.4  1994/03/28  21:34:51  bowe
 * 	Added prototype for dce_db_inq_count()
 * 	[1994/03/28  21:18:05  bowe]
 * 
 * Revision 1.1.2.3  1994/03/09  22:56:43  bowe
 * 	Account for simpler acl_uuid in header.  Adjusted prototype for
 * 	dce_db_std_header_fetch().  Added prototypes: dce_db_delete_by_{name,uuid}.
 * 	[1994/03/09  22:46:38  bowe]
 * 
 * Revision 1.1.2.2  1994/03/02  20:10:09  bowe
 * 	Fixed misspelled func prototype name - dce_db_std_header_fetch().
 * 	[1994/03/01  13:44:14  bowe]
 * 
 * Revision 1.1.2.1  1994/01/24  22:01:40  bowe
 * 	Initial checkin
 * 	[1994/01/24  21:59:30  bowe]
 * 
 * Revision 1.1.2.1  1993/12/02  20:46:09  bowe
 * 	Initial revision.
 * 	[1993/12/02  20:33:00  bowe]
 * 
 * $EndLog$
 */
/* ______________________________________________________________________ */

#ifndef _DCE_DB_H_
#define _DCE_DB_H_

#include <dce/database.h>
#include <dce/dcelibmsg.h>

/* ______________________________________________________________________ */

/* public-accessible stuff */

typedef void (*dce_db_convert_func_t)(idl_es_handle_t, void *, error_status_t *);

#define db_c_std_header		0x01
#define db_c_acl_uuid_header	0x02
#define db_c_index_by_name	0x04
#define db_c_index_by_uuid	0x08
#define db_c_readonly		0x10
#define db_c_create		0x20
#define db_c_no_auto_sync	0x40

#ifdef _DBIMPL_H_                                         /* CMVC 19645 */
typedef struct dce_db_handle_s_t *dce_db_handle_t;
#else                                                     /* CMVC 19645 */
typedef void *dce_db_handle_t;                            /* CMVC 19645 */
#endif                                                    /* CMVC 19645 */

/* ______________________________________________________________________ */

/* function prototypes */

#ifdef IBMOS2 /* CMVC 18422 */
  #ifndef DCEAPI
  #include <dce/dcedef.h>
  #endif
void  DCEAPI dce_db_open(
#else
void dce_db_open(
#endif /* CMVC 18422 */
	const char *, const char *, unsigned32, dce_db_convert_func_t,
	dce_db_handle_t *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_close(
#else
void dce_db_close(
#endif /* CMVC 18422 */
	dce_db_handle_t *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_free(
#else
void dce_db_free(
#endif /* CMVC 18422 */ 
	dce_db_handle_t, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_fetch(
#else
void dce_db_fetch(
#endif /* CMVC 18422 */
dce_db_handle_t, void *, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_fetch_by_name(
#else
void dce_db_fetch_by_name(
#endif /* CMVC 18422 */
	dce_db_handle_t, char *, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_fetch_by_uuid(
#else
void dce_db_fetch_by_uuid(
#endif /* CMVC 18422 */
	dce_db_handle_t, uuid_t *, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_store(
#else
void dce_db_store(
#endif /* CMVC 18422 */
	dce_db_handle_t, void *, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_store_by_name(
#else
void dce_db_store_by_name(
#endif /* CMVC 18422 */
	dce_db_handle_t, char *, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_store_by_uuid(
#else
void dce_db_store_by_uuid(
#endif /* CMVC 18422 */
	dce_db_handle_t, uuid_t *, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_lock(
#else
void dce_db_lock(
#endif /* CMVC 18422 */
	dce_db_handle_t, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_unlock(
#else
void dce_db_unlock(
#endif /* CMVC 18422 */
	dce_db_handle_t, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_iter_start(
#else  
void dce_db_iter_start(	
#endif /* CMVC 18422 */
	dce_db_handle_t, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_iter_next(
#else
void dce_db_iter_next(
#endif /* CMVC 18422 */
	dce_db_handle_t, void **, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_iter_next_by_name(
#else
void dce_db_iter_next_by_name(
#endif /* CMVC 18422 */
	dce_db_handle_t, char **, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_iter_next_by_uuid(
#else
void dce_db_iter_next_by_uuid(
#endif /* CMVC 18422 */
	dce_db_handle_t, uuid_t **, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_iter_done(
#else
void dce_db_iter_done(
#endif /* CMVC 18422 */
	dce_db_handle_t, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_inq_count(
#else
void dce_db_inq_count(
#endif /* CMVC 18422 */
	dce_db_handle_t, unsigned32 *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_delete(
#else
void dce_db_delete(
#endif /* CMVC 18422 */
	dce_db_handle_t, void *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_delete_by_name(
#else 
void dce_db_delete_by_name(
#endif /* CMVC 18422 */
	dce_db_handle_t, char *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_delete_by_uuid(
#else
void dce_db_delete_by_uuid(
#endif /* CMVC 18422 */
	dce_db_handle_t, uuid_t *, error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_header_fetch(
#else
void dce_db_header_fetch(
#endif /* CMVC 18422 */
	dce_db_handle_t, void *, dce_db_header_t *,
	error_status_t *);

#ifdef IBMOS2 /* CMVC 18422 */
void DCEAPI dce_db_std_header_init(
#else
void dce_db_std_header_init(
#endif /* CMVC 18422 */
	dce_db_handle_t, dce_db_header_t *, uuid_t *,
	uuid_t *, uuid_t *, uuid_t *, unsigned32, error_status_t *);

#endif /* _DCE_DB_H_ */
