/* --------------------------------------------------------------------------
 * Copyright (c) 1996 Eurotherm Controls Limited.
 *
 * $Id$
 *
 * File:	machine.all
 * Author:	Mike Fox
 * Date:	18th Septemeber 1996
 * Content:	Describe all options for machine.h
 *
 * machine.h is the file into which all the options ( in the form of #define )
 * are imported into the make for the following software pcakages related to 
 * the Resource Manager.
 *
 *   MSU
 *   CMS
 *   REX
 *   File
 *   RDB
 *   ITD
 *   GIO
 *   XSH
 *
 * This file describes all the possible options that are available through 
 * machine.h, it does not describe in detail every option but is merely 
 * intended to list all available options. Many of the options are dependent 
 * on other options.
 *
 * Where possible each definition is given a scope which is either :-
 *   i) File local    - Effects localised to a single c/c++ file
 *  ii) Library local - Effects localised to a single library
 * iii) Package Local - Effects localised to a package
 *  iv) Global        - Effects multiple packages
 *
 * $Log$
 *
 * --------------------------------------------------------------------------
 */

/*
 * Processor Architecture
 * ======================
 */
#define FloatIEEE                   /* Floating Point numbers in IEEE Format */
#define NativeIsUni                 /* Motorola format */
#define NoAlignmentRequired         /* Byte alignment for anything */
#define PackedStructEqualsBitString

/*
 * Compiler Choice
 * ===============
 */
#define TargetSupport_GDB
#define _MICROTEC    /* MICROTEC Compiler Set, symbol defined by compiler */
#define __GNUG__     /* GNU Compiler Set, symbol defined by compiler */
/*
 * Operating System Choice
 * =======================
 */
#define unix
#define xec
#define _Windows /* Windows 3, 95 or NT */
#define WIN16    /* Windows 3 Only */
#define WIN32    /* WIndows 95 and Windows NT */
#define pSOS     /* pSOS+ ( with xec wrapper ) */
/*
 * Platform Options
 * ================
 */
#define computrol_LP_25 /* Computrol LP-25 card */
#define enm             /* PC3000 ENM Card */
#define lcm             /* PC3000 LCM Card */
#define is_po           /* Production Orchestrator */
/*
 * Compilation Model
 * =================
 */
#define SHARELIB        /* Interactive Unix shared libraries */
#define SYM_EXPORT      /* Always define empy except Windows */
#define CLASS_EXPORT    /* Always define empy except Windows */

/*
 * Feature Enabling
 * ================
 */
#define TargetSupport_CSS

/*
 * MSU
 */
#define TargetSupport_MSU_delete      /* MSU delete facility */
/*
 * CMS
 */
#define TargetSupport_CMS_Alias       /* CMS node aliases */
#define TargetSupport_ROU_Log         /* CMS Router logging */
#define TargetSupport_RouterHeader_0  /* CMS Router Version 0 Headers */
#define TargetSupport_Router_CSS      /* CMS Router CSS Serial medium */
#define TargetSupport_Router_EIC      /* CMS Router EIC (unix->LP-25) medium */
#define TargetSupport_Router_EILIN    /* CMS Router EILIN medium */
#define TargetSupport_Router_HIN      /* CMS Router HIN (LP-25->unix) medium */
#define TargetSupport_Router_Serial6  /* CMS Router packed 6 bit form of CSS */
#define TargetSupport_Router_Serial7  /* CMS Router packed 7 bit form of CSS */
#define TargetSupport_Router_UDP      /* CMS Router UDP medium */
#define TargetSupport_Router_DefFile  /* CMS Router definition files */
#define ROU_DEFAULT_MEDIA             /* Use default media of CMS Router */
/*
 * File
 */
#define TargetSupport_LFS             /* Local file system */
#define TargetSupport_GFS             /* General file system */
#define TargetSupport_NFP             /* Network file protocol */
#define TargetSupport_MultiNfpServer  /* Multiple NFP servers */
/*
 * REX
 */
#define TargetSupport_REX             /* REX */
#define TargetSupport_MultiRexPipe    /* Multiple instance of rexpipe */
#define TargetSupport_MultiRexServer  /* Multiple instance of rexserv */
/*
 * Resource Manager
 */
#define TargetSupport_CDL_Attributes        /* Attribute dictionaries */
#define TargetSupport_CDL_Enumerations      /* Enumeration dictionaries */
#define TargetSupport_CDL_InfoInstances     /* Instance attributes and units */
#define TargetSupport_CDL_LINT              /* DO NOT USE */
#define TargetSupport_CDL_LREAL             /* Support for 8 bit reals */
#define TargetSupport_CDL_Limits            /* Limits in database */
#define TargetSupport_CDL_Units             /* Units dictionaries */
#define TargetSupport_DynamicVarRef         /* Dynamic Var Refs */
#define TargetSupport_Loader_FOST           /* Loading RL from a file */
#define TargetSupport_MultiRESOURCE         /* Multiple RDBs on a node */
#define TargetSupport_RL_INOUTP             /* DO NOT USE */
#define TargetSupport_RL_Wire               /* Resource Level Wiring */
#define TargetSupport_RL_Wire_VAR_REFERENCE /* RL wires with Var Refs */
#define TargetSupport_RMI                   /* RMI api for Var Refs */
#define TargetSupport_SERVICE               /* SERVICEs on blocks */
#define TargetSupport_TASK_ON_ALL           /* No TASK target checking */
#define TargetSupport_VAR_ACCESS            /* RL VAR ACCESS construct */
#define TargetSupport_VAR_REFERENCE         /* VAR REFERENCEs */
#define TargetSupport_VAR_RETAIN_Split      /* Separate out RETAIN data */
/*
 * International Text Dictionaries
 * ===============================
 */
#define TargetSupport_ITD
/*
 * General I/O
 * ===========
 */ 
#define TargetSupport_GIO_DCM  /* F4 DCM(SPI) channels */
#define GIO_TOOL               /* Tools use general I/O */
#define STD_TOOL               /* Tools use standard I/O */
/*
 * XSH
 */
#define TargetSupport_XSH_Help
#define XshToolSupport_timex

/*
 * Feature Disabling
 * =================
 */
/*
 * CMS
 */
TargetNotSupport_UDP_HostNames        /* No UDP host name look up */
/*
 * Resource Manager
 */
TargetNotSupport_Open_Array           /* Open array construct not usable */
TargetNotSupport_ColdStartExpression  /* No cold start expressions */
TargetNotSupport_DefaultRESOURCE      /* RESOURCE must be explicity stated */
TargetNotSupport_TASK_exit            /* No TASK_exit function */
TargetNotSupport_VAR_EXTERNAL         /* No VAR EXTERNAL */
TargetNotSupport_loader_Trace         /* No loader tracing facility */

/*
 * Option Sizing
 * =============
 */
/*
 * CMS
 */
#define CMS_LOAD_DEFAULT_NODE   /* Defines a default CMS Node Number */
#define CMS_LOAD_SIZE           /* Change default size of CMS shared memory */
#define CmsBufferSizeMask       /* Change granularity of CMS buffer sizes */
#define CmsMaxBufferSize        /* Change max buffer size */
#define CmsMaxMaxBufferSize     /* Change max run-time buffer size */
#define CmsMaxNodeAlias         /* Change number of CMS node aliases */
#define CmsMinBufferSize        /* Change min CMS buffer size */
#define RouLog_MaxLoggingNodes  /* Change max nodes a router logs to */
#define UDP_SERVER_WAIT         /* Change delay in UDP server */

/*
 * File
 */
#define GFS_MAX_FILES           /* Max current open GFS files */
#define GFS_RETRIES             /* Max GFS retries */
#define MAX_RFS_FILES           /* Max current open RFS files */
#define NFP_SERV_MAX_FILES      /* Max files open by nfpserv */
#define NFP_SERV_MAX_NAME       /* Max len of file name for nfpser uniquness */
#define NFP_SERV_MAX_READ       /* Max size of a read from nfpserv */
#define RFS_TIMEOUT             /* RFS message timeout */
/*
 * REX
 */
#define REX_MAX_CHANS           /* Max REX Channels */

/*
 * Resource Manager
 */
#define DefaultTaskName              /* Default TASK Name */
#define MAX_RESOURCE_LIBS            /* Max number of RESOURCEs as libraries */
#define MaxProxyReferStack           /* Max size of a template for VarRef */
#define MaxString_RL_Wire_ref        /* ^ref length for Var Ref RL Wires */ 
#define RESOURCE_DLL_NAME            /* DLL Name */
#define RESOURCE_MANAGER_DLL_NAME    /* DLL Name */
#define RLTASK_DEFAULT_TFL_ENTRIES   /* Min task function list entries */
#define RLW_ATOMIC_COPY_SIZE         /* Max bytes copied atomically */
#define ResProxyReferStackSize       
#define ResProxyRmqSize          
#define RldDefVrfParserNodes 
#define RldDefVrfParserStringBuff 
#define RldFostMaxLibraries
#define RmpDecodeOverhead
#define VrfDefaultProperties
#define debug_mode
#define MaxExtraTasks

/*
 * XSH
 */
#define XecMaxTaskId
#define XshConfigSysStackSize
#define XshConfigMaxSysMemory


