/* ----------------------------------------------------------------------------
 * Raima Database Manager
 *
 * Copyright (c) 2001-2008 Birdstep Technology Inc.,  All rights reserved.
 *
 * Use of this software, whether in source code format, or in executable,
 * binary object code form, is governed by the Birdstep LICENSE which
 * is fully described in the LICENSE.TXT file, included within this
 * distribution of files.
 * ----------------------------------------------------------------------------
 */

#ifndef DPROTO_H
#define DPROTO_H

#include "dbtype.h"

RDM_EXPORT int32_t EXTERNAL_FCN d_blobdelete(int32_t field, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_blobread(int32_t field, void *buf, BLOBSIZE_T len, BLOBSIZE_T *size, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_blobseek(int32_t field, BLOBSIZE_T offset, SEEK_TYPE origin, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_blobsize(int32_t field, BLOBSIZE_T *size, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_blobtell(int32_t field, BLOBSIZE_T *offset, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_blobtruncate(int32_t field, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_blobwrite(int32_t field, const void *buf, BLOBSIZE_T size, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_close(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_closetask(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_cmtype(int32_t SET, int32_t *rectype, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_connect(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_cotype(int32_t SET, int32_t *rectype, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_crget(DB_ADDR *dba, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_crread(int32_t FIELD, void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_crset(const DB_ADDR *dba, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_crsetnr(const DB_ADDR *dba, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_crtype(int32_t *rectype, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_crwrite(int32_t FIELD, const void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csmget(int32_t SET, DB_ADDR *dba, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csmread(int32_t SET, int32_t FIELD, void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csmset(int32_t SET, const DB_ADDR *dba, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csmwrite(int32_t SET, int32_t FIELD, const void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csoget(int32_t SET, DB_ADDR *dba, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csoread(int32_t SET, int32_t FIELD, void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csoset(int32_t SET, const DB_ADDR *dba, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csowrite(int32_t SET, int32_t FIELD, const void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_curkey(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_dberr(int32_t errnum, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbini(const char *dir_name, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_dbiniW(const wchar_t *dir_name, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_dbinitrectot(RDM_TASK , int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbmove(const char *dirname, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_dbmoveW(const wchar_t *dirname, RDM_TASK task, int32_t dbn);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_dbnum(const char *dbname, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbnumEx(const char *dbname, const UUID_VAL *, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_dbnumW(const wchar_t *dbname, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbnumExW(const wchar_t *dbname, const UUID_VAL *, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_dbstat(int32_t, int32_t, void *, int32_t, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbsetini(const char *section, const char *key, const char *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbtfsuuid(UUID_VAL *uuid, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbuserid(const char *userid, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_dbuseridW(const wchar_t *userid, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_dbver(const char *fmt, char *buf, int32_t len);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_dbverW(const wchar_t *fmt, wchar_t *buf, int32_t len);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_drrefresh(uint32_t, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_decode_dba4(DB_ADDR4 dba, FILE_NO *file, F_ADDR4 *slot);
RDM_EXPORT int32_t EXTERNAL_FCN d_decode_dba8(DB_ADDR8 dba, FILE_NO *file, F_ADDR8 *slot);
RDM_EXPORT int32_t EXTERNAL_FCN d_decode_dba(DB_ADDR dba, FILE_NO *file, F_ADDR8 *slot);
RDM_EXPORT int32_t EXTERNAL_FCN d_decode_ldba(const DB_ADDR *dba, uint16_t *uno, FILE_NO *file, F_ADDR8 *slot);
RDM_EXPORT int32_t EXTERNAL_FCN d_def_opt(uint32_t optflag, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_delete(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_destroy(const char *dbname, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_destroyW(const wchar_t *dbname, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_discon(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_disdel(RDM_TASK task, int32_t dbn);

RDM_EXPORT int32_t EXTERNAL_FCN d_dbcrypt(const ENC *, uint16_t, RDM_TASK , int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN d_encSetDbMap(const char *dbname, const ENC *enc, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_encSetDbMapW(const wchar_t *dbname, const ENC *enc, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_encCreate(const char *passcode, const ENC **ctx);
RDM_EXPORT int32_t EXTERNAL_FCN d_encCreateEx(ENC_TYPE type, const char *passcode, const ENC **ctx);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_encCreateW(const wchar_t *passcode, const ENC **ctx);
RDM_EXPORT int32_t EXTERNAL_FCN d_encCreateExW(ENC_TYPE type, const wchar_t *passcode, const ENC **ctx);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_encDelete(const ENC *ctx);
RDM_EXPORT int32_t EXTERNAL_FCN d_encGetDefaultContext (ENC_TYPE type, const char *dbname, const ENC **enc);
RDM_EXPORT RDM_BOOLEAN EXTERNAL_FCN d_encHasCustomDefault(void);
RDM_EXPORT int32_t EXTERNAL_FCN d_encSetDefaultPasscode(const char *);
RDM_EXPORT int32_t EXTERNAL_FCN d_encGetDefaultPasscode(const char **);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t    EXTERNAL_FCN d_encSetDefaultPasscodeW(const wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_encSetDefaultFcn(ENC_DEFAULT_FCN *fcn, const void *ctx);

RDM_EXPORT int32_t EXTERNAL_FCN d_encode_dba4(FILE_NO file, F_ADDR4 slot, DB_ADDR4 *dba);
RDM_EXPORT int32_t EXTERNAL_FCN d_encode_dba8(FILE_NO file, F_ADDR8 slot, DB_ADDR8 *dba);
RDM_EXPORT int32_t EXTERNAL_FCN d_encode_dba(FILE_NO file, F_ADDR8 slot, DB_ADDR *dba);
RDM_EXPORT int32_t EXTERNAL_FCN d_encode_ldba(uint16_t uno, FILE_NO file, F_ADDR8 slot, DB_ADDR *dba);
RDM_EXPORT const char * EXTERNAL_FCN d_errorstr(int32_t errnum);
RDM_EXPORT const char * EXTERNAL_FCN d_errorname(int32_t errnum);

RDM_EXPORT int32_t EXTERNAL_FCN d_fillnew(int32_t REC, const void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_fillnewArray(int32_t REC, const void *valArray, uint32_t recsize, uint32_t count, RDM_RAWSTAT *, DB_TASK *task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_fillnewat(int32_t REC, const void *value, const DB_ADDR *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_findco(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_findfm(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_findlm(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_findnm(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_findpm(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_fldnum(int32_t *index, int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_freeall(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_iclose(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_imflush(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_initfile(FILE_NO FILEID, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_initialize(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_internals(RDM_TASK task, int32_t topic, int32_t id, int32_t elem, void *ptr, uint32_t size);
RDM_EXPORT int32_t EXTERNAL_FCN d_iopen(const char *dbnames, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_iopenW(const wchar_t *dbnames, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_iopen_ptr(const char *dbname, const void *dbd_array, int32_t dbdsize, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_iopen_ptrW(const wchar_t *dbname, const void *dbd_array, int32_t dbdsize, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_ismember(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_isowner(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keydel(int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keydir(int32_t keyfield, int16_t dir, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyexist(int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyfind(int32_t FIELD, const void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyfree(int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyfrst(int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keylast(int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keylock(int32_t FIELD, const char *type, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_keylockW(int32_t FIELD, const wchar_t *type, RDM_TASK task, int32_t dbn);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_keylstat(int32_t FIELD, char *type, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_keylstatW(int32_t FIELD, wchar_t *type, RDM_TASK task, int32_t dbn);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_keynext(int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keynum(int32_t *, int32_t, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyprev(int32_t FIELD, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyread(void *value, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_keystore(int32_t, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyrdstate(int32_t keyfield, void *buf, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keyszstate(int32_t keyfield, uint32_t *pSize, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_keywrstate(int32_t keyfield, const void *buf, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_lmstat(const char *name, int32_t *status, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_lmstatW(const wchar_t *name, int32_t *status, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_lock(int32_t count, const LOCK_REQUEST *lrpkt, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_locktimeout(int32_t read_secs, int32_t write_secs, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_makenew(int32_t REC, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_members(int32_t SET, int32_t *count, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_off_opt(uint32_t optflag, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_on_opt(uint32_t optflag, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_open(const char *dbnames, const char *type, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_open_ptr(const char *dbname, const char *, const void *dbd_array, int32_t dbdsize, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_openW(const wchar_t *dbnames, const wchar_t *type, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_open_ptrW(const wchar_t *dbname, const wchar_t *type, const void *dbd_array, int32_t dbdsize, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_openDb(RDM_TASK , const char *, RDM_OPEN_MODE, RDM_DB *);
RDM_EXPORT int32_t EXTERNAL_FCN d_openDb_ptr(RDM_TASK , const char *, RDM_OPEN_MODE, const void *, int32_t, RDM_DB *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_openDbW(RDM_TASK , const wchar_t *, RDM_OPEN_MODE, RDM_DB *);
RDM_EXPORT int32_t EXTERNAL_FCN d_openDb_ptrW(RDM_TASK , const wchar_t *, RDM_OPEN_MODE, const void *, int32_t, RDM_DB *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_opentask(RDM_TASK *task);
RDM_EXPORT int32_t EXTERNAL_FCN d_pkeyfind(int32_t keyfield, uint16_t nFields, uint16_t partialStrLen, const void *fldval, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_pkeynext(int32_t keyfield, uint16_t nFields, uint16_t partialStrLen, const void *fldval, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_pkeyprev(int32_t keyfield, uint16_t nFields, uint16_t partialStrLen, const void *fldval, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_rdcurr(void **currbuff, int32_t *currsize, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recfilesize(int32_t REC, uint64_t *pTotPgs, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recfree(int32_t REC, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recfrst(int32_t REC, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recinit(int32_t REC, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_reclast(int32_t REC, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_reclock(int32_t REC, const char *type, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_reclockW(int32_t REC, const wchar_t *type, RDM_TASK task, int32_t dbn);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_reclstat(int32_t REC, char *type, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_reclstatW(int32_t REC, wchar_t *type, RDM_TASK task, int32_t dbn);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_recnext(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recnum(int32_t *index, int32_t REC, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recprev(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recread(void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recset(int32_t REC, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_rectot(int32_t REC, uint64_t *pTot, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_recwrite(const void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_rerdcurr(void *const *currbuff, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_rewrcurr(const void *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_set_dberr(ERRORPROCA errfunc, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_set_dberrW(ERRORPROCW errfunc, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_set_dberr_ex(ERRORPROC2A errfunc, void *userdata, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_set_dberr_exW(ERRORPROC2W errfunc, void *userdata, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_setdb(int32_t dbn, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_setfree(int32_t SET, RDM_TASK task, int32_t dbn);
/* TODO JNI HEADER */
RDM_EXPORT int32_t EXTERNAL_FCN d_setkey(int32_t FIELD, const void *value, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setlock(int32_t SET, const char *type, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_setlockW(int32_t SET, const wchar_t *type, RDM_TASK task, int32_t dbn);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_setlstat(int32_t SET, char *type, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_setlstatW(int32_t SET, wchar_t *type, RDM_TASK task, int32_t dbn);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_setmm(int32_t TO_SET, int32_t FR_SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setmo(int32_t M_SET, int32_t O_SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setmr(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setnum(int32_t *index, int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setom(int32_t O_SET, int32_t M_SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setoo(int32_t TO_SET, int32_t FR_SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setor(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setpages(int32_t dbpages, int32_t ovpages, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_setrm(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setro(int32_t SET, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsdisconnect(const char *, const char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsdisconnectW(const wchar_t *, const wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsFreeUserList(const TFS_USER_LIST *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsFreeUserListW(const TFS_USER_LISTW *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsGetUserList(const char *, TFS_USER_LIST *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsGetUserListW(const wchar_t *, TFS_USER_LISTW *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsinit(const char *docroot, const TFS_PARAMS *tparams, TFS_HANDLE *hTFS);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsinitW(const wchar_t *docroot, const TFS_PARAMSW *tparams, TFS_HANDLE *hTFS);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsinitEx(const char *docroot, const TFS_PARAMS *tparams, TFS_HANDLE *hTFS, TFS_TYPE type);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsinitExW(const wchar_t *docroot, const TFS_PARAMSW *tparams, TFS_HANDLE *hTFS, TFS_TYPE type);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsrun(TFS_HANDLE hTFS, DB_BOOLEAN threaded, uint16_t *tfs_done);
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsstop(TFS_HANDLE hTFS);
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsterm(TFS_HANDLE hTFS);
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsversion(uint16_t *major, uint16_t *minor, TFS_TYPE *type);
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsxapiparams(TFS_HANDLE hTFS, const TFS_XAPI_PARAMS *xparams);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_tfsxapiparamsW(TFS_HANDLE hTFS, const TFS_XAPI_PARAMSW *xparams);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_timeout(int32_t secs, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_trabort(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_tractive(int16_t *boolean, RDM_TASK task);
int32_t EXTERNAL_FCN d_beginUpdate(RDM_TASK task, uint32_t recs);
int32_t EXTERNAL_FCN d_beginRead(RDM_TASK task, uint32_t recs);
int32_t EXTERNAL_FCN d_beginSnapshot(RDM_TASK task);
int32_t EXTERNAL_FCN d_end(RDM_TASK task);
int32_t EXTERNAL_FCN d_abort(RDM_TASK task);
int32_t EXTERNAL_FCN d_precommit(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_trbegin(const char *tid, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_trbeginW(const wchar_t *tid, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_trdeletemark(const char *mtag, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
int32_t EXTERNAL_FCN d_trdeletemarkW(const wchar_t *mtag, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_trend(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_trmark(const char *mtag, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
int32_t EXTERNAL_FCN d_trmarkW(const wchar_t *mtag, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_trprecommit(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_trrobegin(RDM_TASK task, int32_t, TXID *txid);
RDM_EXPORT int32_t EXTERNAL_FCN d_trroend(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_trrollback(const char *mtag, RDM_TASK task);
#if !defined(RDM_NO_UNICODE)
int32_t EXTERNAL_FCN d_trrollbackW(const wchar_t *mtag, RDM_TASK task);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN d_wrcurr(const void *currbuff, RDM_TASK task, int32_t dbn);

/* Handle versions of the functions */
RDM_EXPORT int32_t EXTERNAL_FCN d_getDb(RDM_TASK, int32_t, RDM_DB *);
RDM_EXPORT int32_t EXTERNAL_FCN d_getDbByName(RDM_TASK, const char *, RDM_DB *);
#if !defined(RDM_NO_UNCODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_getDbByNameW(RDM_TASK , const wchar_t *, RDM_DB *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_blobdelete(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_blobread(RDM_DB_C, int32_t, void *, uint32_t, uint32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_blobseek(RDM_DB_C, int32_t, uint32_t, SEEK_TYPE);
RDM_EXPORT int32_t EXTERNAL_FCN dh_blobsize(RDM_DB_C, int32_t, uint32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_blobtell(RDM_DB_C, int32_t, uint32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_blobtruncate(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_blobwrite(RDM_DB_C, int32_t, const void *, uint32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_close(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_cmtype(RDM_DB_C, int32_t, int32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_connect(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_cotype(RDM_DB_C, int32_t, int32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_crget(RDM_DB_C, DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_crread(RDM_DB_C, int32_t, void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_crset(RDM_DB, const DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_crsetnr(RDM_DB, const DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_crtype(RDM_DB, int32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_crwrite(RDM_DB_C, int32_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csmget(RDM_DB_C, int32_t, DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csmread(RDM_DB_C, int32_t, int32_t, void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csmset(RDM_DB_C, int32_t, const DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csmwrite(RDM_DB_C, int32_t, int32_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csoget(RDM_DB_C, int32_t, DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csoread(RDM_DB_C, int32_t, int32_t, void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csoset(RDM_DB_C, int32_t, const DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_csowrite(RDM_DB_C, int32_t, int32_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_curkey(RDM_DB_C);
RDM_EXPORT int32_t EXTERNAL_FCN dh_dbcrypt(RDM_DB_C, const ENC *, uint16_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_dberr(RDM_DB_C, int32_t);
int32_t EXTERNAL_FCN dh_dbinitrectot(RDM_DB_C);
RDM_EXPORT int32_t EXTERNAL_FCN dh_dbmove(RDM_DB_C, const char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN dh_dbmoveW(RDM_DB_C, const wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_dbsetini(RDM_DB_C, const char *, const char *, const char *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_dbtfsuuid(RDM_DB_C, UUID_VAL *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_delete(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_destroy(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_discon(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_disdel(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_fillnew(RDM_DB, int32_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_fillnewArray(RDM_DB_C, int32_t, const void *, uint32_t, uint32_t, RDM_RAWSTAT *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_fillnewat(RDM_DB, int32_t, const void *, const DB_ADDR *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_findco(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_findfm(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_findlm(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_findnm(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_findpm(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_fldnum(RDM_DB_C, int32_t *, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_imflush(RDM_DB_C);
RDM_EXPORT int32_t EXTERNAL_FCN dh_initfile(RDM_DB_C, FILE_NO);
RDM_EXPORT int32_t EXTERNAL_FCN dh_initialize(RDM_DB_C);
int32_t EXTERNAL_FCN dh_internals(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_ismember(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_isowner(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keydel(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keydir(RDM_DB_C, int32_t, int16_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyexist(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyfind(RDM_DB, int32_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyfree(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyfrst(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keylast(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keylock(RDM_DB_C, int32_t, const char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN dh_keylockW(RDM_DB_C, int32_t, const wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_keylstat(RDM_DB_C, int32_t, char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN dh_keylstatW(RDM_DB_C, int32_t, wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_keynext(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keynum(RDM_DB_C, int32_t *, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyprev(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyread(RDM_DB_C, void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keystore(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyrdstate(RDM_DB_C, int32_t, void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keyszstate(RDM_DB_C, int32_t, uint32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_keywrstate(RDM_DB, int32_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_lock(int32_t, const LOCK_REQUEST2 *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN dh_makenew(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_members(RDM_DB_C, int32_t, int32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_pkeyfind(RDM_DB, int32_t, uint16_t, uint16_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_pkeynext(RDM_DB, int32_t, uint16_t, uint16_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_pkeyprev(RDM_DB, int32_t, uint16_t, uint16_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_rdcurr(RDM_DB_C, void **, int32_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_recfree(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_recfrst(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_recinit(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_reclast(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_reclock(RDM_DB_C, int32_t, const char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN dh_reclockW(RDM_DB_C, int32_t, const wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_reclstat(RDM_DB_C, int32_t, char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN dh_reclstatW(RDM_DB_C, int32_t, wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_recnext(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_recnum(RDM_DB_C, int32_t *, int32_t );
RDM_EXPORT int32_t EXTERNAL_FCN dh_recprev(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_recread(RDM_DB_C, void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_recset(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_rectot(RDM_DB_C, int32_t, uint64_t *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_recwrite(RDM_DB, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_rerdcurr(RDM_DB_C, void *const *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_rewrcurr(RDM_DB, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setfree(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setkey(RDM_DB, int32_t, const void *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setlock(RDM_DB_C, int32_t, const char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN dh_setlockW(RDM_DB_C, int32_t, const wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_setlstat(RDM_DB_C, int32_t, char *);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN dh_setlstatW(RDM_DB_C, int32_t, wchar_t *);
#endif
RDM_EXPORT int32_t EXTERNAL_FCN dh_setmm(RDM_DB_C, int32_t, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setmo(RDM_DB_C, int32_t, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setmr(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setnum(RDM_DB_C, int32_t *, int32_t );
RDM_EXPORT int32_t EXTERNAL_FCN dh_setom(RDM_DB_C, int32_t, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setoo(RDM_DB_C, int32_t, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setor(RDM_DB_C, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setrm(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_setro(RDM_DB, int32_t);
RDM_EXPORT int32_t EXTERNAL_FCN dh_trrobegin(RDM_DB, TXID *);
RDM_EXPORT int32_t EXTERNAL_FCN dh_trroend(RDM_DB);
RDM_EXPORT int32_t EXTERNAL_FCN dh_wrcurr(RDM_DB, const void *);

RDM_EXPORT RDM_TASK  EXTERNAL_FCN dh_getTask(RDM_DB_C);

/* Defunct functions */
RDM_EXPORT int32_t EXTERNAL_FCN d_checkid(const char *userid, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_closeall(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_cmstat(int32_t, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_costat(int32_t, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_crstat(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_csstat(int32_t, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_ctbpath(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_ctscm(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_ctsco(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_ctscr(DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbdpath(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbfpath(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbmfpath(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dblog(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbrep(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbtaf(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbtmp(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_get_db_rep_type(REP_DB_TYPE *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_gtscm(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_gtsco(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_gtscr(DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_gtscs(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_lmclear(const char *, const char *, LMC_AVAIL_FCN *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_lockcomm(LMC_AVAIL_FCN *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_lockmgr(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_mapchar(uint8_t, uint8_t, const char *, uint8_t, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_recover(const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_recstat(DB_ADDR, DB_ULONG, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_renclean(RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_renfile(const char *, FILE_NO, const char *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_rlbclr(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_rlbset(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_rlbtst(RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_set_db_rep_type(REP_DB_TYPE, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_setfiles(int32_t, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_stscm(int32_t, DB_ULONG, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_stsco(int32_t, DB_ULONG, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_stscr(DB_ULONG, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_stscs(int32_t, DB_ULONG, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_trincrement(DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_trget(DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_trset(DB_ULONG, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_utscm(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_utsco(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_utscr(DB_ULONG *, RDM_TASK task, int32_t dbn);
RDM_EXPORT int32_t EXTERNAL_FCN d_utscs(int32_t, DB_ULONG *, RDM_TASK task, int32_t dbn);
#if !defined(RDM_NO_UNICODE)
RDM_EXPORT int32_t EXTERNAL_FCN d_checkidW(const wchar_t *userid, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_ctbpathW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbdpathW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbfpathW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbmfpathW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dblogW(const wchar_t *, RDM_TASK task);
int32_t EXTERNAL_FCN d_dbrepW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbtafW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_dbtmpW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_lmclearW(const wchar_t *, const wchar_t *, LMC_AVAIL_FCN *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_lockmgrW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_recoverW(const wchar_t *, RDM_TASK task);
RDM_EXPORT int32_t EXTERNAL_FCN d_renfileW(const wchar_t *, FILE_NO, const wchar_t *, RDM_TASK task);
#endif

#endif /* ! DPROTO_H */

