/* d4defs.h (c)Copyright Sequiter Software Inc., 1988-1996. All rights reserved. */ #ifndef D4DEFS_INC #define D4DEFS_INC #ifdef __cplusplus /* only use CodeBase++ ::true() functions on older compilers otherwise use ::isTrue() replacment */ #ifdef __BORLANDC__ #if __BORLANDC__ < 0x500 #define S4USE_TRUE #endif #endif #ifdef _MSC_VER #if _MSC_VER < 1010 #define S4USE_TRUE #endif #endif #endif /* #ifdef _MSC_VER #if _MSC_VER > 999 #define S4USE_INT_DELAY #endif #endif */ #ifndef S4DLL_BUILD #ifndef S4LIB_BUILD #define S4EXE_BUILD #endif #endif #ifndef S4INLINE #define S4INLINE #endif #ifdef S4WINTEL #ifndef S4OS2 #ifndef _MSC_VER #define P4ARGS_USED #endif #endif #endif #ifdef S4SERVER #ifdef S4CB51 #error - CodeBase Server cannot be built with S4CB51. Comment the S4CB51 switch. #endif /* for 5.1 version, ... */ #define S4OFF_REPORT #endif /* catalog files not supported in version 6.0 */ #define S4OFF_CATALOG #define S4OFF_SECURITY #ifdef S4CB51 #ifndef S4API_51_ONLY #ifndef S4OFF_TRAN #define S4OFF_TRAN #endif #ifndef S4OFF_CATALOG #define S4OFF_CATALOG #endif #ifndef S4OFF_SECURITY #define S4OFF_SECURITY #endif #ifndef S4OFF_ENFORCE_LOCK #define S4OFF_ENFORCE_LOCK #endif #endif #endif #ifdef S4UTILS #ifndef S4OFF_ENFORCE_LOCK #define S4OFF_ENFORCE_LOCK #endif #endif #ifdef S4UNIX #define S4DIR '/' #define S4DIR1 '\\' #else /* */ /* */ /* */ #define S4DIR '\\' #define S4DIR1 '/' /* */ #endif /* equivalency defines should go first... */ #ifdef S4OFF_INDEX #ifndef S4INDEX_OFF #define S4INDEX_OFF #endif #endif #ifdef S4INDEX_OFF #ifndef S4OFF_INDEX #define S4OFF_INDEX #endif #endif #ifdef S4OPTIMIZE_OFF #ifndef S4OFF_OPTIMIZE #define S4OFF_OPTIMIZE #endif #endif #ifdef S4OFF_OPTIMIZE #ifndef S4OPTIMIZE_OFF #define S4OPTIMIZE_OFF #endif #endif #ifdef S4OFF_MEMO #ifndef S4MEMO_OFF #define S4MEMO_OFF #endif #endif #ifdef S4MEMO_OFF #ifndef S4OFF_MEMO #define S4OFF_MEMO #endif #endif #ifdef S4OFF_MULTI #ifndef S4SINGLE #define S4SINGLE #endif #endif #ifdef S4SINGLE #ifndef S4OFF_MULTI #define S4OFF_MULTI #endif #endif /* end of equivalency defines */ #ifndef S4SERVER #ifndef S4OFF_CATALOG #define S4OFF_CATALOG #endif #ifndef S4OFF_SECURITY #define S4OFF_SECURITY #endif #endif #ifdef S4OFF_CATALOG #ifndef S4OFF_SECURITY #error - Must define S4OFF_SECURITY if defining S4OFF_CATALOG #endif #endif #ifdef S4OFF_WRITE #ifndef S4OFF_TRAN #define S4OFF_TRAN #endif #endif #ifdef S4SPX #ifdef S4WINSOCK #error - Library compiled with BOTH S4WINSOCK and S4SPX. Remove one #endif #endif #ifdef S4FOX #ifndef S4CLIENT_OR_FOX #define S4CLIENT_OR_FOX #endif #endif #ifdef S4CLIENT #ifndef S4OFF_WRITE_DELAY #define S4OFF_WRITE_DELAY #endif #ifndef S4OFF_READ_ADVANCE #define S4OFF_READ_ADVANCE #endif #ifndef S4CLIENT_OR_FOX #define S4CLIENT_OR_FOX #endif #ifndef S4OFF_OPTIMIZE #define S4OFF_OPTIMIZE #endif #ifndef S4OPTIMIZE_OFF #define S4OPTIMIZE_OFF #endif #ifdef S4OFF_INDEX #undef S4OFF_INDEX #endif #ifdef S4INDEX_OFF #undef S4INDEX_OFF #endif #ifdef S4OFF_MEMO #undef S4OFF_MEMO #endif #ifdef S4MEMO_OFF #undef S4MEMO_OFF #endif #ifdef S4OFF_MULTI #undef S4OFF_MULTI #endif #ifdef S4SINGLE #undef S4SINGLE #endif #ifndef S4SPX #ifndef S4WINSOCK #ifndef S4EXE_BUILD #ifdef S4CB51 #error - Must compile with a default communication protocol (S4SPX OR S4WINSOCK) #else #ifdef S4LIB_BUILD #error - Must compile with a default communication protocol (S4SPX OR S4WINSOCK) #endif #endif #endif #endif #endif #else #ifndef S4MDX #ifndef S4FOX #ifndef S4CLIPPER #ifndef S4NDX #error - Must compile with one of the indexing options (S4MDX, S4FOX, S4CLIPPER, OR S4NDX) #endif #endif #endif #endif #ifndef S4SERVER #ifndef S4STAND_ALONE #error - Must compile with one of the configuration options (S4SERVER, S4CLIENT, S4STAND_ALONE) #endif #endif #endif #ifndef S4WIN16 #ifndef S4WIN32 #ifndef S4OS2 #ifndef S4UNIX /* */ #ifndef S4PASCAL_WIN #ifndef S4DOS #error NO OPERATING SYSTEM SELECTED (S4WIN16/S4WIN32/S4DOS/S4UNIX/...) #endif #endif /* */ #endif #endif #endif #endif #ifdef S4WIN16 #ifndef S4WINDOWS #define S4WINDOWS #endif #endif #ifdef S4WIN32 #ifndef S4CONSOLE #ifndef S4WINDOWS #define S4WINDOWS #endif #endif #ifdef __BORLANDC__ /* borland's atof() causes problems... */ #define S4NO_ATOF #endif #ifndef S4SEMAPHORE #define S4SEMAPHORE #endif #ifdef S4WINDOWS #ifndef S4OFF_THREAD #ifndef S4OFF_WRITE_DELAY #ifndef S4WRITE_DELAY #define S4WRITE_DELAY #endif #endif #ifndef S4OFF_READ_ADVANCE #ifndef S4READ_ADVANCE #define S4READ_ADVANCE #endif #endif #endif #endif #endif #ifdef S4OFF_WRITE_DELAY #ifdef S4WRITE_DELAY #undef S4WRITE_DELAY #endif #endif #ifdef S4OFF_READ_ADVANCE #ifdef S4READ_ADVANCE #undef S4READ_ADVANCE #endif #endif #ifdef S4READ_ADVANCE #ifndef S4ADVANCE_READ #define S4ADVANCE_READ #endif #endif #ifdef S4WRITE_DELAY #define S4MULTI_THREAD #else #ifdef S4READ_ADVANCE #define S4MULTI_THREAD #endif #endif #ifdef S4OS2 #ifndef S4CONSOLE #ifndef S4OS2PM #ifndef S4WINDOWS #define S4WINDOWS #endif #endif #endif #endif #ifdef S4DOS #ifndef S4CONSOLE #define S4CONSOLE #endif #endif #ifdef S4UNIX #ifndef S4CONSOLE #define S4CONSOLE #endif #endif #ifdef S4STAND_ALONE #ifdef S4UNIX #define S4OFF_COMMUNICATIONS #endif #ifdef S4OS2 #define S4OFF_COMMUNICATIONS #endif #ifndef S4UTILS #ifndef S4OFF_COMMUNICATIONS #define S4OFF_COMMUNICATIONS #endif #endif #endif #ifdef S4NWSDK #ifndef S4SPX #define S4SPX #endif #endif #ifdef S4SPX #ifndef S4NWSDK #ifdef S4WINDOWS #define S4NWSDK #else #define S4REGISTERS #endif #endif #endif #ifndef S4WINDOWS #ifndef S4OS2PM #ifndef S4CODE_SCREENS #ifndef S4CONSOLE #error - Must compile with an output option( S4WINDOWS, S4OS2PM, S4CODE_SCREENS or S4CONSOLE ) #endif #endif #endif #endif #ifdef S4WINDOWS #ifdef S4CONSOLE #error - Both S4WINDOWS and S4CONSOLE switches set - only one is allowed. #endif #ifdef S4OS2PM #error - Both S4WINDOWS and S4OS2PM switches set - only one is allowed. #endif #endif #ifdef S4CONSOLE #ifdef S4OS2PM #error - Both S4CONSOLE and S4OS2PM switches set - only one is allowed. #endif #endif #ifdef S4MDX #ifdef S4FOX #error - Both S4MDX and S4FOX switches set - only one is allowed. #endif #ifdef S4CLIPPER #error - Both S4MDX and S4CLIPPER switches set - only one is allowed. #endif #ifdef S4NDX #error - Both S4MDX and S4NDX switches set - only one is allowed. #endif #endif #ifdef S4FOX #ifdef S4CLIPPER #error - Both S4FOX and S4CLIPPER switches set - only one is allowed. #endif #ifdef S4NDX #error - Both S4FOX and S4NDX switches set - only one is allowed. #endif #endif #ifdef S4CLIPPER #ifdef S4NDX #error - Both S4CLIPPER and S4NDX switches set - only one is allowed. #endif #endif /* OS2 2.0 SUPPORT */ #ifdef __OS2__ /* Watcom 386, Borland C++ for OS/2 */ #define S4OS2 #endif #ifdef __IBMC__ /* IBM C SET/2 */ #define S4OS2 #define S4IBMOS2 #endif #ifdef __IBMCPP__ /* IBM C++ SET/2 */ #define S4OS2 #define S4IBMOS2 #endif #ifdef __OS2__ #ifndef S4OS2 #define S4OS2 #endif typedef unsigned HANDLE; #ifdef __BORLANDC__ #if __BORLANDC__ == 0x400 #define S4MEMCMP #endif #endif #endif #ifdef S4OS2 #ifndef __WATCOMC__ #define INCL_DOSSEMAPHORES #ifndef S4OS2PM #define INCL_NOPMAPI /* don't include PM.H */ #endif #include #endif #endif #ifndef S4OS2 #ifdef S4WINTEL #ifndef _SIZE_T_DEFINED_ /* Watcom */ #ifndef _SIZE_T_DEFINED /* Microsoft, Metaware */ #ifndef _SIZE_T /* Borland */ typedef unsigned size_t ; #define _SIZE_T_DEFINED_ /* Used to resolve Watcom 386 warning */ #define _SIZE_T #endif #endif #endif #endif #endif #ifndef _A_RDONLY #define _A_RDONLY 0x01 /* Read-only attribute */ #endif #ifdef __HIGHC__ /* align structures to word alignment, Metaware */ #pragma Align_members(1) #pragma Off(Char_default_unsigned) #endif #ifdef __SC__ #pragma SC align 1 /* align structures to word alignment, Symantec */ #endif #ifdef __WATCOMC__ #pragma off(unreferenced) #endif /* Visual FoxPro Support */ #ifdef S4FOX #ifdef S4GENERAL #ifndef S4VFP_KEY #define S4VFP_KEY #endif #endif #ifdef S4LANGUAGE #error - International Language Support is done via Collating Sequences #endif #else #ifdef S4GENERAL #error - S4GENERAL switch should only be set with S4FOX. #endif #ifdef S4CODEPAGE_437 #error - CodePage Support is only compatible with S4FOX. #endif #ifdef S4CODEPAGE_1252 #error - CodePage Support is only compatible with S4FOX. #endif #endif /* Foreign language support */ #ifndef S4FOX /* VFP uses codepages and collating sequences */ #ifdef S4GERMAN #define S4LANGUAGE #endif #ifdef S4FRENCH #define S4LANGUAGE #define S4VMAP #endif #ifdef S4SWEDISH #define S4LANGUAGE #define S4VMAP #endif #ifdef S4FINNISH #define S4LANGUAGE #define S4VMAP #endif #ifdef S4ANSI #define S4VMAP #endif #endif #ifdef S4MEMCMP #ifdef __cplusplus extern "C" { #endif int c4memcmp(const void *, const void *, size_t) ; #ifdef __cplusplus } #endif #define u4memcmp c4memcmp #else #define c4memcmp memcmp #ifndef S4LANGUAGE #define u4memcmp memcmp #endif #endif #ifdef S4NO_MEMMOVE #ifdef __cplusplus extern "C" { #endif void *c4memmove(void *, const void *, size_t) ; #ifdef __cplusplus } #endif #else #define c4memmove memmove #endif #ifdef S4DLL_BUILD #define __DLL__ 1 #endif #ifdef S4WIN32 #define S4NO_FILELENGTH #else #ifdef __TURBOC__ #ifndef __DLL__ #ifdef S4DLL #ifdef S4CBPP #define S4CLASS huge #endif #define S4FUNCTION far pascal #endif #endif #endif #ifdef _MSC_VER #if _MSC_VER == 600 #define S4NO_NEGATIVE_LOCK #endif #ifndef __DLL__ #ifdef S4DLL #ifdef S4CBPP #define S4CLASS #endif #define S4FUNCTION far pascal #endif #endif #endif #ifdef __ZTC__ #ifdef S4DLL #ifndef __DLL__ #ifdef S4CBPP #define S4CLASS #endif #define S4FUNCTION far pascal #endif #endif #endif #endif #ifdef S4PASCAL_DOS #define S4PASCAL #endif #ifdef S4PASCAL_WIN #define S4PASCAL #endif #ifdef __DLL__ #ifdef S4WIN32 #define S4DLL #ifdef _MSC_VER #ifdef S4CBPP #define S4CLASS __declspec(dllexport) #endif #define S4EXPORT __declspec(dllexport) #define S4FUNCTION __stdcall #else #ifdef S4CBPP #define S4CLASS _export #endif #define S4FUNCTION __stdcall _export #endif #else #ifdef S4OS2 #ifdef S4CBPP #define S4CLASS _export #endif #define S4FUNCTION _export #else #define S4DLL #ifdef S4CBPP #define S4CLASS _export #endif #define S4FUNCTION far pascal _export #endif #endif #endif #ifndef S4DLL_BUILD #ifdef S4DLL #ifdef S4WIN32 #ifdef _MSC_VER #define S4FUNCTION __stdcall #endif #ifdef __BORLANDC__ #define S4FUNCTION __stdcall _export #endif #endif #endif #endif #ifndef S4FUNCTION #define S4FUNCTION #endif #ifndef S4CLASS #define S4CLASS #endif #ifndef S4EXPORT #define S4EXPORT #endif #ifdef S4DLL #ifdef S4WIN32 #define S4CALL _cdecl #else #ifdef S4OS2 #define S4CALL #else #define S4CALL far _cdecl _export #endif #endif #else #ifdef _MSC_VER #define S4CALL _cdecl S4FUNCTION #else #ifdef __ZTC__ #define S4CALL _cdecl S4FUNCTION #else #define S4CALL S4FUNCTION #endif #endif #endif #ifdef S4WIN32 #define S4NO_FILELENGTH #ifndef INVALID_HANDLE_VALUE #define INVALID_HANDLE_VALUE (HANDLE)-1 /* for Windows NT CreateFile */ #endif #endif #ifdef S4WINDOWS typedef unsigned int UINT ; #endif #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #ifdef S4WINDOWS #ifdef __TURBOC__ #if __TURBOC__ == 0x297 /* Borland C++ 2.0 */ #define M4PRINT sprintf #else #define M4PRINT wsprintf #endif #else #define M4PRINT wsprintf #endif #else #define M4PRINT sprintf /* DOS */ #endif #ifndef S4WIN32 #ifdef S4DLL #ifndef S4OS2 #define S4PTR far #endif #endif #endif #ifndef S4PTR #define S4PTR #endif #ifdef S4NDX #define N4OTHER /* default is to use dBASE III+/Clipper memo file formats if using .NDX index file formats */ #define S4MNDX #endif #ifdef S4CLIPPER #define N4OTHER /* default is to use dBASE III+/Clipper memo file formats if using .NTX index file formats */ #define S4MNDX #define S4HAS_DESCENDING #endif #ifdef S4FOX /* default is to use foxpro memo file formats if using foxpro index file formats */ #define S4MFOX #define S4HAS_DESCENDING #endif #ifdef S4UNIX #ifdef N4OTHER #error: Clipper or dBase III support not allowed. #endif #endif #ifdef S4MDX #define S4MMDX #endif #ifdef S4MNDX #define MEMO4SIZE 0x200 #endif #ifdef S4WINTEL typedef const void S4PTR * S4CMP_PARM ; #endif #ifdef S4SERVER #ifndef S4OFF_REPORT #define S4OFF_REPORT #endif #endif #ifdef S4DOS #ifndef S4LOW_MEMORY #define S4LOW_MEMORY #endif #endif #ifdef S4OFF_MULTI #ifndef S4OFF_ENFORCE_LOCK #define S4OFF_ENFORCE_LOCK #endif #endif #ifdef S4TEST #ifndef S4TESTING #define S4TESTING #endif #ifndef E4HOOK #define E4HOOK #endif #ifndef S4NO_OUT #define S4NO_OUT #endif #endif /* #ifdef S4TESTING #ifndef S4COMPILE_TEST #define S4COMPILE_TEST #endif #endif */ #ifdef S4COMPILE_TEST #ifdef S4OFF_MULTI #define S4COMP_OFF_MULTI #endif #ifdef S4OFF_MEMO #define S4COMP_OFF_MEMO #endif #ifdef S4OFF_INDEX #define S4COMP_OFF_INDEX #endif #endif #ifdef E4DEBUG #ifndef E4ANALYZE #define E4ANALYZE #endif #ifndef E4PARM_HIGH #define E4PARM_HIGH #endif #ifndef E4MISC #define E4MISC #endif #ifndef S4TESTING #ifndef E4STOP_CRITICAL #define E4STOP_CRITICAL #endif #endif #endif #ifdef E4OFF #ifndef E4OFF_ERROR #define E4OFF_ERROR #endif #ifndef E4ERROR_OFF #define E4ERROR_OFF #endif #ifndef E4OFF_STRING #define E4OFF_STRING #endif #endif #ifdef E4ANALYZE_ALL #ifndef E4ANALYZE #define E4ANALYZE #endif #ifndef E4INDEX_VERIFY #define E4INDEX_VERIFY #endif #ifndef E4LOCK #define E4LOCK #endif #endif #ifdef E4ANALYZE #ifndef E4LINK #define E4LINK #endif #ifndef E4PARM_LOW #define E4PARM_LOW #endif #endif #ifdef S4OFF_INLINE #undef S4OFF_INLINE #endif #define WAIT4EVER -1 #ifndef S4SERVER #ifdef S4TESTING #define ATS_FILENAME_REC "RECINFO.ATS" #define ATS_FILENAME_CS "CSINFO.ATS" #endif #endif #ifdef S4DLL #define sort4assignCmp(s4,f) (s4)->cmp = (S4CMP_FUNCTION S4PTR *) MakeProcInstance((FARPROC) f, (HINSTANCE)(s4)->codeBase->hInst) #else #define sort4assignCmp(s4,f) (s4)->cmp = (S4CMP_FUNCTION S4PTR *) (f) #endif /*#define TRAN4INACTIVE 110*/ /*#define TRAN4ACTIVE 120*/ /*#ifdef S4DISTRIBUTED*/ /* #define TRAN4PARTIAL 130*/ /*#endif*/ /* #define TRAN4ROLLBACK 7 -- defined in c4trans.h */ #define S4NUM_STRING_TYPES 16 #ifndef S4SINGLE #define CON4LOCK 100 #define CON4UNLOCK 200 #endif #define CON4WRITE 300 #define CON4GO 400 #define CON4SKIP 500 #define CON4SEEK 600 #define CON4SEEK_DBL 650 #define CON4START 700 #define CON4COMMIT 800 #define CON4COMPLETE 900 #define CON4ROLLBACK 1000 #define CON4OPEN 1100 #define CON4CLOSE 1200 #define CON4RECCOUNT 1300 #ifndef S4SINGLE #define CON4LOCK_CONFIRM 1400 #define CON4LOCK_GROUP 1500 #endif /* #define CON4ABORT 1600 */ #define CON4CONNECT 1700 #define CON4DISCONNECT 1800 /* #define CON4DISCONNECTED 1900*/ #define CON4PACK 2000 #define CON4ZAP 2100 #define CON4CREATE 2200 #define CON4CANCEL 2300 #define CON4RELATE_INIT 2400 #define CON4RELATE_TOP 2500 #define CON4RELATE_BOTTOM 2600 #define CON4RELATE_DO 2700 #define CON4RELATE_DO_ONE 2800 #define CON4RELATE_FREE 2900 /* #define CON4RELATE_CHANGED 2950 */ #ifndef S4SINGLE #define CON4RELATE_LOCK 3000 #define CON4RELATE_UNLOCK 3100 #endif #define CON4RELATE_SKIP 3200 #define CON4INDEX_CREATE 3300 #define CON4INDEX_OPEN 3400 #define CON4INDEX_CLOSE 3500 #define CON4POSITION 3600 #define CON4POSITION_SET 3700 #define CON4REINDEX 3800 #define CON4CHECK 3900 #define CON4TOP 4000 #define CON4BOTTOM 4100 #define CON4APPEND 4200 #define CON4MEMO_COMPRESS 4300 #define CON4MEMO 4400 #define CON4INFO 4500 #define CON4UNIQUE_SET 4600 /*#define CON4PASSWORD 4700*/ #define CON4TRANS_INIT 4800 #define CON4RELATE_OPT 4900 #define CON4SYSTEM 5000 #define CON4TAG_SYNCH 5100 #define CON4DATE_FORMAT 5200 #define CON4TRAN_EOF 5300 #define CON4TRAN_EOF_HALT 5400 #define CON4TRAN_RESTART 5500 #define CON4INDEX_FORMAT 5600 #define CON4INDEX_INFO 5700 #define CON4INDEX_REINDEX 5800 #define CON4ACK 5900 #define CON4INDEX_FNAME 6000 #define CON4DATA_FNAME 6100 #define CON4ADD_TAG 6200 #define CON4CATALOG 6300 #define CON4REMOVE 6400 #define CON4PASSWORD_SET 6500 #define CON4RESTART 6600 #define CON4CALC_CREATE 6700 #define CON4CALC_RESET 6800 #define CON4TAG_OPEN 6900 #define CON4CRASH 7000 #define TIME4OUT 5 #ifndef S4SINGLE #define LOCK4OFF 0 #define LOCK4ALL 1 #define LOCK4DATA 2 #define LOCK4APPEND 10 #define LOCK4FILE 20 #define LOCK4RECORD 30 #endif #ifndef S4STAND_ALONE #ifdef S4SPX #ifdef S4SERVER #define DEF4PROTOCOL "S4SPX.DLL" #else #define DEF4PROTOCOL "C4SPX.DLL" #endif #endif #ifdef S4WINSOCK #ifdef S4SERVER #define DEF4PROTOCOL "S4SOCK.DLL" #else #define DEF4PROTOCOL "C4SOCK.DLL" #endif #endif #endif #define LEN4PASSWORD 10 #define LEN4GARBAGE 518 #define LEN4DATA_ALIAS 32 #define LEN4TAG_ALIAS 10 #define LEN4PATH 250 #define LEN4DATE_FORMAT 20 #define LEN4PROTOCOL 128 #define LEN4USER_ID 32 #define LEN4USERID 10 #define LEN4NETID 20 #define LOG4ALWAYS 2 #define LOG4ON 1 #define LOG4TRANS 0 #ifdef S4FOX #define LEN4HEADER_WR 0x10 #endif #define OPEN4DENY_NONE 0 #define OPEN4DENY_RW 1 #define OPEN4DENY_WRITE 2 #define OPEN4SPECIAL 3 /* for internal use only */ #define OPT4EXCLUSIVE -1 #define OPT4OFF 0 #define OPT4ALL 1 /* used for the # of lists in the priority chain */ #define OPT4NUM_LISTS 5 #define AUTH4ALLOW 'Y' #define AUTH4DISALLOW ' ' #define PROT4DEFAULT 0 #ifdef S4MULTI_THREAD #define r4queued 1 #define r4inUse 2 #define r4finished 3 #define r4canceled 4 #endif #define r4quit 9 #define r4done 1 #define r4complete 2 #define r4down 1 #define r4same 0 /* Integer Return Codes */ #define r4off -2 #define r4success 0 #define r4found 1 /* Primary Key Match */ #define r4after 2 #define r4eof 3 #define r4bof 4 #define r4entry 5 /* No index file entry or no record (go) */ #define r4noRecords 6 #define r4descending 10 #define r4candidate 15 #define r4unique 20 /* Key is not unique, do not write/append */ #define r4uniqueContinue 25 /* Key is not unique, write/append anyway */ /* #define r4keep 30 no longer used */ /* #define r4ignore 40 no longer used */ #define r4locked 50 #define r4noCreate 60 /* Could not create file */ #define r4noOpen 70 /* Could not open file */ #define r4noTag 80 /* DataIndex::seek, with no default tag */ #define r4terminate 90 /* no relation match with terminate set */ #define r4exit 100 /* a function is requesting program termination */ #define r4inactive 110 /* transactional state */ #define r4active 120 /* transactional state */ #define r4rollback 130 /* transactional state */ #define r4authorize 140 /* lacks authorization rights to perform action */ #define r4connected 150 #define r4logOn 160 #define r4logOpen 170 #define r4logOff 180 #define r4null 190 #define r4cdx 200 #define r4mdx 201 #define r4ntx 202 #define r4ndx 203 #define r4unknown 204 /* backward compatibility redefinitions */ #define r4no_records r4noRecords #define r4unique_continue r4uniqueContinue #define r4no_create r4noCreate #define r4no_open r4noOpen #define r4no_tag r4noTag /* collating sequence support */ #define sort4machine 0 #define sort4general 1 /* codepage support */ #define cp0 0 #define cp437 1 #define cp850 2 #define cp1252 3 /* General Disk Access Errors */ #define e4close -10 #define e4create -20 #define e4len -30 #define e4lenSet -40 #define e4lock -50 #define e4open -60 #define e4permiss -61 #define e4access -62 #define e4numFiles -63 #define e4fileFind -64 #define e4instance -69 #define e4read -70 #define e4remove -80 #define e4rename -90 #define e4unlock -110 #define e4write -120 /* Database Specific Errors */ #define e4data -200 #define e4fieldName -210 /* Invalid field name */ #define e4fieldType -220 #define e4recordLen -230 #define e4append -240 #define e4seek -250 /* Index File Specific Errors */ #define e4entry -300 /* Tag entry not located */ #define e4index -310 #define e4tagName -330 #define e4unique -340 /* Key is not unique */ #define e4tagInfo -350 /* tag information is invalid */ #define e4candidate -360 /* key is not unique/non-null */ /* Expression Errors */ #define e4commaExpected -400 #define e4complete -410 #define e4dataName -420 #define e4lengthErr -422 #define e4notConstant -425 #define e4numParms -430 #define e4overflow -440 /* Overflow while evaluating expression */ #define e4rightMissing -450 #define e4typeSub -460 #define e4unrecFunction -470 #define e4unrecOperator -480 #define e4unrecValue -490 #define e4unterminated -500 #define e4tagExpr -510 /* Expression is invalid for use in a tag - eg. DAT4 pointers */ /* Optimization Errors */ #define e4opt -610 #define e4optSuspend -620 #define e4optFlush -630 /* Relation Errors */ #define e4lookupErr -710 #define e4relate -720 #define e4relateRefer -730 /* relation referred to does not exist or not initialized */ /* Report Errors */ #define e4report -810 #define e4styleCreate -811 #define e4styleSelect -812 #define e4styleIndex -813 #define e4areaCreate -814 #define e4groupCreate -815 #define e4groupExpr -816 #define e4totalCreate -817 #define e4objCreate -818 #define e4repWin -819 #define e4repOut -820 #define e4repSave -821 #define e4repRet -822 #define e4repData -823 /* backward compatibility redefinitions */ #define e4style_create e4styleCreate #define e4style_select e4styleSelect #define e4style_Index e4styleIndex #define e4area_create e4areaCreate #define e4group_create e4groupCreate #define e4group_expr e4groupExpr #define e4total_create e4totalCreate #define e4obj_create e4objCreate #define e4rep_win e4repWin #define e4rep_out e4repOut #define e4rep_save e4repSave #define e4rep_ret e4repRet #define e4rep_data e4repData /* Critical Errors */ #define e4info -910 /* Unexpected information in internal variable */ #define e4memory -920 /* Out of memory */ #define e4parm -930 /* Unexpected parameter */ #define e4parm_null -935 /* Unexpected parameter - null input */ #define e4demo -940 /* Exceeded maximum record number for demo */ #define e4result -950 /* Unexpected result */ #define e4verify -960 #define e4struct -970 /* Library Errors */ /* call to library function calls not supported */ #define e4notIndex -1010 /* S4OFF_INDEX */ #define e4notMemo -1020 /* S4OFF_MEMO */ #define e4notRename -1030 /* S4NO_RENAME */ #define e4notWrite -1040 /* S4OFF_WRITE */ #define e4notClipper -1050 /* S4CLIPPER */ #define e4notLock -1060 /* S4LOCK_HOOK */ /* #define e4notHook -1070 E4HOOK */ #define e4notSupported -1090 /* generally not supported (maybe due to server set-up) */ #define e4version -1095 /* version mismatch */ /* MEMO errors */ #define e4memoCorrupt -1110 #define e4memoCreate -1120 /* transaction errors */ #define e4transViolation -1200 #define e4trans -1210 #define e4rollback -1220 #define e4commit -1230 #define e4transAppend -1240 /* communications errors */ #define e4corrupt -1300 #define e4connection -1310 #define e4socket -1320 #define e4net -1330 #define e4loadlib -1340 #define e4timeOut -1350 #define e4message -1360 #define e4packetLen -1370 #define e4packet -1380 /* miscellaneous errors */ #define e4max -1400 #define e4codeBase -1410 #define e4name -1420 #define e4authorize -1430 /* e4packet means the packet is corrupted */ /* all server-specific error >2100, not only e4server returned to client */ #define e4server -2100 #define e4config -2110 #define e4cat -2120 #define E4DEMO_MAX 200 /* garbage between expression and filter is length: */ #ifdef S4FOX #define I4MULTIPLY 1 #define B4DO_BACK_LEVEL 3 #define I4MAX_KEY_SIZE 240 #define F4MAX_NUMERIC 20 #define F4MAX_DECIMAL 19 #define F4DECIMAL_OFFSET 1 #else #ifdef N4OTHER #define F4MAX_NUMERIC 19 #define F4MAX_DECIMAL 15 #define F4DECIMAL_OFFSET 2 #endif #ifdef S4MDX #define F4MAX_NUMERIC 20 #define F4MAX_DECIMAL 18 #define F4DECIMAL_OFFSET 2 #endif #define I4MULTIPLY 512 #ifdef S4NDX #define I4MAX_KEY_SIZE 100 #else #ifdef S4CLIPPER #define I4MAX_KEY_SIZE 338 #else #define I4MAX_KEY_SIZE 102 #endif #endif #endif #define E4ACCURACY 1.0e-13 #define E4ACCURACY_DIGITS 15 /* if S4NO_NEGATIVE_LOCK is defined, there is no dBASE IV compatibility */ #ifdef S4CLIENT #define L4LOCK_POS 1000000000L #else #ifndef S4SINGLE #ifdef N4OTHER #define L4LOCK_POS 1000000000L #endif #ifdef S4FOX #define L4LOCK_POS_OLD 0x40000000L #define L4LOCK_POS 0x7FFFFFFEL #endif #ifdef S4MDX #ifdef S4NO_NEGATIVE_LOCK #define L4LOCK_POS_OLD 1000000000L #define L4LOCK_POS 2000000000L #else #define L4LOCK_POS_OLD 0x40000000L #define L4LOCK_POS 0xEFFFFFFFL #endif #endif #endif #endif #ifdef S4MDX #define I4MAX_EXPR_SIZE 220 #endif #ifdef S4NDX #define I4MAX_EXPR_SIZE 220 #endif #ifdef S4FOX #define I4MAX_EXPR_SIZE 255 #endif #ifdef S4CLIPPER #define I4MAX_EXPR_SIZE 255 #endif #ifdef N4OTHER #ifdef S4NDX #define B4BLOCK_SIZE 512 #else #ifdef S4CLIPPER #define B4BLOCK_SIZE 1024 #endif #endif #endif #ifdef S4FOX #define B4BLOCK_SIZE 512 #endif #define E4DEBUG_INT 0x5281 #ifdef S4SPX #define S4SERVER_NAME_SIZE 47 #define S4MAX_PACKET_SIZE 534 #endif #ifdef S4COMNB #define S4SERVER_NAME_SIZE 16 #endif #ifdef S4COMFILE #define S4SERVER_NAME_SIZE 80 #endif #define S4MAX_SERVER_NAME_SIZE 80 #ifdef S4WINDOWS #ifdef S4SPX #ifndef S4NWSDK #define S4USE_LOW_MEMORY #endif #endif #endif #ifdef S4SPX #define S4REVERSE_FUNC #endif #ifndef S4CB51 #define S4CONST const #else #ifndef S4CONST #define S4CONST #endif #endif #ifdef S4SERVER #ifdef S4OFF_MEMO #error - CodeBase Server incorrectly built with S4OFF_MEMO #endif #ifdef S4OFF_INDEX #error - CodeBase Server incorrectly built with S4OFF_INDEX #endif #ifdef S4OFF_WRITE #error - CodeBase Server incorrectly built with S4OFF_WRITE #endif #ifdef S4OFF_MULTI #error - CodeBase Server incorrectly built with S4OFF_MULTI #endif #ifdef S4OFF_TRAN #error - CodeBase Server incorrectly built with S4OFF_TRAN #endif #ifdef S4OS2 #error - CodeBase Server incorrectly built with S4OS2 #endif #ifdef S4CONTROLS #error - CodeBase Server incorrectly built with S4CONTROLS #endif #ifdef S4VB_DOS #error - CodeBase Server incorrectly built with S4VB_DOS #endif #ifdef S4NETBIOS #error - CodeBase Server incorrectly built with S4NETBIOS #endif #ifdef S4COMFILE #error - CodeBase Server incorrectly built with S4COMFILE #endif #ifndef E4HOOK #error - CodeBase Server incorrectly built without E4HOOK #endif #ifdef S4VBX #error - CodeBase Server incorrectly built with S4VBX #endif #ifdef S4SQL #error - CodeBase Server incorrectly built with S4SQL #endif #ifdef S4OS2DLL #error - CodeBase Server incorrectly built with S4OS2DLL #endif #ifdef S4OS2PM #error - CodeBase Server incorrectly built with S4OS2PM #endif #ifdef S4UNIX #error - CodeBase Server incorrectly built with S4UNIX #endif /* */ /* */ /* */ #ifdef S4CODE_SCREENS #error - CodeBase Server incorrectly built with S4CODE_SCREENS #endif #ifdef S4PASCAL_DOS #error - CodeBase Server incorrectly built with S4PASCAL_DOS #endif #ifdef S4PASCAL_WIN #error - CodeBase Server incorrectly built with S4PASCAL_WIN #endif #ifdef S4OFF_COMMUNICATIONS #error - CodeBase Server incorrectly built with S4OFF_COMMUNICATIONS #endif #ifdef S4NT_DOS #error - CodeBase Server incorrectly built with S4NT_DOS #endif #ifdef S4DEBUG_LOG #error - CodeBase Server incorrectly built with S4DEBUG_LOG #endif #endif #ifdef S4NWSDK #ifdef S4DOS #error S4NWSDK unsupported in DOS configuration #endif #endif #define even4up( a ) ( a + ( ( a / 2 ) * 2 != a ) ) #ifndef S4CONV_REP /* required for building crep2.exe */ #ifdef S4CB51 #ifndef S4DLL_BUILD #ifndef S4LIB_BUILD #ifndef S4CBPP #define S4CONV( a, b ) b /* arguement 'b' is the old naming convention*/ #else #define S4CONV( a, b ) union { a ; b ; } /* creating union declaration*/ #endif #endif #endif #endif #endif #ifndef S4CONV #define S4CONV( a, b ) a #endif #ifdef S4CONV #ifdef S4CB51 #ifndef S4CBPP #define lastNode last_node #define errorCode error_code #else #define createError create_error #define defaultUniqueError default_unique_error #define exprError expr_error #define fieldNameError field_name_error #define goError go_error #define offError off_error #define openError open_error #define relateError relate_error #define skipError skip_error #define tagNameError tag_name_error #endif #endif #endif #ifdef S464BIT #define S4LONG int #else #define S4LONG long #endif #ifdef S4READ_ADVANCE #define AR4EMPTY 1 #define AR4SET 2 #define AR4FULL 3 #endif #endif /* D4DEFS_INC */