Zum Hauptinhalt springen

c16_pgx.h

c16_pgx.h Header-Datei der CONZEPT 16-Programmierschnittstelle

Die Header-Datei bindet eine weitere Header-Datei ( c16.h ) mit allgemeinen Definitionen ein.

/************************************************************************/
/* */
/* Project : CONZEPT 16 */
/* Project ID : C16.ALL */
/* */
/* Program : CONZEPT 16 PROGRAMMING INTERFACE - EXTERN */
/* Revision : 5.9.01 */
/* FileName : c16_pgx.h */
/* */
/************************************************************************/

#if !defined(INCL_C16_PGX)
#define INCL_C16_PGX

#include "c16.h"

#ifdef __cplusplus
extern "C"
{
#endif

/****************************************************************************/
/* */
/* FUNCTIONS */
/* */
/****************************************************************************/

/****************************************************************************/
/* init & term */
/****************************************************************************/

/* initialize interface module */
C16API C16_InitPgif
(
const vLONG aMemoryLimit, /* in: upper memory limit */
vPHANDLE* aPgifHdl /* out: module handle */
);

/* terminate interface module */
C16API C16_TermPgif
(
const vPHANDLE aPgifHdl /* in: module handle */
);

/* initialize an data area instance */
C16API C16_InitInstance
(
const vPHANDLE aPgifHdl, /* in: module handle */
vPHANDLE* aInstHdl /* out: instance handle */
);

/* terminate an data area instance */
C16API C16_TermInstance
(
const vPHANDLE aInstHdl /* in: instance handle */
);

/****************************************************************************/
/* open & close data area */
/****************************************************************************/

/* connect to server and open data area */
C16API C16_OpenArea
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aServerName, /* in: server name */
const vCHAR* aServerPassword, /* in: server password */
const vCHAR* aAreaName, /* in: data area name */
const vCHAR* aUserName, /* in: user name */
const vCHAR* aUserPassword, /* in: user password */

const vCHAR* aProtServerName, /* in: protected server */
const vCHAR* aLocalDSPath, /* in: local data struct. */
const vINT aProcCacheKB /* in: procedure cache (KB) */
);

/* is date area open */
C16API C16_IsConnected
(
const vPHANDLE aInstHdl /* in: instance handle */
);

/* close data area */
C16API C16_CloseArea
(
const vPHANDLE aInstHdl /* in: instance handle */
);

/****************************************************************************/
/* FILE information */
/****************************************************************************/

/* retrieve file information by number */
C16API C16_FileInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
vC16_FileInfo* aInfoBlock /* out: information block */
);

/* retrieve file information by name */
C16API C16_FileInfoByName
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aFileName, /* in: filename */
vC16_FileInfo* aInfoBlock /* out: information block */
);

/****************************************************************************/
/* SUBRECORD information */
/****************************************************************************/

/* retrieve subrecord information */
C16API C16_SbrInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
vC16_SbrInfo* aInfoBlock /* out: information block */
);

/* retrieve subrecord information by name */
C16API C16_SbrInfoByName
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aSbrName, /* in: subrecord name */
vC16_SbrInfo* aInfoBlock /* out: information block */
);

/* clear subrecord buffer */
C16API C16_SbrClear
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo /* in: subrecord number */
);

/* change subrecord status */
C16API C16_SbrSetStatus
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vBOOL aNewStatus /* in: new status */
);

/****************************************************************************/
/* FIELD information */
/****************************************************************************/

/* retrieve field information */
C16API C16_FldInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vINT aFldNo, /* in: field number */
vC16_FldInfo* aInfoBlock /* out: information block */
);

C16API C16_FldInfoExt
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vINT aFldNo, /* in: field number */
vC16_FldInfoExt* aInfoBlock /* out: information block */
);

/* retrieve field information by name */
C16API C16_FldInfoByName
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aFldName, /* in: field name */
vC16_FldInfo* aInfoBlock /* out: information block */
);

C16API C16_FldInfoExtByName
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aFldName, /* in: field name */
vC16_FldInfoExt* aInfoBlock /* out: information block */
);

/****************************************************************************/
/* KEY information */
/****************************************************************************/

/* retrieve key information */
C16API C16_KeyInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aKeyNo, /* in: key number */
vC16_KeyInfo* aInfoBlock /* out: information block */
);

/* retrieve key information by name */
C16API C16_KeyInfoByName
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aKeyName, /* in: key name */
vC16_KeyInfo* aInfoBlock /* out: information block */
);

/* retrieve key field information */
C16API C16_KeyFldInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aKeyNo, /* in: key number */
const vINT aKeyFldNo, /* in: key field number */
vC16_KeyFldInfo* aInfoBlock /* out: information block */
);

/****************************************************************************/
/* LINK information */
/****************************************************************************/

/* retrieve link information */
C16API C16_LinkInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aLinkNo, /* in: link number */
vC16_LinkInfo* aInfoBlock /* out: information block */
);

/* retrieve link information by name */
C16API C16_LinkInfoByName
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aLinkName, /* in: link name */
vC16_LinkInfo* aInfoBlock /* out: information block */
);

/* retrieve link field information */
C16API C16_LinkFldInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aLinkNo, /* in: link number */
const vINT aLinkFldNo, /* in: link field number */
vC16_LinkFldInfo* aInfoBlock /* out: information block */
);

/****************************************************************************/
/* data exchange */
/****************************************************************************/

/* set character format defaults */
C16API C16_SetCharDefs
(
const vPHANDLE aInstHdl, /* in: instance handle */
vCHAR aDecimalSep, /* in: decimal separator */
vCHAR aThousandsSep, /* in: thousands separator */
vCHAR aDateSep, /* in: date separator */
vCHAR aTimeSep1, /* in: time separator 1 */
vCHAR aTimeSep2, /* in: time separator 2 */
vCHAR aCharTRUE, /* in: char for TRUE value */
vCHAR aCharFALSE, /* in: char for FALSE value */
vFLAGS aCharSetConversion /* in: charset conv. type */
);

/* read/write field data */
C16API C16_FldData
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vINT aFldNo, /* in: field number */
void* aFldBuf, /* in/out: field data */
const vBOOL aWriteFlag /* in: write data to field */
);

/* read/write field data as chars */
C16API C16_FldDataChar
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vINT aFldNo, /* in: field number */
vCHAR* aFldBuf, /* in/out: field data */
const vFLAGS aFormatFlags, /* in: format options */
const vINT aPostcomma, /* in: postcomma digits */
const vBOOL aWriteFlag /* in: write data to field */
);

/* read/write field data (raw alpha) */
C16API C16_FldDataRaw
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vINT aFldNo, /* in: field number */
void* aFldBuf, /* in/out: field data */
const vBOOL aWriteFlag /* in: write data to field */
);

/* register external field buffer */
C16API C16_RegExtFld
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vINT aFldNo, /* in: field number */
const vFLAGS aExcFlags, /* in: data exchange flags */
const vFLAGS aFormatFlags, /* in: format options */
const vINT aPostcomma, /* in: postcomma digits */
void* aExtBuffer /* in: external field buffer */
);

/* transfer complete record */
C16API C16_ExcFileData
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vPHANDLE aBuffHdl, /* in: buffer handle */
const vBOOL aWriteFlag /* in: write data */
);

/* transfer subrecord */
C16API C16_ExcSbrData
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vBOOL aWriteFlag /* in: write data */
);

/* transfer single field */
C16API C16_ExcFldData
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aSbrNo, /* in: subrecord number */
const vINT aFldNo, /* in: field number */
const vBOOL aWriteFlag /* in: write data */
);

/* set automatic data exchange option */
C16API C16_SetExcMode
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vBOOL aAutoFlag /* in: enable/disable flag */
);

/****************************************************************************/
/* record information */
/****************************************************************************/

/* retrieve record information */
C16API C16_RecInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aInfoType, /* in: information type */
const vINT aKeyNo, /* in: key number (opt.) */
vINT* aResult /* out: information result */
);

/* retrieve linked record information */
C16API C16_RecLinkInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aSrcFileNo, /* in: source filenumber */
const vINT aDstFileNo, /* in: destin. filenumber */
const vINT aLinkNo, /* in: link number */
const vINT aInfoType, /* in: information type */
const vINT unused, /* in: reserved (0) */
vINT* aResult /* out: information result */
);

/****************************************************************************/
/* record operations */
/****************************************************************************/

/* read record */
C16API C16_RecRead
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aKeyNo, /* in: key number */
const vFLAGS aFlags, /* in: operation flags */
const vLONG aAddInfo /* in: additional info */
);

/* read linked record */
C16API C16_RecLink
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aSrcFileNo, /* in: source filenumber */
const vINT aDstFileNo, /* in: destin. filenumber */
const vXLONG aLinkNo, /* in: link number / sel. handle */
const vFLAGS aFlags, /* in: operation flags */
const vINT unused, /* in: reserved (0) */
const vINT aLinkPos /* in: link position (opt.) */
);

/* insert new record */
C16API C16_RecInsert
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vFLAGS aFlags /* in: operation flags */
);

/* update record */
C16API C16_RecReplace
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vFLAGS aFlags /* in: operation flags */
);

/* delete single record */
C16API C16_RecDelete
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vFLAGS aFlags /* in: operation flags */
);

/* delete all records */
C16API C16_RecDeleteAll
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo /* in: filenumber */
);

/****************************************************************************/
/* record buffer operations */
/****************************************************************************/

/* clear record buffer - buffer handle is optional (0 if not used) */
C16API C16_RecBufClear
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vPHANDLE aBuffHdl /* in: buffer handle */
);

/* copy record buffer - buffer handles are optional (0 if not used) */
C16API C16_RecBufCopy
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aSrcFileNo, /* in: source filenumber */
const vINT aDstFileNo, /* in: destin. filenumber */
const vPHANDLE aSrcBuffHdl, /* in: source buf. handle */
const vPHANDLE aDstBuffHdl /* in: destin. buf. handle */
);

/* compare record buffers - buffer handles are optional (0 if not used) */
C16API C16_RecBufCompare
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo1, /* in: filenumber 1 */
const vINT aFileNo2, /* in: filenumber 2 */
const vPHANDLE aBuffHdl1, /* in: buffer handle 1 */
const vPHANDLE aBuffHdl2 /* in: buffer handle 2 */
);

/* create temporary record buffer */
C16API C16_RecBufCreate
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
vPHANDLE* aBuffHdl /* out: new buffer handle */
);

/* destroy temporary record buffer */
C16API C16_RecBufDestroy
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vPHANDLE aBuffHdl /* in: buffer handle */
);

/****************************************************************************/
/* selections */
/****************************************************************************/

/* create selection buffer */
C16API C16_SelOpen
(
const vPHANDLE aInstHdl, /* in: instance handle */
vPHANDLE* aSelHdl /* out: new sel. handle */
);

/* close selection buffer */
C16API C16_SelClose
(
const vPHANDLE aSelHdl /* in: selection handle */
);

/* clear selection */
C16API C16_SelClear
(
const vPHANDLE aSelHdl /* in: selection handle */
);

/* read selection header */
C16API C16_SelRead
(
const vPHANDLE aSelHdl, /* in: selection handle */
const vINT aFileNo, /* in: file number */
const vCHAR* aSelName, /* in: sel. name to read */
const vFLAGS aFlags, /* in: operation flags */
vC16_SelInfo* aInfo /* out: sel. information */
);

/* get selection info */
C16API C16_SelInfo
(
const vPHANDLE aSelHdl, /* in : selection handle */
const vINT aInfoType, /* in : information type */
const vINT* aNewKey, /* in : new key */
vINT* aResult /* out: information result */
);

/* add record to selection */
C16API C16_SelRecInsert
(
const vPHANDLE aSelHdl, /* in: selection handle */
const vINT aFileNo /* in: file number */
);

/* remove record from selection */
C16API C16_SelRecDelete
(
const vPHANDLE aSelHdl, /* in: selection handle */
const vINT aFileNo /* in: file number */
);

/****************************************************************************/
/* transactions */
/****************************************************************************/

/* begin transaction */
C16API C16_DtaBegin
(
const vPHANDLE aInstHdl /* in: instance handle */
);

/* commit transaction */
C16API C16_DtaCommit
(
const vPHANDLE aInstHdl /* in: instance handle */
);

/* rollback transaction */
C16API C16_DtaRollback
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vBOOL aAllLevels /* in: complete rollback */
);

/****************************************************************************/
/* text operations */
/****************************************************************************/

/* create text buffer */
C16API C16_TextOpen
(
const vPHANDLE aInstHdl, /* in: instance handle */
vPHANDLE* aTextHdl /* out: new text handle */
);

/* create procedure buffer */
C16API C16_ProcOpen
(
const vPHANDLE aInstHdl, /* in: instance handle */
vPHANDLE* aProcHdl /* out: new proc handle */
);

/* close text buffer */
C16API C16_TextClose
(
const vPHANDLE aTextHdl /* in: text handle */
);

/* create text */
C16API C16_TextCreate
(
const vPHANDLE aTextHdl, /* in: text handle */
const vCHAR* aTextName, /* in: text to create */
const vBOOL aLockText /* in: lock new text */
);

/* copy text */
C16API C16_TextCopy
(
const vPHANDLE aTextHdl, /* in: text handle */
const vCHAR* aTextName, /* in: text to copy */
const vCHAR* aTextNameNew /* in: new text name */
);

/* rename text */
C16API C16_TextRename
(
const vPHANDLE aTextHdl, /* in: text handle */
const vCHAR* aTextName, /* in: text to rename */
const vCHAR* aTextNameNew /* in: new text name */
);

/* delete text */
C16API C16_TextDelete
(
const vPHANDLE aTextHdl, /* in: text handle */
const vCHAR* aTextName /* in: text to delete */
);

/* read text header */
C16API C16_TextRead
(
const vPHANDLE aTextHdl, /* in: text handle */
const vCHAR* aTextName, /* in: text name to read */
const vFLAGS aFlags, /* in: operation flags */
vC16_TextInfo* aTextInfo /* out: text information */
);

/* read text data */
C16API C16_TextReadData
(
const vPHANDLE aTextHdl, /* in: text handle */
const void* aBuffer, /* in: text data buffer */
const vFLAGS aFlags, /* in: operation flags */
const vINT aBufferSize, /* in: size of aBuffer */
vINT* aTextSize, /* out: size of text */
vINT* aTextLines /* out: number of text lines */
);

/* write text header */
C16API C16_TextWrite
(
const vPHANDLE aTextHdl, /* in: text handle */
const vFLAGS aFlags, /* in: operation flags */
const vC16_TextInfo* aTextInfo /* in: text information */
);

/* write text data */
C16API C16_TextWriteData
(
const vPHANDLE aTextHdl, /* in: text handle */
const void* aBuffer, /* in: text data buffer */
const vFLAGS aFlags, /* in: operation flags */
const vINT aTextSize /* in: size of text */
);

/****************************************************************************/
/* procedures */
/****************************************************************************/

/* define procedure argument */
C16API C16_ProcArgument
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vBYTE aArgType, /* in: argument type */
void* aArgVal, /* in: argument value */
const vBOOL aVarArg, /* in: pass by reference */
const vBYTE aMaxLen /* in: maximum string len */
);

/* call procedure */
C16API C16_ProcCall
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aProcName /* in: procedure name */
);

/* retrieve procedure error code */
C16API C16_ProcErrorText
(
const vPHANDLE aInstHdl, /* in: instance handle */
vCHAR* aErrorText /* out: procedure error text */
);

/* retrieve procedure result */
C16API C16_ProcResult
(
const vPHANDLE aInstHdl, /* in: instance handle */
vBYTE* aResultType, /* out: result type */
void** aResultData /* out: result data */
);

/* compile procedure */
C16API C16_ProcCompile
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vCHAR* aProcName, /* in: procedure name */
const vCHAR* aLangID, /* in: language ID */
vC16_CompileInfo* aInfoBlock /* out: information block */
);

/****************************************************************************/
/* maintainance & information */
/****************************************************************************/

/* start/stop server backup events */
C16API C16_ServerBackup
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aMinutes /* in: backup event duration */
);

/* query interface informations */
C16API C16_QueryPgifInfo
(
const vPHANDLE aPgifHdl, /* in: module handle */
vC16_PgifInfo* aInfoBlock /* out: information block */
);

/* query server informations */
C16API C16_QueryServerInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
vC16_ServerInfo* aInfoBlock /* out: information block */
);

/* query data area informations */
C16API C16_QueryAreaInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
vC16_AreaInfo* aInfoBlock /* out: information block */
);

/* query user informations */
C16API C16_QueryUserInfo
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aUserID, /* in: user ID */
const vBOOL aNextID, /* in: read next user ID */
vC16_UserInfo* aInfoBlock /* out: information block */
);

/* clear user */
C16API C16_UserClear
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aUserID, /* in: user ID */
const vINT aUserNo, /* in: user number */
const vCHAR* aServerPassword /* in: server password */
);

/****************************************************************************/
/* key reorganisation */
/****************************************************************************/

/* start key reorganisation */
C16API C16_KeyReorgStart
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aKeyNo /* in: key number */
);

/* watch key reorganisation */
C16API C16_KeyReorgWatch
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vBOOL aAbort, /* in: stop reorganisation */
vC16_KeyReorgInfo* aInfo /* out: reorganisation info */
);

/****************************************************************************/
/* diagnose, recover, key analysis */
/****************************************************************************/

/* start diagnose */
C16API C16_DiagStart
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vLONG aMode /* in: diagnose mode */
);

/* watch diagnose progress */
C16API C16_DiagWatch
(
const vPHANDLE aInstHdl, /* in: instance handle */
vC16_DiagInfo* aInfo /* out: diagnose info */
);

/* query diagnose results */
C16API C16_DiagResults
(
const vPHANDLE aInstHdl, /* in: instance handle */
vC16_DiagResult** aResults /* out: diagnose results */
);

/* terminate diagnose */
C16API C16_DiagTerm
(
const vPHANDLE aInstHdl /* in: instance handle */
);

/****************************************************************************/
/* 64 bit record IDs */
/****************************************************************************/

/* retrieve record information */
C16API C16_RecInfo64
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vINT aInfoType, /* in: information type */
const vXLONG aKeyNo, /* in: key number (opt.) */
vXLONG* aResult /* out: information result */
);

/* read record */
C16API C16_RecRead64
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vINT aFileNo, /* in: filenumber */
const vXLONG aKeyNo, /* in: key number / sel. handle */
const vFLAGS aFlags, /* in: operation flags */
const vXLONG aAddInfo /* in: additional info */
);

/****************************************************************************/
/* BLOBs */
/****************************************************************************/

/* open binary object or directory */
C16API C16_BinOpen
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vPHANDLE aDirHdl, /* in: directory handle */
const vCHAR* aName, /* in: BLOB / DIR name */
vFLAGS aFlags, /* in: options */
vPHANDLE* aBinHdl /* out: BLOB handle */
);

/* read directory */
C16API C16_BinDirRead
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vPHANDLE aDirHdl, /* in: directory handle */
const vCHAR* aName, /* in: entry name */
vFLAGS aFlags, /* in: options */
vC16_BinObj* aBinData /* out: entry data */
);

/* export BLOB to file */
C16API C16_BinReadToFile
(
const vPHANDLE aBinHdl, /* in: BLOB handle */
const vCHAR* aFilename, /* in: file name */
const vCHAR* aCipherKey /* in: cipher key */
);

/* export BLOB to memory */
C16API C16_BinReadToMem
(
const vPHANDLE aBinHdl, /* in: BLOB handle */
void* aMemAddress, /* in: target address */
const vXLONG aMemSize, /* in: size limit */
const vCHAR* aCipherKey /* in: cipher key */
);

/* import BLOB from file */
C16API C16_BinWriteFromFile
(
const vPHANDLE aBinHdl, /* in: BLOB handle */
const vCHAR* aFilename, /* in: file name */
const vCHAR* aCipherKey, /* in: cipher key */
const vBYTE aCompression /* in: compression level */
);

/* import BLOB from memory */
C16API C16_BinWriteFromMem
(
const vPHANDLE aBinHdl, /* in: BLOB handle */
void* aMemAddress, /* in: source address */
const vXLONG aMemSize, /* in: size */
const vCHAR* aCipherKey, /* in: cipher key */
const vBYTE aCompression /* in: compression level */
);

/* copy BLOB */
C16API C16_BinCopy
(
const vPHANDLE aBinHdlSource, /* in: BLOB handle source */
const vPHANDLE aBinHdlDestination /* in: BLOB handle dest. */
);

/* delete BLOB or directory */
C16API C16_BinDelete
(
const vPHANDLE aInstHdl, /* in: instance handle */
const vPHANDLE aDirHdl, /* in: directory handle */
const vCHAR* aName, /* in: BLOB or dir name */
vFLAGS aFlags /* in: options */
);

/* rename BLOB or directory */
C16API C16_BinRename
(
const vPHANDLE aHdl, /* in: BLOB or dir handle */
const vCHAR* aNewName /* in: new name */
);

/* move BLOB or directory */
C16API C16_BinMove
(
const vPHANDLE aHdl, /* in: BLOB or dir handle */
const vPHANDLE aDestination /* in: destination dir */
);

/* read header data */
C16API C16_BinInfo
(
const vPHANDLE aHdl, /* in: BLOB or dir handle */
const vBOOL aQueryPath, /* in: query full path name */
vC16_BinObj* aData /* out: entry data */
);

/* update header data */
C16API C16_BinUpdate
(
const vPHANDLE aHdl, /* in: BLOB or dir handle */
const vC16_BinObj* aData /* in: entry data */
);

/* close BLOB or directory */
C16API C16_BinClose
(
const vPHANDLE aHdl /* in: BLOB or dir handle */
);

/****************************************************************************/
/* - compiler specific - */
/****************************************************************************/
/****************************************************************************/
/* WATCOM C/C++ */
/****************************************************************************/

#ifdef __WATCOMC__

#pragma aux dllstd "*" parm routine [] \
value struct struct caller [] \
modify [eax ecx edx]

#pragma aux (dllstd) C16_InitPgif
#pragma aux (dllstd) C16_TermPgif
#pragma aux (dllstd) C16_InitInstance
#pragma aux (dllstd) C16_TermInstance

#pragma aux (dllstd) C16_OpenArea
#pragma aux (dllstd) C16_IsConnected
#pragma aux (dllstd) C16_CloseArea

#pragma aux (dllstd) C16_FileInfo
#pragma aux (dllstd) C16_FileInfoByName

#pragma aux (dllstd) C16_SbrInfo
#pragma aux (dllstd) C16_SbrInfoByName
#pragma aux (dllstd) C16_SbrClear
#pragma aux (dllstd) C16_SbrSetStatus

#pragma aux (dllstd) C16_FldInfo
#pragma aux (dllstd) C16_FldInfoByName
#pragma aux (dllstd) C16_FldInfoExt
#pragma aux (dllstd) C16_FldInfoExtByName

#pragma aux (dllstd) C16_KeyInfo
#pragma aux (dllstd) C16_KeyInfoByName
#pragma aux (dllstd) C16_KeyFldInfo

#pragma aux (dllstd) C16_LinkInfo
#pragma aux (dllstd) C16_LinkInfoByName
#pragma aux (dllstd) C16_LinkFldInfo

#pragma aux (dllstd) C16_SetCharDefs
#pragma aux (dllstd) C16_FldData
#pragma aux (dllstd) C16_FldDataChar
#pragma aux (dllstd) C16_FldDataRaw
#pragma aux (dllstd) C16_RegExtFld
#pragma aux (dllstd) C16_ExcFileData
#pragma aux (dllstd) C16_ExcSbrData
#pragma aux (dllstd) C16_ExcFldData
#pragma aux (dllstd) C16_SetExcMode

#pragma aux (dllstd) C16_RecInfo
#pragma aux (dllstd) C16_RecInfo64
#pragma aux (dllstd) C16_RecLinkInfo

#pragma aux (dllstd) C16_RecRead
#pragma aux (dllstd) C16_RecRead64
#pragma aux (dllstd) C16_RecLink
#pragma aux (dllstd) C16_RecInsert
#pragma aux (dllstd) C16_RecReplace
#pragma aux (dllstd) C16_RecDelete
#pragma aux (dllstd) C16_RecDeleteAll

#pragma aux (dllstd) C16_RecBufClear
#pragma aux (dllstd) C16_RecBufCopy
#pragma aux (dllstd) C16_RecBufCompare
#pragma aux (dllstd) C16_RecBufCreate
#pragma aux (dllstd) C16_RecBufDestroy

#pragma aux (dllstd) C16_DtaBegin
#pragma aux (dllstd) C16_DtaCommit
#pragma aux (dllstd) C16_DtaRollback

#pragma aux (dllstd) C16_TextOpen
#pragma aux (dllstd) C16_TextClose
#pragma aux (dllstd) C16_TextCreate
#pragma aux (dllstd) C16_TextCopy
#pragma aux (dllstd) C16_TextRename
#pragma aux (dllstd) C16_TextDelete
#pragma aux (dllstd) C16_TextRead
#pragma aux (dllstd) C16_TextReadData
#pragma aux (dllstd) C16_TextWrite
#pragma aux (dllstd) C16_TextWriteData

#pragma aux (dllstd) C16_SelOpen
#pragma aux (dllstd) C16_SelClose
#pragma aux (dllstd) C16_SelRead
#pragma aux (dllstd) C16_SelInfo
#pragma aux (dllstd) C16_SelClear
#pragma aux (dllstd) C16_SelRecInsert
#pragma aux (dllstd) C16_SelRecDelete

#pragma aux (dllstd) C16_ProcOpen
#pragma aux (dllstd) C16_ProcArgument
#pragma aux (dllstd) C16_ProcCall
#pragma aux (dllstd) C16_ProcErrorText
#pragma aux (dllstd) C16_ProcResult
#pragma aux (dllstd) C16_ProcCompile

#pragma aux (dllstd) C16_ServerBackup
#pragma aux (dllstd) C16_QueryPgifInfo
#pragma aux (dllstd) C16_QueryServerInfo
#pragma aux (dllstd) C16_QueryAreaInfo
#pragma aux (dllstd) C16_QueryUserInfo
#pragma aux (dllstd) C16_UserClear

#pragma aux (dllstd) C16_KeyReorgStart
#pragma aux (dllstd) C16_KeyReorgWatch
#pragma aux (dllstd) C16_DiagStart
#pragma aux (dllstd) C16_DiagWatch
#pragma aux (dllstd) C16_DiagResults
#pragma aux (dllstd) C16_DiagTerm

#pragma aux (dllstd) C16_BinOpen
#pragma aux (dllstd) C16_BinDirRead
#pragma aux (dllstd) C16_BinReadToFile
#pragma aux (dllstd) C16_BinReadToMem
#pragma aux (dllstd) C16_BinWriteFromFile
#pragma aux (dllstd) C16_BinWriteFromMem
#pragma aux (dllstd) C16_BinCopy

#pragma aux (dllstd) C16_BinDelete
#pragma aux (dllstd) C16_BinRename
#pragma aux (dllstd) C16_BinMove
#pragma aux (dllstd) C16_BinInfo
#pragma aux (dllstd) C16_BinUpdate
#pragma aux (dllstd) C16_BinClose

#endif

#ifdef __cplusplus
};
#endif

#endif