Macro: FLEX$INIT

Module location: FMAC line 1255 (view source)

  #REPLACE CALC CALCULATE
  #REPLACE LT $0  // internal value for the find/indicate modes.
  #REPLACE LE $1
  #REPLACE EQ $2
  #REPLACE GE $3
  #REPLACE GT $4
  #REPLACE NE $5
//  #REPLACE TRUE $1
//  #REPLACE FALSE $0
  #REPLACE TRUE  |CZ1   // changed to bit constants so we can use true or false in
  #REPLACE FALSE |CZ0   // any command (e.g. move true to bStat). Also required change in indicate
  #REPLACE NOT ~
  #SET C$ 11
  #REPLACE LASTIF |!C
  #REPLACE ENT$PERMISSIVE |10
  #REPLACE IN$0 $4000
  #REPLACE IN$1 $4004
  #REPLACE IN$2 $4008
  #REPLACE IN$3 $400C
  #REPLACE IN$4 $4010
  #REPLACE IN$5 $4014
  #REPLACE IN$GLANY |0
  #REPLACE IN$GLALL |4
  #REPLACE IN$GRANY |0
  #REPLACE IN$GRALL |2
  #REPLACE IN$GMOR  |0
  #REPLACE IN$GMAND |1
  #REPLACE ERR |127
  #REPLACE ERRLINE |VI6
  #REPLACE LAST_CRIT_ERR |VI102
  #REPLACE EXT_CRIT_ERR |VI103
  #REPLACE CONSTRAIN_TESTS_COUNT |VI106
  #REPLACE CONSTRAIN_FOUND_COUNT |VI107
  #REPLACE FINDERR |126
  #REPLACE SEQEOF |125
  #REPLACE SEQEOL |121
  #REPLACE MULTIUSER |120
  #REPLACE FIELDINDEX |VI1
  #REPLACE WINDOWINDEX |VI2
  #REPLACE LASTERR |VI5
  #REPLACE KEYPRESS |123
  #REPLACE TERMCHAR |VI3
  #REPLACE FLEXKEY |VI4
  #REPLACE SCREENEND |VI17
  #REPLACE MEMAVAIL |VI18
  #REPLACE LASTENTRY |VI19
  #REPLACE FLX_REVISION |VI36
  #REPLACE ENTER$DISPLAY |VI38
  #REPLACE NOKEYCHECK |VI80
  #REPLACE CHAIN_DEPTH |VI81
  #REPLACE CURSOR_SET |VI82 // THESE ARE USED BY AUTOBACK
  #REPLACE CURSOR_RETURN |VI83
  #REPLACE MINIMUM_MEMORY |VI86
  #REPLACE INDEX_NUMBER |VI90
  #REPLACE SCREEN_WIDTH |VI91
  #REPLACE KEY.ANY  |100
  #REPLACE KEY.RETURN   |101
  #REPLACE KEY.PRINT    |102
  #REPLACE KEY.ESCAPE   |103
  #REPLACE KEY.LEFT |104
  #REPLACE KEY.RIGHT    |105
  #REPLACE KEY.FIELD    |106
  #REPLACE KEY.FIND |107
  #REPLACE KEY.SFIND    |108
  #REPLACE KEY.SAVE |109
  #REPLACE KEY.DELETE   |110
  #REPLACE KEY.CALCULATE |111
  #REPLACE KEY.USER |112
  #REPLACE KEY.CLEAR    |113
  #REPLACE KEY.NEXT |115
  #REPLACE KEY.PREVIOUS |114
  #REPLACE KEY.UP   |116
  #REPLACE KEY.DOWN |117
  #REPLACE KEY.HELP |118
  #REPLACE KEY.USER2    |119
  #REPLACE NUMPAGE  |VI28
  #REPLACE NUMWINDOW    |VI29
  #REPLACE #$
  #SET F$ 1
  #REPLACE NEXT_MENU |VI127
  #REPLACE CURRENT_IMAGE |VI9
  #REPLACE CURRENT_WINDOW |VI7
  #REPLACE LAST_GOSUB |VI0
  #REPLACE FOUND |254
  #REPLACE STRMARK |VI12
  #REPLACE STRLEN |VI13
  //   ENTER & REPORT DEF'S
  #REPLACE LINECOUNT |VI10
  #REPLACE PAGECOUNT |VI11
  #REPLACE PAGEEND |VI25
  #REPLACE PAGEFEED |VI26
  #SET D$ 128   // INTEGERS NOW START HERE.
  #SET P$ 0
  #REPLACE AUTOFIND $C000
  #REPLACE AUTOFIND_GE $C000,$C008
  #REPLACE FINDREQ  $C001
  #REPLACE NOPUT    $C002
  #REPLACE NOENTER  $C003
  #REPLACE SKIPFOUND $C004
  #REPLACE RETAINALL $C005
  #REPLACE RETAIN    $C006
  #REPLACE FORCEPUT $C007
  #REPLACE DISPLAYONLY $C002,$C003
  #REPLACE CAPSLOCK $C023
  #REPLACE ZERO_SUPPRESS $C024
  #REPLACE THOUSANDS $C025
  #REPLACE SUPPRESS $C040=''
  #REPLACE FLOAT$ $C026
  #REPLACE UPPER $C023
  #REPLACE SIGNRT $C027
  #REPLACE CHECK $C012
  #REPLACE RANGE $C013
  #REPLACE REQUIRED $C022
  #REPLACE AUTORETURN $C028
  #REPLACE AUTOBACK   $C029
  #REPLACE NO_CALC    $C02B   // Disable Calculate (internal)
  #REPLACE MODAL_INSERT $C02A // Change insert style (internal)
  #REPLACE AUTOCLEAR $C02D
  #REPLACE WP_BACKSP $C02E
  #REPLACE PAGEBREAK |124
  #REPLACE FILL $C040
  #REPLACE POINTS $C080
  #REPLACE FILENUMBER |VI15
  #REPLACE FIELDNUMBER |VI16
  #REPLACE INDEX.1 |CI1   // the indexes are just integers.
  #REPLACE INDEX.2 |CI2
  #REPLACE INDEX.3 |CI3
  #REPLACE INDEX.4 |CI4
  #REPLACE INDEX.5 |CI5
  #REPLACE INDEX.6 |CI6
  #REPLACE INDEX.7 |CI7
  #REPLACE INDEX.8 |CI8
  #REPLACE INDEX.9 |CI9
  #REPLACE INDEX.10 |CI10
  #REPLACE INDEX.11 |CI11
  #REPLACE INDEX.12 |CI12
  #REPLACE INDEX.13 |CI13
  #REPLACE INDEX.14 |CI14
  #REPLACE INDEX.15 |CI15
  #REPLACE INDEX.BATCH |CI10
  #REPLACE RECNUM |CI0
  #REPLACE EXPORT_FILES 1
  #REPLACE EXPORT_ONLY 2
  #REPLACE SEQ_EXPORT 4
  #REPLACE INDIRECT_FILE.RECNUM |FS0,0&
  // note we are defining indirect_file.file_number so one can use indirect_file directly. Note that this
  // technique (any use of indirect_file in any form) is not a recommended technique because there are API commands
  // to do anything it does. Therefore, we will not create yet another way to use indirect_file.
  #REPLACE INDIRECT_FILE.FILE_NUMBER |FS0,0&
  #REPLACE DESKTOP |CI2
  #REPLACE END_FUNCTION END_PROCEDURE
  #REPLACE PROCEDURE_RETURN FUNCTION_RETURN

  #REPLACE TOTAL_RESOURCES |VI104

    // video related replaces
  #REPLACE BW40 0
  #REPLACE C40  1
  #REPLACE BW80 2
  #REPLACE C80  3
  #REPLACE MONO 7
  #REPLACE EXTENDED_EGAVGA 64
  #REPLACE EXTENDED_VGA    128

  // API Constants
  #REPLACE DFERR_ERROR   |CI-1
  #REPLACE DF_SUCCESS    |CI0
  #REPLACE DFFALSE       |CI0
  #REPLACE DFTRUE        |CI1

  // DataFlex driver specific constants
  #REPLACE FLEX_SET_MAX_SORT_BUFFER             |CI1
  #REPLACE FLEX_GET_MAX_SORT_BUFFER             |CI2
  #REPLACE FLEX_REPAIR_FILE                     |CI3
  #REPLACE FLEX_GET_REPAIRS_NEEDED              |CI4
  #REPLACE FLEX_SET_INDEX_OPT                   |CI5
  #REPLACE FLEX_GET_INDEX_OPT                   |CI6
  #REPLACE FLEX_GET_STRICT_TRANSACTIONS         |CI7
  #REPLACE FLEX_SET_STRICT_TRANSACTIONS         |CI8

    // DataFlex specific file damage types
  #REPLACE FLEX_HEADER_OK             |CI0
  #REPLACE FLEX_BLOCK0_BAD            |CI1
  #REPLACE FLEX_HEADER_BAD            |CI2
  #REPLACE FLEX_HEADER_INTEGRITY_OFF  |CI4
  #REPLACE FLEX_HEADER_UNREADABLE     |CI8

  // Index optimization modes
  #REPLACE FLEX_INDEX_OPT_ON          |CI1
  #REPLACE FLEX_INDEX_OPT_PERMISSIVE  |CI2
  #REPLACE FLEX_INDEX_OPT_OFF         |CI3

  // Flex revision codes (for use with DF_FILE_REVISION)
  #REPLACE FLEX_REVISION_23   |CS"2.3B"
  #REPLACE FLEX_REVISION_30   |CS"3.0"


  // Attributes: Runtime
  #REPLACE DF_RUNTIME_PROGRESS_FREQUENCY |CI4097

  // Attributes: Global
  #REPLACE DF_LOCK_DELAY                        |CI1
  #REPLACE DF_LOCK_TIMEOUT                      |CI2
  #REPLACE DF_OPEN_PATH                         |CI3
  #REPLACE DF_DATE_FORMAT                       |CI4
  #REPLACE DF_DATE_SEPARATOR                    |CI5
  #REPLACE DF_DECIMAL_SEPARATOR                 |CI6
  #REPLACE DF_THOUSANDS_SEPARATOR               |CI7
  #REPLACE DF_ALL_FILES_TOUCHED                 |CI8
  #REPLACE DF_HIGH_DATA_INTEGRITY               |CI9
  #REPLACE DF_TRAN_COUNT                        |CI10
  #REPLACE DF_TRANSACTION_ABORT                 |CI11
  #REPLACE DF_REREAD_REQUIRED                   |CI12
  #REPLACE DF_FILELIST_NAME                     |CI13
  #REPLACE DF_REPORT_UNSUPPORTED_ATTRIBUTES     |CI14
  #REPLACE DF_STRICT_ATTRIBUTES                 |CI15
  #REPLACE DF_NUMBER_DRIVERS                    |CI16
  #REPLACE DF_DRIVER_NAME                       |CI17
  #REPLACE DF_DRIVER_NUMBER_SERVERS             |CI18
  #REPLACE DF_DRIVER_SERVER_NAME                |CI19
  #REPLACE DF_API_DISABLED                      |CI20
  #REPLACE DF_API_DISABLED_ERROR                |CI21
  #REPLACE DF_TRANABORT_ONERROR                 |CI22
  #REPLACE DF_OPEN_FILE_COUNT                   |CI23
  #REPLACE DF_DATE_4_STATE                      |CI24
  #REPLACE DF_EPOCH_VALUE                       |CI25
  #REPLACE DF_SYSDATE_4_STATE                   |CI26
  #REPLACE DF_NUMBER_FILES_SUPPORTED            |CI27



  // Attributes: File
  #REPLACE DF_FILE_STATUS	      |CI101
  #REPLACE DF_FILE_MODE               |CI102
  #REPLACE DF_FILE_MAX_RECORDS	      |CI103
  #REPLACE DF_FILE_RECORDS_USED	      |CI104
  #REPLACE DF_FILE_TYPE               |CI105
  #REPLACE DF_FILE_MULTIUSER	      |CI106
  #REPLACE DF_FILE_REUSE_DELETED      |CI107
  #REPLACE DF_FILE_NUMBER             |CI108
  #REPLACE DF_FILE_COMPRESSION	      |CI109
  #REPLACE DF_FILE_LAST_INDEX_NUMBER  |CI110
  #REPLACE DF_FILE_NUMBER_FIELDS      |CI111
  #REPLACE DF_FILE_LOGICAL_NAME	      |CI112
  #REPLACE DF_FILE_ROOT_NAME	      |CI113
  #REPLACE DF_FILE_CHANGED            |CI114
  #REPLACE DF_FILE_ALIAS              |CI115
  #REPLACE DF_FILE_TOUCHED            |CI116
  #REPLACE DF_FILE_TRANSACTION	      |CI117
  #REPLACE DF_FILE_OPENED             |CI118
  #REPLACE DF_FILE_DISPLAY_NAME       |CI119
  #REPLACE DF_FILE_PHYSICAL_NAME      |CI120
  #REPLACE DF_FILE_NEXT_OPENED	      |CI121
  #REPLACE DF_FILE_NEXT_USED	      |CI122
  #REPLACE DF_FILE_NEXT_EMPTY	      |CI123
  #REPLACE DF_FILE_RECORD_LENGTH      |CI124
  #REPLACE DF_FILE_RESTRUCTURE	      |CI125
  #REPLACE DF_FILE_OPEN_MODE	      |CI126
  #REPLACE DF_FILE_INTEGRITY_CHECK    |CI127
  #REPLACE DF_FILE_OWNER              |CI128
  #REPLACE DF_FILE_IS_SYSTEM_FILE     |CI129
  #REPLACE DF_FILE_LOCK_TYPE          |CI130
  #REPLACE DF_FILE_COMMITTED          |CI131
  #REPLACE DF_FILE_DRIVER             |CI132
  #REPLACE DF_FILE_RECORD_LENGTH_USED |CI133
  #REPLACE DF_FILE_HANDLE_TYPE        |CI134
  #REPLACE DF_FILE_RECORD_IDENTITY    |CI135
  #REPLACE DF_FILE_LOGIN              |CI136
  #REPLACE DF_FILE_RECORD_PRIVILEGE   |CI137 // PRIVATE, DO NOT USE
  #REPLACE DF_FILE_PRIVILEGE          |CI138 // PRIVATE, DO NOT USE
  #REPLACE DF_FILE_CREATION_SERIAL    |CI139 // PRIVATE, DO NOT USE
  #REPLACE DF_FILE_REVISION           |CI140
  #REPLACE DF_FILE_RELATED_COUNT      |CI141 // PRIVATE, DO NOT USE
  #REPLACE DF_FILE_RELATED_FIELDS     |CI142 // PRIVATE, DO NOT USE
  #REPLACE DF_FILE_SYSTEM_FILE        |CI143
  #REPLACE DF_FILE_SYSTEM_FIELD       |CI144
  #REPLACE DF_FILE_RECORD_REREAD      |CI145
  #REPLACE DF_FILE_RECNUM_TABLE       |CI1401
  #REPLACE DF_FILE_PRIMARY_INDEX      |CI1402


  // Attributes: Fields

  #REPLACE DF_FIELD_NUMBER	      |CI201
  #REPLACE DF_FIELD_TYPE	      |CI202
  #REPLACE DF_FIELD_LENGTH	      |CI203
  #REPLACE DF_FIELD_PRECISION	      |CI204
  #REPLACE DF_FIELD_RELATED_FILE      |CI205
  #REPLACE DF_FIELD_RELATED_FIELD     |CI206
  #REPLACE DF_FIELD_NAME	      |CI207
  #REPLACE DF_FIELD_INDEX	      |CI208
  #REPLACE DF_FIELD_OFFSET	      |CI209
  #REPLACE DF_FIELD_OLD_NUMBER	      |CI210
  #REPLACE DF_FIELD_OVERLAP           |CI211
  #REPLACE DF_FIELD_NATIVE_LENGTH     |CI212

  // Attributes: Index
  #REPLACE DF_INDEX_NUMBER_SEGMENTS     |CI301
  #REPLACE DF_INDEX_NUMBER_BUFFERS      |CI302
  #REPLACE DF_INDEX_TYPE                |CI303
  #REPLACE DF_INDEX_LEVELS              |CI304
  #REPLACE DF_INDEX_KEY_LENGTH          |CI305

  // Attributes: Index Segments
  #REPLACE DF_INDEX_SEGMENT_DIRECTION   |CI401
  #REPLACE DF_INDEX_SEGMENT_CASE        |CI402
  #REPLACE DF_INDEX_SEGMENT_FIELD       |CI403
  // Attributes: Driver
  #REPLACE DF_DRIVER_CONFORMANCE        |CI1201


  // Date types
  #REPLACE DF_DATE_USA           |CI0
  #REPLACE DF_DATE_EUROPEAN      |CI1
  #REPLACE DF_DATE_MILITARY      |CI2

  // Callback Types
  #REPLACE DF_MESSAGE_TEXT            |CI0
  #REPLACE DF_MESSAGE_HEADING_1       |CI1
  #REPLACE DF_MESSAGE_HEADING_2       |CI2
  #REPLACE DF_MESSAGE_HEADING_3       |CI3
  #REPLACE DF_MESSAGE_HEADING_4       |CI4
  #REPLACE DF_MESSAGE_HEADING_5       |CI5
  #REPLACE DF_MESSAGE_WARNING         |CI6
  #REPLACE DF_MESSAGE_PROGRESS_TITLE  |CI7
  #REPLACE DF_MESSAGE_PROGRESS_VALUE  |CI8

  // Aux file types
  #REPLACE DF_AUX_FILE_FD      |CI0
  #REPLACE DF_AUX_FILE_DEF     |CI1

  // File status values
  #REPLACE DF_FILE_INACTIVE       |CI0
  #REPLACE DF_FILE_ACTIVE         |CI1
  #REPLACE DF_FILE_ACTIVE_CHANGED |CI2

  // File user values
  #REPLACE DF_FILE_USER_SINGLE  |CI0
  #REPLACE DF_FILE_USER_MULTI   |CI1

  // File deleted values
  #REPLACE DF_FILE_DELETED_NOREUSE  |CI0
  #REPLACE DF_FILE_DELETED_REUSE    |CI1

  // Compressions types
  #REPLACE DF_FILE_COMPRESS_NONE        |CI0
  #REPLACE DF_FILE_COMPRESS_FAST        |CI1
  #REPLACE DF_FILE_COMPRESS_STANDARD    |CI2
  #REPLACE DF_FILE_COMPRESS_CUSTOM      |CI3

  // File alias
  #REPLACE DF_FILE_ALIAS_DEFAULT        |CI0
  #REPLACE DF_FILE_IS_MASTER            |CI1
  #REPLACE DF_FILE_IS_ALIAS             |CI2

  // File handle types
  #REPLACE DF_FILE_HANDLE_BAD                   |CI0
  #REPLACE DF_FILE_HANDLE_CLOSED                |CI1
  #REPLACE DF_FILE_HANDLE_OPENED                |CI2
  #REPLACE DF_FILE_HANDLE_EXISTING_RESTRUCTURE  |CI3
  #REPLACE DF_FILE_HANDLE_NEW_RESTRUCTURE       |CI4

  // File transaction types
  #REPLACE DF_FILE_TRANSACTION_NONE             |CI0
  #REPLACE DF_FILE_TRANSACTION_CLIENT_ATOMIC    |CI1
  #REPLACE DF_FILE_TRANSACTION_SERVER_ATOMIC    |CI2
  #REPLACE DF_FILE_TRANSACTION_SERVER_LOGGED    |CI3

  // Types of restructure required
  #REPLACE DF_NO_RESTRUCTURE            |CI0
  #REPLACE DF_RESTRUCTURE_FILE          |CI1
  #REPLACE DF_RESTRUCTURE_INDEX         |CI2
  #REPLACE DF_RESTRUCTURE_BOTH          |CI3

  // File touched attribute
  #REPLACE DF_FILE_NOT_TOUCHED         |CI48
  #REPLACE DF_FILE_TOUCHED_INACTIVE    |CI49
  #REPLACE DF_FILE_TOUCHED_ACTIVE      |CI50

  #REPLACE DF_FILEMODE_ORIGINAL    -1 // only valid for smart_filemode in data sets
  #REPLACE DF_FILEMODE_DEFAULT     0
  #REPLACE DF_FILEMODE_NO_REREAD   1
  #REPLACE DF_FILEMODE_NO_LOCKS    2
  #REPLACE DF_FILEMODE_NO_EDITS    8
  #REPLACE DF_FILEMODE_NO_DELETES  16
  #REPLACE DF_FILEMODE_NO_FINDS    32
  #REPLACE DF_FILEMODE_NO_CREATES  64
  #REPLACE DF_FILEMODE_READONLY    91
  #REPLACE DF_FILEMODE_SINGLE_USER 3

  // File closing type
  #REPLACE DF_PERMANENT 0
  #REPLACE DF_TEMPORARY 1

  // File locking types
  #REPLACE DF_LOCK_TYPE_NONE     |CI0
  #REPLACE DF_LOCK_TYPE_FILE     |CI1
  #REPLACE DF_LOCK_TYPE_RECORD   |CI2

  // Modes for openning a file.
  #REPLACE DF_SHARE               |CI0
  #REPLACE DF_EXCLUSIVE           |CI1

  // Index types
  #REPLACE DF_INDEX_TYPE_ONLINE   |CI0
  #REPLACE DF_INDEX_TYPE_BATCH    |CI1

  // Segment case used?
  #REPLACE DF_CASE_USED     |CI0
  #REPLACE DF_CASE_IGNORED  |CI1

  // Segment direction
  #REPLACE DF_ASCENDING     |CI0
  #REPLACE DF_DESCENDING    |CI1

  // Field Types
  #REPLACE DF_ASCII      |CI0
  #REPLACE DF_BCD        |CI1
  #REPLACE DF_DATE       |CI2
  #REPLACE DF_OVERLAP    |CI3
  #REPLACE DF_TEXT       |CI5
  #REPLACE DF_BINARY     |CI6
  #REPLACE DF_DATETIME   |CI7

  // dfStructureEnd Option bits
  #REPLACE DF_STRUCTEND_OPT_NONE       |CI0
  #REPLACE DF_STRUCTEND_OPT_FORCE      |CI1
  #REPLACE DF_STRUCTEND_OPT_RECOMPRESS |CI2
  #REPLACE DF_STRUCTEND_OPT_IN_PLACE   |CI4

  #REPLACE DF_SORT_OPTION_NONE             |CI0
  #REPLACE DF_SORT_OPTION_NO_DATA_CHECK    |CI8
  #REPLACE DF_SORT_OPTION_BAD_DATA_FIXUP   |CI16
  #REPLACE DF_SORT_OPTION_BAD_DATA_FILE    |CI32
  #REPLACE DF_SORT_OPTION_BAD_DATA_ABORT   |CI64
  #REPLACE DF_SORT_OPTION_DUP_DATA_FILE    |CI128
  #REPLACE DF_SORT_OPTION_DUP_DATA_ABORT   |CI256

  // Field fill types
  #REPLACE DF_HIGH     |CI0
  #REPLACE DF_LOW      |CI1

  // Resource Types
  // DAC reservers the negative values, you may use the positive values,
  // 0 means uninitialized or error.
  #REPLACE DF_RESOURCE_TYPE_ERROR     |CI0  // if resource is invalid
                                            // or uninitialized.
  #REPLACE DF_RESOURCE_TYPE_BINARY    |CI-1 // use this with include_resource for
                                            // bitmaps and other binary files.
  #REPLACE DF_RESOURCE_TYPE_LINE      |CI-2 // default type for resources.

  // These symbols are passed to the SYSCONF function to determine
  // which OS specific item is returned.
  #REPLACE SYSCONF_TIMER_RESOLUTION     |CI0
  #REPLACE SYSCONF_DIR_SEPARATOR        |CI1
  #REPLACE SYSCONF_OS_SHORT_NAME        |CI2
  #REPLACE SYSCONF_OS_MAJOR_REV         |CI3
  #REPLACE SYSCONF_OS_MINOR_REV         |CI4
  #REPLACE SYSCONF_OS_NAME              |CI5
  #REPLACE SYSCONF_MACHINE_NAME         |CI6
  #REPLACE SYSCONF_FILE_MASK            |CI7
  #REPLACE SYSCONF_DATAFLEX_REV         |CI8
  #REPLACE SYSCONF_SYSTEM_NAME          |CI9
  #REPLACE SYSCONF_PATH_SEPARATOR       |CI10
  #REPLACE SYSCONF_RUNTIME_NAME         |CI11
  #REPLACE SYSCONF_UTC_TIME_OFFSET      |CI12

  // Subsystem numbers
  #REPLACE DF_CMD_SUBSYSTEM_REV    |CI5
  #REPLACE DF_UI_SUBSYSTEM_REV     |CI1
  #REPLACE DF_DS_SUBSYSTEM_REV     |CI1

  #REPLACE DF_CMD_SUBSYSTEM    |CI0
  #REPLACE DF_UI_SUBSYSTEM     |CI1
  #REPLACE DF_DS_SUBSYSTEM     |CI2

  #REPLACE DF_NUMBER_SUBSYSTEMS |CI3

  #REPLACE ENUM_LIST ENUMERATION_LIST
  #REPLACE END_ENUM_LIST END_ENUMERATION_LIST

  //
  // Date Constants
  //
  #REPLACE DATE4_STATE    |CI0
  #REPLACE EPOCH_VALUE    |CI1
  #REPLACE SYSDATE4_STATE |CI2

  // These are values to be used by the raw file commands
  // representing different file permission bits
  #REPLACE DF_FLEX_UID_EXECUTE   |CI1024  //04000
  #REPLACE DF_FLEX_GID_EXECUTE   |CI512   //02000
  #REPLACE DF_FLEX_OWNER_READ    |CI256   //00400
  #REPLACE DF_FLEX_OWNER_WRITE   |CI128   //00200
  #REPLACE DF_FLEX_OWNER_EXECUTE |CI64    //00100
  #REPLACE DF_FLEX_GROUP_READ    |CI32    //00040
  #REPLACE DF_FLEX_GROUP_WRITE   |CI16    //00020
  #REPLACE DF_FLEX_GROUP_EXECUTE |CI8     //00010
  #REPLACE DF_FLEX_WORLD_READ    |CI4     //00004
  #REPLACE DF_FLEX_WORLD_WRITE   |CI2     //00002
  #REPLACE DF_FLEX_WORLD_EXECUTE |CI1     //00001
  #REPLACE DF_FLEX_ALL_RIGHTS    |CI20471

  // Error Codes used by the Compiler
  #REPLACE DFERR_COMP_BAD_IMAGE_NAME                 |CI4293
  #REPLACE DFERR_COMP_CONSTANT_EXPECTED              |CI4299
  #REPLACE DFERR_COMP_ILLEGAL_RETURN_TYPE            |CI4310
  #REPLACE DFERR_COMP_IMAGE_NOT_FOUND                |CI4311
  #REPLACE DFERR_COMP_INVALID_DATATYPE               |CI4315
  #REPLACE DFERR_COMP_INVALID_TYPE                   |CI4317
  #REPLACE DFERR_COMP_MISSING_ARGUMENT               |CI4320
  #REPLACE DFERR_COMP_MISSING_END_OBJECT             |CI4323
  #REPLACE DFERR_COMP_UNDEFINED_SYMBOL_IN_ARGUMENT   |CI4328
  #REPLACE DFERR_COMP_SYMBOL_ALREADY_DEFINED         |CI4332
  #REPLACE DFERR_COMP_TOO_MANY_MESSAGES              |CI4339
  #REPLACE DFERR_COMP_UNRESOVLED_CONTROL_BLOCK       |CI4348

  #REPLACE DFERR_COMP_ILLEGAL_OBJECT_DEFINTION       |CI4388 // object name used is not valid
  #REPLACE DFERR_COMP_ILLEGAL_PROPERTY_DEFINTION     |CI4389 // property name cannot be used
  #REPLACE DFERR_COMP_ILLEGAL_METHOD_DEFINTION       |CI4390 // method name cannot be used
  #REPLACE DFERR_COMP_ILLEGAL_CODE_PLACEMENT         |CI4391 // Location of code, nesting, is wrong
  #REPLACE DFERR_COMP_INVALID_METHOD_SYNTAX          |CI4392 // syntax is incorrect for method definition
  #REPLACE DFERR_COMP_INVALID_MESSAGE_SYNTAX         |CI4393 // sysntax is incorrect for sending message
  #REPLACE DFERR_COMP_INVALID_OBJECT_REFERENCE       |CI4394 // object named in message is invalid
  #REPLACE DFERR_COMP_OBSOLETE_UNSUPPORTED_FEATURE   |CI4395 // Obsolete - was 101 (Moveused by fmac)
  #REPLACE DFERR_COMP_INVALID_ARGUMENT               |CI4396 // Agument in line is incorrect
  #REPLACE DFERR_COMP_ILLEGAL_EXTERNAL_FUNCTION_DEFINITION |CI4397 // name cannot be used
  //
  #REPLACE DFERR_COMP_MISSING_DEBUG_INFORMATION      |CI4500 // debug information is not provided
  #REPLACE DFERR_COMP_INCOMPATIBLE_DEBUG_INFORMATION |CI4501 // debug inforamtion is is not correct
  #REPLACE DFERR_COMP_RECURSIVE_STRUCT_DECLARATION   |CI4513 // recursive struct definition
  #REPLACE DFERR_COMP_AMBIGUOUS_SYNTAX.              |CI4514 // either Left of "'[' is not array, use '(' if indicator" or "Left of '.' is not of type struct or table"

  // constants used by rich edit class
  #REPLACE FR_WHOLEWORD 2
  #REPLACE FR_MATCHCASE 4

  #REPLACE SCF_ALL       4
  #REPLACE SCF_SELECTION 1
  #REPLACE SCF_WORD      2
  #REPLACE SCF_DEFAULT   0

  #REPLACE ERR_RE_ATTR_INCONSISTENT_THROUGH_SELECTION |CI40001
  #REPLACE ERR_RE_SUCCESS                             |CI0
  #REPLACE ERR_RE_CANNOT_SETTEXT                      |CI40002
  #REPLACE ERR_RE_CONVERSION_CODEPAGE                 |CI40003
  #REPLACE ERR_RE_FNAME_TOO_LONG                      |CI40004
  #REPLACE ERR_RE_CANNOT_OPEN_FILE                    |CI40005




  // Error handler may return source information as "Source = module.function". This is the
  // text that returned from the runtime that contains this information.
  #REPLACE C_ErrorContextSourceText |CS"Source ="

  #SET  N$ 2 // save 0,1 stacks for IF/ELSE
  #SET ZR$ 0 // for compile-time-assigned resource_ids
  #SET ZS$ 0 // for enumerated lists
  #SET ZT$ 0 //  "       "       "
  #XPUSH !n $INIT

// Note that for this build of FMAC the subsystems are the same for character mode
// and windows.

  #CHKSUB 0 6  // Verify the General Flex subsystem. Version 0 of command system. Revision 4.
               // This was changed from 0 3 to 0 4 to force recompilation of programs from 3.1 to 3.2.
               // And changed from 0 5 to force recompilation when we changed the size of the argument and command line.
               // And changed from 0 6 to force recompilation on 7.1.13 build.