campo-sirio/cb/source/d4defs.h
luca e9a4e4b36b Patch level :4.0 nopatch
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :correzioni dovute al passaggio al nuovo compilatore


git-svn-id: svn://10.65.10.50/trunk@14698 c028cbd2-c16b-5b4b-a496-9718f37d4682
2006-12-29 14:16:28 +00:00

1530 lines
33 KiB
C
Executable File

/* 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 <os2.h>
#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 */