c16.h
c16.h Header-Datei von CONZEPT 16
/************************************************************************/
/* */
/* Project : CONZEPT 16 */
/* Project ID : C16.ALL */
/* */
/* Program : CONZEPT 16 PROGRAMMING INTERFACE - TYPES */
/* Revision : 5.9.01 */
/* FileName : c16.h */
/* */
/************************************************************************/
#if !defined(INCL_C16_TYPES)
#define INCL_C16_TYPES
#ifdef __cplusplus
extern "C"
{
#endif
/****************************************************************************/
/* */
/* BASIC TYPES (only for 32/64-Bit environment) */
/* */
/****************************************************************************/
#ifndef INCL_S_DEFINE /* - internal - */
#ifdef LNX
#include <inttypes.h>
#endif
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
#ifndef NULL
#define NULL 0
#endif
typedef unsigned short vWORD; /* 16 bit unsigned */
typedef signed short vWORDs; /* 16 bit signed */
typedef unsigned int vLONG; /* 32 bit unsigned */
typedef signed int vLONGs; /* 32 bit signed */
#ifdef LNX
typedef uint64_t vXLONG; /* 64 bit unsigned */
typedef int64_t vXLONGs; /* 64 bit signed */
#else
typedef unsigned __int64 vXLONG; /* 64 bit unsigned */
typedef signed __int64 vXLONGs; /* 64 bit signed */
#endif
#ifdef _CHAR_UNSIGNED
typedef char vCHAR; /* 8 bit unsigned */
typedef char vBYTE; /* 8 bit unsigned */
#else
typedef unsigned char vCHAR; /* 8 bit unsigned */
typedef unsigned char vBYTE; /* 8 bit unsigned */
#endif
typedef signed char vBYTEs; /* 8 bit signed */
typedef unsigned int vINT; /* natural unsigned */
typedef signed int vINTs; /* natural signed */
typedef vINT vBOOL; /* native boolean */
typedef vBYTE vBOOL8; /* 8 bit boolean */
typedef vWORD vBOOL16; /* 16 bit boolean */
typedef vLONG vBOOL32; /* 32 bit boolean */
typedef double vFLOAT; /* 64-bit floating point */
#ifdef _WIN64
typedef unsigned __int64 vPTR; /* 64-bit pointer */
#else
typedef unsigned long vPTR; /* 32-bit pointer */
#endif
typedef signed int vNHANDLE; /* 16/32-bit handle */
typedef vPTR vPHANDLE; /* 32/64-bit handle */
typedef vINTs vERROR; /* error result */
typedef vLONG vFLAGS; /* flag type */
// Structure of _TypeDecimal
typedef struct
{
vBYTE length;
vBYTE sign;
vBYTEs exponent;
vBYTE mantissa[29];
}
vDECIMAL;
// Structure of _TypeDate
typedef struct
{
vBYTE y; // year
vBYTE m; // month
vBYTE d; // day
vBYTE c; // unused
}
vDATE;
// Structure of _TypeTime
typedef struct
{
vBYTE h; // hours
vBYTE m; // minutes
vBYTE s; // seconds
vBYTE c; // centiseconds
}
vTIME;
// Structure of _TypeCaltime
typedef struct
{
vLONG year;
vLONG month;
vLONG day;
vLONG hours;
vLONG minutes;
vLONG seconds;
vLONG milliseconds;
vLONG leap_year;
vLONG week_year;
vLONG week;
vLONG day_of_week;
vLONGs bias_minutes;
}
vCALTIME;
// Structure of _TypePoint
typedef struct
{
vLONGs x;
vLONGs y;
}
vPOINT;
// Structure of _TypeRect
typedef struct
{
vLONGs left;
vLONGs top;
vLONGs right;
vLONGs bottom;
}
vRECT;
#endif
/****************************************************************************/
/* - compiler specific - */
/****************************************************************************/
#if defined(__BORLANDC__)
# define C16API vERROR __stdcall __import
#else
# if (_MSC_VER > 0)
# define C16API extern vERROR __stdcall
# else
# define C16API extern vERROR
# endif
#endif
/****************************************************************************/
/* */
/* ERROR VALUES */
/* */
/****************************************************************************/
#define C16ERR_OK 0
#define C16ERR_GENERIC -1
#define C16ERR_TIMEOUT -2
#define C16ERR_MEM_EXHAUSTED -12
#define C16ERR_MEM_DAMAGED -13
#define C16ERR_FSI_NO_FILE -20
#define C16ERR_FSI_NO_PATH -21
#define C16ERR_FSI_TOO_MANY_OPEN -22
#define C16ERR_FSI_ACCESS_DENIED -23
#define C16ERR_FSI_INVALID_HANDLE -24
#define C16ERR_FSI_INVALID_DRIVE -25
#define C16ERR_FSI_CURRENT_DIR -26
#define C16ERR_FSI_SHARING_VIOLATION -27
#define C16ERR_FSI_LOCK_VIOLATION -28
#define C16ERR_FSI_OPEN_FAILED -29
#define C16ERR_FSI_READ_FAULT -31
#define C16ERR_FSI_WRITE_FAULT -32
#define C16ERR_FSI_OTHER -39
#define C16ERR_LDM_BASE -100
#define C16ERR_LDM_BEGIN -101
#define C16ERR_LDM_END -190
#define C16ERR_LDM_INVALID -191
#define C16ERR_LDM_TYPE_INVALID -192
#define C16ERR_INIT_FAILED -201
#define C16ERR_MODULE_HDL_INVALID -202
#define C16ERR_INSTANCE_HDL_INVALID -203
#define C16ERR_BUFFER_HDL_INVALID -204
#define C16ERR_FUNCTION_NOT_AVAILABLE -205
#define C16ERR_NO_MULTIPLE_INSTANCES -206
#define C16ERR_TEXT_HDL_INVALID -207
#define C16ERR_SEL_HDL_INVALID -208
#define C16ERR_BIN_HDL_INVALID -209
#define C16ERR_OUT_OF_MEMORY -301
#define C16ERR_COMM_FAILED -302
#define C16ERR_SERVER_OP -303
#define C16ERR_SERVER_ASYNC -304
#define C16ERR_NO_SERVER_CONNECTION -401
#define C16ERR_AREA_NOT_FOUND -402
#define C16ERR_AREA_OPEN -403
#define C16ERR_AREA_LOCKED -404
#define C16ERR_AREA_IN_USE -405
#define C16ERR_AREA_TYPE -406
#define C16ERR_AREA_PASSWORD -407
#define C16ERR_SERVER_USER_LIMIT -408
#define C16ERR_SERVER_START -409
#define C16ERR_USER_PASSWORD -410
#define C16ERR_DATA_STRUCTURE -411
#define C16ERR_PGIF_USER_LIMIT -412
#define C16ERR_USER_INVALID -413
#define C16ERR_USER_SELF -414
#define C16ERR_USER_SHM -415
#define C16ERR_AREA_STANDBY -416
#define C16ERR_AREA_ROLLBACK -417
#define C16ERR_AREA_LOCKED_ADMIN -418
#define C16ERR_AREA_LOCKED_OPERATION -419
#define C16ERR_AREA_LOCKED_DOWN -420
#define C16ERR_AREA_LOCKED_STANDBY -421
#define C16ERR_AREA_LOCKED_ROLLBACK -422
#define C16ERR_AREA_LOCKED_OPEN -423
#define C16ERR_AREA_LOCKED_NO_STANDBY_OPEN -424
#define C16ERR_INFO_BLOCKSIZE_INVALID -501
#define C16ERR_NO_FILE -601
#define C16ERR_NO_SBR -602
#define C16ERR_NO_FLD -603
#define C16ERR_NO_KEY -604
#define C16ERR_NO_KEY_FLD -605
#define C16ERR_NO_LINK -606
#define C16ERR_NO_LINK_FLD -607
#define C16ERR_NO_FLD_DATA -608
#define C16ERR_LINK_INVALID -609
#define C16ERR_LOAD_DS -610
#define C16ERR_PROC -611
#define C16ERR_NO_ARGUMENT -620
#define C16ERR_ARGUMENT_UNDEFINED -621
#define C16ERR_ARGUMENT_READ_ONLY -622
#define C16ERR_TEXT_NAME_INVALID -701
#define C16ERR_TEXT_RIGHTS -702
#define C16ERR_TEXT_UNDEFINED -703
#define C16ERR_TEXT_GROUP_INVALID -704
#define C16ERR_SEL_FILE_INVALID -801
#define C16ERR_SEL_NAME_INVALID -802
#define C16ERR_BIN_NAME_INVALID -851
#define C16ERR_BIN_NO_PATH -852
#define C16ERR_BIN_NO_DATA -853
#define C16ERR_BIN_DATA_ERR -854
#define C16ERR_BIN_DECRYPTION -855
#define C16ERR_BIN_OPERATION -856
#define C16ERR_BIN_DIR_NOT_EMPTY -857
#define C16ERR_DIAG_DEFECT -901
#define C16ERR_DIAG_REPAIRED -902
#define C16ERR_DIAG_CORRECTED -903
#define C16ERR_DIAG_STARTED -904
#define C16ERR_DIAG_MEMORY -905
#define C16ERR_DIAG_READ_ONLY -906
#define C16ERR_DIAG_SEQUENCE -907
#define C16ERR_DIAG_OTHER -908
#define C16ERR_VRA_MISSING -1001
// token table
#define C16ERR_PCDT_UNDEF -1100
#define C16ERR_PCDT_VERSION -1101
#define C16ERR_PCDT_READ -1102
#define C16ERR_PCDT_NOMEM -1103
// procedure handling
#define C16ERR_PCDC_PRC_NOT_FOUND -1104
#define C16ERR_PCDC_PRC_LOCKED -1105
// compiler
#define C16ERR_PCDC_CODE_OVERFLOW -1106
#define C16ERR_PCDC_CONST_VAL -1107
#define C16ERR_PCDC_EOF -1108
#define C16ERR_PCDC_EXPR_NOT_CONST -1109
#define C16ERR_PCDC_INCOMPLETE_DEF -1110
#define C16ERR_PCDC_INV_ARG_TYPE -1111
#define C16ERR_PCDC_INV_CHAR -1112
#define C16ERR_PCDC_INV_CONST -1113
#define C16ERR_PCDC_INV_EXPR_TYPE -1114
#define C16ERR_PCDC_INV_LABEL -1115
#define C16ERR_PCDC_INV_NAME -1116
#define C16ERR_PCDC_INV_OP_TYPE -1117
#define C16ERR_PCDC_INV_SECTION -1118
#define C16ERR_PCDC_INV_STATE -1119
#define C16ERR_PCDC_INV_WORD -1120
#define C16ERR_PCDC_LABEL_UNDEFINED -1121
#define C16ERR_PCDC_LESS_ARGS -1122
#define C16ERR_PCDC_LINE_OVERFLOW -1123
#define C16ERR_PCDC_META -1124
#define C16ERR_PCDC_NAME_TOO_LONG -1125
#define C16ERR_PCDC_NAME_UNKNOWN -1126
#define C16ERR_PCDC_NO_ARGS -1127
#define C16ERR_PCDC_NO_ASSIGN -1128
#define C16ERR_PCDC_NO_BEGIN -1129
#define C16ERR_PCDC_NO_BRA -1130
#define C16ERR_PCDC_NO_COMMA -1131
#define C16ERR_PCDC_NO_DO -1132
#define C16ERR_PCDC_NO_END_CASE -1133
#define C16ERR_PCDC_NO_LOOP -1134
#define C16ERR_PCDC_NO_OF -1135
#define C16ERR_PCDC_NO_OPERAND -1136
#define C16ERR_PCDC_NO_PARA -1137
#define C16ERR_PCDC_NO_SEMI -1138
#define C16ERR_PCDC_NO_STATE -1139
#define C16ERR_PCDC_NO_WHILE -1140
#define C16ERR_PCDC_OPN_COMMENT -1141
#define C16ERR_PCDC_PROC_UNKNOWN -1142
#define C16ERR_PCDC_TOO_MANY_ARGS -1143
#define C16ERR_PCDC_TYPE_UNKNOWN -1144
#define C16ERR_PCDC_UNEQ_OPS -1145
#define C16ERR_PCDC_DATA_OVERFLOW -1146
#define C16ERR_PCDC_NO_COLON -1147
#define C16ERR_PCDC_FLD_NOT_FOUND -1148
#define C16ERR_PCDC_NO_THEN -1149
#define C16ERR_PCDC_NO_CASE -1150
#define C16ERR_PCDC_PROC_UNDEFINED -1151
#define C16ERR_PCDC_VAR_MISMATCH -1152
#define C16ERR_PCDC_INV_PROPERTY -1153
#define C16ERR_PCDC_NO_ENDIF -1154
/************************************************************************/
/* - P-CODE INFORMATION ERRORS - */
/************************************************************************/
// not catchable
#define C16ERR_PCDI_CONNECTION_LOST -1159
#define C16ERR_PCDI_STACK_OVERFLOW -1160
#define C16ERR_PCDI_CODE_MISSING -1161
#define C16ERR_PCDI_CODE_UNKNOWN -1162
#define C16ERR_PCDI_DEBUG_TERM -1163
#define C16ERR_PCDI_MEM_EXHAUST -1164
#define C16ERR_PCDI_VAR_OVERFLOW -1165
#define C16ERR_PCDI_SERVER_TERM -1166
#define C16ERR_PCDI_CALL_OLD -1169
// catchable
#define C16ERR_PCDI_INF_NOT_FOUND -1170
#define C16ERR_PCDI_GLB_NOT_FOUND -1171
#define C16ERR_PCDI_DSP_DIFFERS -1172
#define C16ERR_PCDI_DSP_NULL -1173
#define C16ERR_PCDI_SUB_NOT_FOUND -1174
#define C16ERR_PCDI_ARG_NOT_SAME -1175
#define C16ERR_PCDI_FLD_NOT_FOUND -1176
#define C16ERR_PCDI_FLD_TYPE_WRONG -1177
#define C16ERR_PCDI_ARR_IDX -1178
#define C16ERR_PCDI_VAL_OVERFLOW -1179
#define C16ERR_PCDI_STR_OVERFLOW -1180
#define C16ERR_PCDI_DIV_ZERO -1181
#define C16ERR_PCDI_MATH_ARG -1182
#define C16ERR_PCDI_RANGE -1183
#define C16ERR_PCDI_FSC_NOT_FOUND -1184
#define C16ERR_PCDI_SBR_NOT_FOUND -1185
#define C16ERR_PCDI_KEY_NOT_FOUND -1186
#define C16ERR_PCDI_LNK_NOT_FOUND -1187
#define C16ERR_PCDI_VAL_INVALID -1188
#define C16ERR_PCDI_KEYFLD_NOT_FOUND -1189
#define C16ERR_PCDI_LNKFLD_NOT_FOUND -1190
#define C16ERR_PCDI_HANDLE_INVALID -1191
#define C16ERR_PCDI_MISSING_ARG -1192
#define C16ERR_PCDI_LNK_INVALID -1193
#define C16ERR_PCDI_FSC_INVALID -1194
#define C16ERR_PCDI_SEL_VALSET -1195
#define C16ERR_PCDI_SEL_SORT -1196
#define C16ERR_PCDI_SEL_SAME -1197
#define C16ERR_PCDI_ARG_NO_ARRAY -1198
#define C16ERR_PCDI_PROPERTY_INVALID -1199
#define C16ERR_PCDI_DECIMAL_OP -1200
#define C16ERR_PCDI_CNV -1201
#define C16ERR_PCDI_FRM_DIFFERS -1202
#define C16ERR_PCDI_FRM_NOT_FOUND -1203
#define C16ERR_PCDI_DEADLOCK -1206
#define C16ERR_LICENSE_SRVNOTSUPPORTED -2001
#define C16ERR_LICENSE_CLNUPGRADE -2002
#define C16ERR_LICENSE_CLNNOTSUPPORTED -2003
#define C16ERR_LICENSE_COMM -2004
#define C16ERR_LICENSE_DATA -2005
#define C16ERR_LICENSE_INVALID -2006
#define C16ERR_LICENSE_MISMATCH_EVAL -2007
#define C16ERR_LICENSE_ENDOFLIFE -2008
#define C16ERR_LICENSE_ENDOFLIFE_EVAL -2009
/****************************************************************************/
/* */
/* RESULT CODES */
/* */
/****************************************************************************/
#define C16RES_ASYNC_RUNNING 1 /* async operation is running */
#define C16RES_ASYNC_TERM 2 /* async operation terminated */
#define C16RES_ASYNC_BREAK 3 /* async operation canceled */
/****************************************************************************/
/* */
/* CONSTANTS */
/* */
/****************************************************************************/
#define _TypeAlpha 1
#define _TypeDate 2
#define _TypeByte 3
#define _TypeWord 4
#define _TypeDecimal 5
#define _TypeMemo 6
#define _TypeInt 7
#define _TypeBigInt 8
#define _TypeFloat 9
#define _TypeLogic 10
#define _TypeTime 11
#define _TypeCaltime 0x14
#define _TypePoint 0x20
#define _TypeRect 0x21
#define _TypeHandle 0x24
#define _ArgOptVAR 0x40
#define _ArgOptARRAY 0x80
#define _FileAttrOemMark 0x01
#define _FileAttrTemp 0x02
#define _FileAttrEncrypted 0x04
#define _FileAttrId64 0x08
#define _FileAttrSeqInsert 0x10
#define _FileAttrFldBuf 0x20
#define _FileAttrRecModified 0x40
#define _KeyFldAttrUpperCase 0x02
#define _KeyFldAttrUmlaut 0x04
#define _KeyFldAttrSpecialChars 0x08
#define _KeyFldAttrSoundex1 0x10
#define _KeyFldAttrSoundex2 0x20
#define _KeyFldAttrReverse 0x40
#define _LinkFldAttrUpperCase 0x02
#define _LinkFldAttrUmlaut 0x04
#define _LinkFldAttrSpecialChars 0x08
#define _LinkFldAttrSoundex1 0x10
#define _LinkFldAttrSoundex2 0x20
#define _LinkFldAttrReverse 0x40
#define _LinkFldAttrPosition 0x80
#define _FmtNone 0x00
#define _FmtTSep 0x01
#define _FmtZeroSupr 0x02
#define _FmtPlusSign 0x04
#define _FmtDateLongYear 0x08
#define _FmtTimeSeconds 0x10
#define _FmtTimeHSeconds 0x20
#define _FldExc_Binary 0x00
#define _FldExc_Character 0x01
#define _FldExc_RawData 0x02
#define _FldExc_CharSet_C16 0
#define _FldExc_CharSet_OEM 1
#define _FldExc_CharSet_ANSI 2
#define _rOk 0
#define _rLocked 1
#define _rMultiKey 2
#define _rNoKey 3
#define _rLastRec 4
#define _rNoRec 5
#define _rExists 6
#define _rNoLock 7
#define _rNoRights 9
#define _rDeadlock 10
#define _rLimitReached 11
#define _RecFirst 0x00000001
#define _RecLast 0x00000002
#define _RecPrev 0x00000003
#define _RecNext 0x00000004
#define _RecPos 0x00000005
#define _RecLock 0x00000008
#define _RecForceLock 0x00000010
#define _RecCheckLock 0x00000018
#define _RecUnlock 0x00000020
#define _RecSingleLock 0x00000028
#define _RecSharedLock 0x00000030
#define _RecTest 0x00000040
#define _RecNoLoad 0x00000080
#define _RecKeyReverse 0x00200000
#define _RecCount 0
#define _RecCountPos 5
#define _RecCountNext 6
#define _RecID 1
#define _RecLen 2
#define _RecLockedBy 3
#define _RecGetPos 4
#define _RecSetID 7
#define _RecGetPosReverse 8
#define _RecGetPrime 9
#define _RecLenPacked 10
#define _RecLastChange 14
#define _TextFirst 0x00001
#define _TextLast 0x00002
#define _TextPrev 0x00003
#define _TextNext 0x00004
#define _TextLock 0x00008
#define _TextUnlock 0x00020
#define _TextBinary 0x00100
#define _TextAppend 0x00200
#define _TextSingleLine 0x00400
#define _TextEolNull 0x00000
#define _TextEolCR 0x01000
#define _TextEolLF 0x02000
#define _TextEolCRLF 0x03000
#define _Text_CharSet_C16 0x00000
#define _Text_CharSet_OEM 0x10000
#define _Text_CharSet_ANSI 0x20000
#define _SelFirst 0x01
#define _SelLast 0x02
#define _SelPrev 0x03
#define _SelNext 0x04
#define _SelLock 0x08
#define _SelUnlock 0x20
#define _SelSharedLock 0x30
#define _SelKeyMode 0x10000000
#define _SelKeyUpdate 0x20000000
#define _SelSort 0
#define _SelCount 1
#define _SelCountD 2
#define _SelFile 3
#define _SelRecCount 4
#define _BinFirst 0x0001
#define _BinLast 0x0002
#define _BinPrev 0x0003
#define _BinNext 0x0004
#define _BinLock 0x0008
#define _BinSharedLock 0x0030
#define _BinSingleLock 0x0028
#define _BinCreate 0x1000
#define _BinDirectory 0x2000
#define _BinDeleteAll 0x4000
#define _BinClearOnly 0x8000
#define _BinCreateNew 0x9000
#define _PgifType_Client 0x0001 /* Client-type */
#define _PgifType_Protocol_16 0x0080 /* 16-bit protocols */
#define _PgifType_Win32 0x0100 /* Windows 32-Bit */
#define _PgifType_OS2 0x0200 /* OS/2 32-Bit */
#define _PgifType_Win64 0x0300 /* Windows 64-Bit */
#define _ProtocolSPX 1 /* IPX/SPX */
#define _ProtocolTCP 2 /* TCP/IP */
#define _ProtocolNPS 4 /* Named Pipes */
#define _ProtocolSHM 5 /* Shared Memory */
#define _AreaOpen 0x00000200 /* area is open */
#define _AreaStandby 0x00010000 /* area in standby mode */
#define _AreaReadOnly 0x00020000 /* area is read-only */
#define _AreaBackup 0x00040000 /* area backup event */
#define _AreaDiag 0x00080000 /* area diagnose running */
#define _AreaUpdate 0x00200000 /* area update running */
#define _AreaLock 0x00400000 /* area is locked */
#define _AreaDisabled 0x01000000 /* area optimize running */
#define _DiagExtended 0x0010 /* full sort analysis */
#define _DiagRecover 0x0001 /* repair defects */
#define _DiagKeyReference 0x0002 /* test key integrity */
#define _DiagMode_None 0x0000 /* no action */
#define _DiagMode_Read1 0x0001 /* read pass 1 */
#define _DiagMode_Recover 0x0002 /* recover pass */
#define _DiagMode_Read2 0x0003 /* read pass 2 */
#define _DiagMode_Primes 0x0004 /* test prime counters */
#define _DiagMode_KeyRef 0x0005 /* key reference pass */
#define _DiagMode_End 0x0008 /* all passes completed */
#define _DiagRes_End 0
#define _DiagRes_TreeCollision 1
#define _DiagRes_FreeSpace 2
#define _DiagRes_Tree 3
#define _DiagRes_Prime 4
#define _DiagRes_File 5
#define _DiagRes_Key 6
#define _DiagRes_Time 7
#define _DiagResF_Defect 0x01
#define _DiagResF_Repaired 0x02
#define _DiagResF_Collisions 0x04
#define _DiagResF_RefError 0x08
#define _DiagResF_RefCorrected 0x10
#define _DiagResF_Incomplete 0x20
#define _DiagResF_Extensions 0x80
#define _OpenMode5x 0xFFFF0001
/****************************************************************************/
/* */
/* STRUCTURES */
/* */
/****************************************************************************/
/* file information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT FileNumber; /* filenumber */
vINT FileMaster; /* master filenumber */
vINT FileSbrCount; /* # of subrecords */
vINT FileKeyCount; /* # of keys */
vINT FileLinkCount; /* # of links */
vCHAR FileName[24]; /* filename */
vINT FileAttributes; /* attributes (_FileAttr..., optional) */
}
vC16_FileInfo;
/* subrecord information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT SbrFileNumber; /* subrecord filenumber */
vINT SbrNumber; /* subrecord number */
vBOOL SbrStatus; /* subrecord active status */
vINT SbrFldCount; /* # of fields */
vCHAR SbrName[24]; /* subrecord name */
}
vC16_SbrInfo;
/* field information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT FldFileNumber; /* field filenumber */
vINT FldSbrNumber; /* field subrecord number */
vINT FldNumber; /* field number */
vBYTE FldType; /* field type */
vBYTE FldLen; /* field length */
vBYTE FldInputRight;
vBYTE FldOutputRight;
vCHAR FldName[24]; /* field name */
}
vC16_FldInfo;
/* field information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT FldFileNumber; /* field filenumber */
vINT FldSbrNumber; /* field subrecord number */
vINT FldNumber; /* field number */
vINT FldLen; /* field length */
vINT FldAttribute; /* field attribute */
vBYTE FldType; /* field type */
vBYTE FldInputRight;
vBYTE FldOutputRight;
vBYTE FldStatus;
vCHAR FldName[24]; /* field name */
}
vC16_FldInfoExt;
/* key information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT KeyFileNumber; /* key filenumber */
vINT KeyNumber; /* key number */
vINT KeyFldCount; /* # of fields */
vBOOL KeyIsUnique; /* # of fields */
vCHAR KeyName[24]; /* key name */
vINT KeyMaxLen; /* max. length of key (optional) */
}
vC16_KeyInfo;
/* key field information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT KeyFldFileNumber; /* keyfield filenumber */
vINT KeyFldSbrNumber; /* keyfield subrecord no. */
vINT KeyFldNumber; /* keyfield field number */
vBYTE KeyFldType; /* keyfield type */
vBYTE KeyFldAttributes; /* keyfield attributes */
vBYTE KeyFldMaxLen; /* max. length of keyfield */
vBYTE reserved; /* */
vCHAR KeyFldName[24]; /* keyfield name */
}
vC16_KeyFldInfo;
/* link information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT LinkFileNumber; /* link filenumber */
vINT LinkNumber; /* link number */
vINT LinkFldCount; /* # of fields */
vINT LinkDestFileNumber; /* link destination file no. */
vINT LinkDestKeyNumber; /* link destination key no. */
vCHAR LinkName[24]; /* link name */
}
vC16_LinkInfo;
/* link field information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT LinkFldFileNumber; /* linkfield filenumber */
vINT LinkFldSbrNumber; /* linkfield subrecord no. */
vINT LinkFldNumber; /* linkfield field number */
vBYTE LinkFldType; /* linkfield type */
vBYTE LinkFldAttributes; /* linkfield attributes */
vBYTE LinkFldMaxLen; /* max. length of linkfield */
vBYTE reserved; /* */
vCHAR LinkFldName[24]; /* linkfield name */
}
vC16_LinkFldInfo;
/* text header information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
/* read only elements */
vCHAR TextName[24]; /* name of text */
vCHAR TextPrivUser[24]; /* private text user name */
vCHAR TextCreateUser[24]; /* creation user name */
vCHAR TextModifiedUser[24]; /* last modification user name */
vDATE TextCreateDate; /* creation date */
vTIME TextCreateTime; /* creation time */
vDATE TextModifiedDate; /* last modification date */
vTIME TextModifiedTime; /* last modification time */
vLONG TextSize; /* size in bytes */
vLONG TextLines; /* number of lines */
/* changeable elements */
vCHAR TextGroup[24]; /* text group name */
vINT TextReadPL; /* read permission level */
vINT TextWritePL; /* write permission level */
vBOOL TextPrivate; /* text is private */
vBOOL TextEncrypted; /* text is encrypted */
}
vC16_TextInfo;
/* selection header information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vCHAR SelName[24]; /* name of selection */
vCHAR SelModifiedUser[24]; /* last modification user name */
vDATE SelCreateDate; /* creation date */
vTIME SelCreateTime; /* creation time */
vDATE SelModifiedDate; /* last modification date */
vTIME SelModifiedTime; /* last modification time */
vDATE SelExecuteDate; /* last execution date */
vTIME SelExecuteTime; /* last execution time */
vINT SelModifyPL; /* modify permission level */
vINT SelExecutePL; /* execute permission level */
}
vC16_SelInfo;
/* interface information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT PgifType; /* type of interface */
vCHAR PgifLicense[20]; /* license number */
vCHAR PgifRelease[8]; /* release info */
vINT PgifUserLimit; /* user limit */
vINT PgifMemory; /* current allocated memory */
vINT PgifMemoryPeak; /* peak allocated memory */
}
vC16_PgifInfo;
/* server information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vCHAR ServerName[64]; /* server host name */
vCHAR ServerType[48]; /* type of server */
vCHAR ServerLicense[20]; /* server license */
vCHAR ServerRelease[8]; /* server release */
vINT ServerProtocol; /* used protocol */
vINT ServerUserLimit; /* server user limit */
}
vC16_ServerInfo;
/* data area information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT UserID; /* current user id */
vINT UserNumber; /* current user number */
vINT AreaID; /* area release info */
vLONG AreaSize; /* size of area (KB) */
vLONG AreaFree; /* free area space (KB) */
vINT AreaUserCount; /* current number of users */
vLONG AreaStatusFlags; /* area status flags */
vLONG AreaRemBackupTime; /* remaining backup time (seconds) */
vCHAR AreaName[128]; /* area filename */
}
vC16_AreaInfo;
/* user information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vINT ID; /* user id */
vINT Number; /* user number */
vINT Protocol; /* network protocol */
vLONG FirstReq; /* seconds since login */
vDATE FirstReqDate; /* login date */
vTIME FirstReqTime; /* login time */
vLONG LastReq; /* seconds since last req. */
vDATE LastReqDate; /* last request date */
vTIME LastReqTime; /* last request time */
vCHAR Name[24]; /* user name */
vCHAR SysName[64]; /* machine name */
vCHAR SysNameIP[64]; /* host name */
vCHAR Address[48]; /* network address */
vCHAR SysAccount[64]; /* system account name */
}
vC16_UserInfo;
#pragma pack(push,8)
/* key reorganisation progress information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vXLONG RecID; /* current record ID */
vLONG KeyCount; /* current key counter */
vLONG RecErrorCount; /* number of defective records */
vLONG KeyErrorCount; /* number of key collisions */
vLONG Result; /* task result */
}
vC16_KeyReorgInfo;
#pragma pack(pop)
/* diagnose progress information structure */
typedef struct
{
vINT InfoSize; /* size of information block */
vLONG Status; /* current status */
vLONG Progress; /* completion info */
}
vC16_DiagInfo;
/* diagnose results */
typedef union
{
struct
{
vBYTE ResultType; /* see _DiagRes_... */
vBYTE ResultStatus; /* see _DiagResF_... */
vBYTE ErrorCode; /* error information */
vBYTE KeyNo; /* key number */
vWORD TreeNo; /* tree number */
vWORD FileNo; /* file number */
vLONG Counter; /* number of entries */
} r;
struct
{
vLONG ExtInfo1; /* extended info #1 */
vLONG ExtInfo2; /* extended info #2 */
vLONG ExtInfo3; /* extended info #31 */
} x;
}
vC16_DiagResult;
/* BLOB directory or object */
typedef struct
{
vXLONG ID;
vXLONG StorageID;
vCHAR Name[64];
vCHAR FullName[512];
vCHAR Custom[256];
vXLONG Created;
vXLONG Modified;
vXLONG TimeExternal;
vCHAR CreatedUser[24];
vCHAR ModifiedUser[24];
vCHAR TypeUser[64];
vCHAR TypeMIME[64];
vXLONG SizeDba;
vXLONG SizeOrg;
vBYTE Compression;
}
vC16_BinObj;
/* compiler information structure */
typedef struct
{
vERROR ErrorCode;
vINT ErrorLine;
vINT ErrorColumn;
vCHAR ErrorProcSource[64];
vCHAR ErrorLineText[512];
vCHAR ErrorCodeText[128];
}
vC16_CompileInfo;
#ifdef __cplusplus
};
#endif
#endif