.ad 8
.bm 8
.fm 4
.bt $Copyright by   Software AG, 1993$$Page %$
.tm 12
.hm 6
.hs 3
.tt 1 $NME$Project Distributed Database System$veo002c$
.tt 2 $$$
.tt 3 $F.Hoffmann$common_rte_include module$1997-08-13$
***********************************************************
.nf


    ========== licence begin LGPL
    Copyright (C) 2002 SAP AG

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    ========== licence end

.fo
.nf
.sp
Module  : common_rte_include_module
=========
.sp
Purpose :
.CM *-END-* purpose -------------------------------------
.sp
.cp 3
Define  :

.CM *-END-* define --------------------------------------
.sp;.cp 3
Use     :

.CM *-END-* use -----------------------------------------
.sp;.cp 3
Synonym :

.CM *-END-* synonym -------------------------------------
.sp;.cp 3
Author  : F.Hoffmann
.sp
.cp 3
Created : 1995-08-30
.sp
.cp 3
Version : 1995-08-30
.sp
.cp 3
Release :  7.0 	 Date : 1997-08-13
.br
.sp
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Specification:

.CM *-END-* specification -------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Description:

.CM *-END-* description ---------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.nf
.oc _/1
Structure:

.CM *-END-* structure -----------------------------------
.sp 2
**********************************************************
.sp
.cp 10
.nf
.oc _/1
.CM -lll-
Code    :
/*PRETTY*/

#define DEVSPACE_UNUSED  -1

#define NUM_DEVSP_TYPES 8

static char * szDevType[ NUM_DEVSP_TYPES ] = { "SYS",  "MSYS",
                                               "ALOG" , "MALOG",
                                               "TLOG",
                                               "DATA", "MDATA",
                                               "TRACE" } ;

/* --- RTE_XPARAM_REC ------------------------------------------------------ */

typedef char                    C18C [ 19 ] ;

/***************************************************************/
#if !defined(_WIN32) && !defined(OS2)
/***************************************************************/
typedef tsp_cryptpw       CRYPTPW  ;
/***************************************************************/
#endif
/***************************************************************/

typedef struct  dev_descr
  {
    tsp2_devnameC                   szDevspaceName;
    LONG                            lDevspaceSize;
    LONG                            lDevspaceType;
  } DEV_DESCR ;

typedef struct  devspaces_descr
  {
    ULONG           ulNumDevs ;
    DEV_DESCR      *Devspaces ;
  } DEVSPACES_DESCR ;

typedef struct  rte_xparam_record
  {
  tsp2_devnameC                   szSysDevspace;
  tsp2_devnameC                   szMirrSysDevspace;
  tsp2_devnameC                   szTransLogDevspace;
  tsp2_devnameC                   szArchLogDevspace;
  tsp2_devnameC                   szMirrArchLogDevspace;
  VF_FILENAMEC                    szRunDirectory;
  CRYPTPW                         crypControlPassw;
  tsp_knl_identifierC             szControlUser;
  ULONG                           ulDBPageSize;
  LONG                            lNoOfBackupDevs;
  LONG                            lMaxSysDevspaces;
  LONG                            lMaxArchiveLogs;
  LONG                            lMaxDataDevspaces;
  LONG                            lLogMode ;
  LONG                            lLogSegmentSize ;
  LONG                            lSessionTimeout ;
  LONG                            lLockTimeout    ;
  LONG                            lRequestTimeout ;
  LONG                            lNetTimeout     ;
  LONG                            lRestartTime    ;
  C18C                            szDefaultCode   ;
  C18C                            szDateTimeFormat;
  LONG                            lMaxTrans;
  LONG                            lSequenceCache;
  LONG                            lDataCachePages;
  LONG                            lCatalogCachePages;
  LONG                            lProcCodePages;
  LONG                            lProcDataPages;
  LONG                            lDistribDescCache;
  LONG                            lMaxDataPages;
  LONG                            lFbmCachePages;
  ULONG                           ulMaxUsUtStack;
  LONG                            lMaxLocks;
  ULONG                           ulDeadlockDetection;
  LONG                            ulLockSupplyBlock;
  LONG                            lServerCmdCache;
  LONG                            lMaxActive;
  LONG                            lMaxServer;
  LONG                            lMaxServerDB;
  LONG                            lLogQueuePages;
  LONG                            lLogCachePages;
  LONG                            lConvCachePages;
  LONG                            lUsmCachePages;
  LONG                            lBackUpBlockCount;
  LONG                            lDefaultLRU;
  LONG                            lMaxDevspaces;
  LONG                            lJoinPrefetchPercent;
  LONG                            lDistinctOverhead;
  LONG                            lOrderbyFactor;
  LONG                            lBuildResultPercent ;
  LONG                            lFetchResultPercent ;
  LONG                            lMaxMerge;
  LONG                            lDwCopyBoundary;
  LONG                            lDwIOAreaSize;
  LONG                            lDwIOAreaFlush;
  LONG                            lDwLRUTailFlush;
  LONG                            lFbmBalance;
  LONG                            lFbmCompression;
  LONG                            lFbmLowIORate;
  LONG                            lLogStartCopy;
  LONG                            lLogCopyDistance;
  LONG                            lReservedRedoSize;

  C40C                            szKernelVersion;

  LONG                            lSharedDynData;
  LONG                            lSharedDynPool;

  VF_FILENAMEC                    szDiagFile;
  ULONG                           ulDiagSize;

  VF_FILENAMEC                    szBackupHistFile;

  VF_FILENAMEC                    szUtilityProtFile;
  ULONG                           ulUtilityProtSize;

  VF_FILENAMEC                    szDumpFilename;

  tsp2_devnameC                   szTraceDevspace;
  LONG                            lTraceDevspaceSize;

  LONG                            lDeviPerDevspace;
  LONG                            lPrioDeviPerDevspace;
  LONG                            lDevQueue;

  LONG                            lRealtimePrio ;
  ULONG                           ulMaxCPU;
  ULONG                           ulRegionCollisionLoop;
  ULONG                           ulNoOfRegions;
  char                          **TaskClusterArray;

  ULONG                           ulRegLockSlice;
  LONG                            lPrioTask;
  LONG                            lPrioBaseU2U;
  LONG                            lPrioBaseRAV ;
  LONG                            lPrioBaseIOC;
  LONG                            lPrioBaseCOM ;
  LONG                            lPrioBaseREX;
  LONG                            lPrioFactor ;
  LONG                            lDelayLW;

  BOOLEAN                         fDelayCommit;
  BOOLEAN                         fDbSockets;
  BOOLEAN                         fAllowSingleIO;

  BOOLEAN                         fExclQueue;
  BOOLEAN                         fBegExclQueWhenPrio ;
  BOOLEAN                         fBegExclDirtyRead;
  BOOLEAN                         fEndExclBusyWait ;
  BOOLEAN                         fDynDispQueSrch ;
  BOOLEAN                         fSubtree ;
  BOOLEAN                         fUnicode ;
  BOOLEAN                         fMirrData ;
  BOOLEAN                         fSvpFstConvFlush ;
  ULONG                           ulMultIOBlockCount ;
  ULONG                           ulMaxDw;
  ULONG                           ulDwIOBufSize ;
  ULONG                           ulDispLoopsBefSemop;
  ULONG                           ulNumDataCacheReg;
  ULONG                           ulNumTreeReg;
  ULONG                           ulNumTransReg;
  ULONG                           ulNumTabReg;
  ULONG                           ulNumRowReg;
  ULONG                           ulPacketSize;
  ULONG                           ulMinReplySize;
  ULONG                           ulPnoPoolSize;
  ULONG                           ulMaxAutoBackupDevs;
  ULONG                           ulMBDataSize ;
  ULONG                           ulMBQualSize ;
  ULONG                           ulMBStackSize ;
  ULONG                           ulKBWorkStSize ;
  ULONG                           ulKBWorkBufSize ;
  ULONG                           ulCatalogCacheSize ;
  ULONG                           ulMultiByteTotalSize ;
  tsp_knl_identifierC             szMultiByteSet_1 ;
  tsp_knl_identifierC             szMultiByteSet_2 ;
  tsp_knl_identifierC             szMultiByteSet_3 ;
  tsp_knl_identifierC             szMultiByteSet_4 ;
  tsp_knl_identifierC             szMultiByteSet_5 ;
  DEVSPACES_DESCR                 DevspDescr   [NUM_DEVSP_TYPES] ;
  BOOLEAN                         fUseAsyncIO ;
  VF_FILENAMEC                    szRTEDumpFilename;
/***************************************************************/
#if defined(_WIN32) || defined(OS2)
/***************************************************************/
  ULONG                           ulRTEAllocPoolSize;
  ULONG                           ulKernelAllocPoolSize;
  BOOLEAN                         fDynamicServerTasks;
  BOOLEAN                         fFormatDevspace;
  BOOLEAN                         fAllowCompressedDevsp ;
  BOOLEAN                         fAutoRestartShutdown ;
/***************************************************************/
#else
/***************************************************************/
  VF_FILENAMEC                    szOpMsg1;
  VF_FILENAMEC                    szOpMsg2;
  BOOLEAN                         fDynTaskStack ;
  BOOLEAN                         fStackStack ;
  LONG                            lShmChunk;
  LONG                            lShmKernel;
/***************************************************************/
#endif
/***************************************************************/
  } RTE_XPARAM_REC ;

/* names for param file */

#define         PAN_PARAM_KERNELVERSION  "KERNELVERSION"
#define         PAN_SERVERDB             "SERVERDB"
#define         PAN_SYSDEV               "SYSDEVSPACE"
#define         PAN_MIRR_SYSDEV          "MIRR_SYSDEVSPACE"
#define         PAN_TARNSACTION_LOG      "TRANSACTION_LOG"
#define         PAN_TARNSACTION_LOG_SIZE "TRANS_LOG_SIZE"
#define         PAN_ARCHIVE_LOG          "ARCHIVE_LOG"
#define         PAN_MIRR_ARCHIVE_LOG     "MIRR_ARCHIVE_LOG"
#define         PAN_CONTROLID            "CONTROLUSERID"
#define         PAN_CONTROLPW            "CONTROLPASSWORD"
#define         PAN_MAXBACKUPDEVS        "MAXBACKUPDEVS"
#define		MAX_BACKUP_DEVS		    16

#define         PAN_MAXTRANS             "_MAXTRANS"
#define         PAN_DATA_CACHE_PAGS      "DATA_CACHE"
#define         PAN_SEQUENCE_CACHE       "SEQUENCE_CACHE"
#define         PAN_CATALOG_CACHE        "CAT_CACHE_SUPPLY"
#define         PAN_PROC_DATA_PAGES      "DBPROC_DATA_CACHE"
#define         PAN_PROC_CODE_PAGES      "DBPROC_CODE_CACHE"
#define         PAN_SERVER_DESC_CACHE    "_SERVER_DESC_CACHE"
#define         PAN_SERVER_CMD_CACHE     "_SERVER_CMD_CACHE"
#define         PAN_MAXACTIVE            "MAXUSERTASKS"
#define         PAN_MAXSERVERDB          "MAXSERVERDB"
#define         PAN_MAXSERVER            "MAXSERVERTASKS"
#define         PAN_LOG_IO_QUEUE         "LOG_IO_QUEUE"
#define         PAN_ROLLBACK_CACHE       "ROLLBACK_CACHE"
#define         PAN_MAXLOCKS             "MAXLOCKS"
#define         PAN_DEADLOCK_DETECTION   "DEADLOCK_DETECTION"
#define         PAN_LOCK_SUPPLY_BLOCK    "_LOCK_SUPPLY_BLOCK"
#define         PAN_FBM_CACHE_PAGES      "_FBM_CACHE"
#define         PAN_CONV_CACHE_PAGES     "CONVERTER_CACHE"
#define         PAN_USM_CACHE_PAGES      "_USM_CACHE"
#define         PAN_BACKUP_BLOCK_CNT     "_BACKUP_BLOCK_CNT"
#define         PAN_DEFAULT_LRU          "LRU_FOR_SCAN"
#define         PAN_DISTINCT_OVERHEAD    "_OPTIM_OR_DISTINCT"
#define         PAN_ORDERBY_FACTOR       "_OPTIM_ORDERBY_IDX"
#define         PAN_BUILD_RES_PERCENT    "_OPTIM_BUILD_RESLT"
#define         PAN_FETCH_RES_PERCENT    "_OPTIM_FETCH_RESLT"
#define         PAN_JOIN_PREFETCH_PERC   "_OPTIM_JOIN_FETCH"
#define         PAN_MAX_MERGE            "_OPTIM_MAX_MERGE"

#define         PAN_DYNDATA              "_SHAREDDYNDATA"
#define         PAN_DYNPOOL              "_SHAREDDYNPOOL"
#define         PAN_PNOPOOLSIZE          "_PNO_SUPPLY_SIZE"

#define         PAN_RUNDIR               "RUNDIRECTORY"
#define         PAN_MAXDEVSPACES         "_MAXDEVSPACES"

#define         PAN_TASKCLUSTER_N        "_TASKCLUSTER_"
#define         PAN_TASKCLUSTER_N_LN     13

#define         PAN_MAXSYSDEVSPACES      "_MAXSYSDEVSPACES"
#define         PAN_SYS_N                "SYSDEV_"
#define         PAN_SYS_N_LN             7
#define         PAN_SYS_N_SIZE           "SYS_SIZE_"
#define         PAN_SYS_N_SIZE_LN        8

#define         PAN_M_SYS_N             "M_SYSDEV_"
#define         PAN_M_SYS_N_LN          9

#define         PAN_MAXARCHIVELOGS          "MAXARCHIVELOGS"
#define         PAN_ARCHIVE_LOG_N           "ARCHIVE_LOG_"
#define         PAN_ARCHIVE_LOG_N_LN        12
#define         PAN_ARCHIVE_LOG_N_SIZE      "ARCHIVE_SIZE_"
#define         PAN_ARCHIVE_LOG_N_SIZE_LN   13

#define         PAN_M_ARCHIVE_LOG_N           "M_ARCHIVE_LOG_"
#define         PAN_M_ARCHIVE_LOG_N_LN        14

#define         PAN_LOG_MODE            "LOG_MODE"
#define         PAN_LOG_SEGMENT_SIZE    "LOG_SEGMENT_SIZE"
#define         PAN_DEFAULT_CODE        "DEFAULT_CODE"
#define         PAN_DATE_TIME_FORMAT    "DATE_TIME_FORMAT"
#define         PAN_SESSION_TIMEOUT     "SESSION_TIMEOUT"
#define         PAN_LOCK_TIMEOUT        "LOCK_TIMEOUT"
#define         PAN_REQUEST_TIMEOUT     "REQUEST_TIMEOUT"
#define         PAN_NET_TIMEOUT         "_NET_MINTIMEOUT"
#define         PAN_RESTART_TIME        "_RESTART_TIME"

#define         PAN_MAXDATADEVSPACES    "MAXDATADEVSPACES"
#define         PAN_DATADEV_N           "DATADEV_"
#define         PAN_DATADEV_N_LN        8
#define         PAN_DATADEV_N_SIZE      "DATA_SIZE_"
#define         PAN_DATADEV_N_SIZE_LN   10

#define         PAN_MIRR_DATA           "MIRRORED_DATA"
#define         PAN_M_DATADEV_N         "M_DATADEV_"
#define         PAN_M_DATADEV_N_LN      10

#define         PAN_USE_ASYNC_IO        "_USE_ASYNC_IO"
#define         PAN_MAXIOTHREADS        "_IOPROCS_PER_DEV"
#define         PAN_IOTHREADS_FOR_PRIO  "_IOPROCS_FOR_PRIO"
#define         PAN_DEV_QUEUE           "_IOPROCS_SWITCH"
#define         PAN_USE_IOTHREAD_ONLY   "_USE_IOPROCS_ONLY"

#define         PAN_MAXDATAPAGES        "MAXDATAPAGES"
#define         PAN_MAXCPU              "MAXCPU"
#define         PAN_PRIO_TASK           "_PRIO_TASK"
#define         PAN_PRIO_BASE_U2U       "_PRIO_BASE_U2U"
#define         PAN_PRIO_BASE_IOC       "_PRIO_BASE_IOC"
#define         PAN_PRIO_BASE_RAV       "_PRIO_BASE_RAV"
#define         PAN_PRIO_BASE_COM       "_PRIO_BASE_COM"
#define         PAN_PRIO_BASE_REX       "_PRIO_BASE_REX"
#define         PAN_PRIO_FACTOR         "_PRIO_FACTOR"
#define         PAN_DELAY_LW            "_DELAY_LOGWRITER"
#define         PAN_DELAY_COMMIT        "_DELAY_COMMIT"
#define         PAN_SUBTREE             "SUBTREE"
#define         PAN_MAXRGN_REQUEST      "_MAXRGN_REQUEST"
#define         PAN_MP_RGN_LOOP         "_MP_RGN_LOOP"
#define         PAN_MP_RGN_QUEUE        "_MP_RGN_QUEUE"
#define         PAN_MP_RGN_BUSY_WAIT    "_MP_RGN_BUSY_WAIT"
#define         PAN_MP_RGN_PRIO         "_MP_RGN_PRIO"
#define         PAN_MP_RGN_DIRTY_READ   "_MP_RGN_DIRTY_READ"
#define         PAN_MP_DISP_PRIO        "_MP_DISP_PRIO"
#define         PAN_MP_DISP_LOOPS       "_MP_DISP_LOOPS"
#define         PAN_DATACACHE_REGIONS   "_DATA_CACHE_RGNS"
#define         PAN_TREE_REGIONS        "_TREE_RGNS"
#define         PAN_TRANS_REGIONS       "_TRANS_RGNS"
#define         PAN_TAB_REGIONS         "_TAB_RGNS"
#define         PAN_ROW_REGIONS         "_ROW_RGNS"
#define         PAN_MAXUSERSTACK        "_MAXTASK_STACK"

#define         PAN_MAXDATAWRITER       "_MAXDATAWRITER"
#define         PAN_COPY_IO_BLOCK_CNT   "_COPY_IO_BLOCK_CNT"
#define         PAN_MULT_IO_BLOCK_CNT   "_MULT_IO_BLOCK_CNT"
#define         PAN_REALTIME_PRIO       "REALTIME_PRIO"

#define         PAN_UNICODE_CATALOG     "UNICODE"
#define         PAN_MULTIBYTE_SET_1     "_MULTIBYTE_SET1"
#define         PAN_MULTIBYTE_SET_2     "_MULTIBYTE_SET2"
#define         PAN_MULTIBYTE_SET_3     "_MULTIBYTE_SET3"
#define         PAN_MULTIBYTE_SET_4     "_MULTIBYTE_SET4"
#define         PAN_MULTIBYTE_SET_5     "_MULTIBYTE_SET5"
#define         PAN_MULTIBYTE_CACHE     "_MULTIBYTE_CACHE"

#define         PAN_PACKET_SIZE         "PACKET_SIZE"
#define         PAN_MIN_REPLY_SIZE      "_MINREPLY_SIZE"
#define         PAN_MAXAUTOBACKUPDEVS   "_MAXAUTOBACKUPDEVS"

#define         PAN_MB_DATA_SIZE        "_MBLOCK_DATA_SIZE"
#define         PAN_MB_QUAL_SIZE        "_MBLOCK_QUAL_SIZE"
#define         PAN_MB_STACK_SIZE       "_MBLOCK_STACK_SIZE"
#define         PAN_KB_WORK_ST_SIZE     "_WORKSTACK_SIZE"
#define         PAN_KB_WORKBUF_SIZE     "_WORKDATA_SIZE"
#define         PAN_CATALOG_CACHE_SIZE  "_CAT_CACHE_MINSIZE"

#define         PAN_GATEWAYTYPE         "GATEWAYTYPE"
#define         PAN_DW_COPY_BOUNDARY    "_DW_COPY_BOUNDARY"
#define         PAN_DW_IO_AREA_SIZE     "_DW_IO_AREA_SIZE"
#define         PAN_DW_IO_AREA_FLUSH    "_DW_IO_AREA_FLUSH"
#define         PAN_DW_LRU_TAIL_FLUSH   "_DW_LRU_TAIL_FLUSH"
#define         PAN_FBM_DEVSP_BALANCE   "_FBM_DEVSP_BALANCE"
#define         PAN_FBM_DEVSP_COMPR     "_FBM_DEVSP_COMPR"
#define         PAN_FBM_LOW_IO_RATE     "_FBM_LOW_IO_RATE"
#define         PAN_LOG_START_COPY      "_LOG_START_COPY"
#define         PAN_LOG_COPY_DISTANCE   "_LOG_COPY_DISTANCE"
#define         PAN_RESERVED_REDO_SIZE  "RESERVED_REDO_SIZE"
#define         PAN_BACKUP_HISTFILE     "_BACKUP_HISTFILE"
#define         PAN_KERNELDUMPFILE       "_KERNELDUMPFILE"
#define         PAN_KERNELTRACEFILE      "_KERNELTRACEFILE"
#define         PAN_KERNELTRACESIZE      "KERNELTRACESIZE"
#define         PAN_DIAGFILE            "_KERNELDIAGFILE"
#define         PAN_DIAG_SIZE           "KERNELDIAGSIZE"
#define         PAN_UTILITY_PROTFILE    "_UTILITY_PROTFILE"
#define         PAN_UTILITY_PROTSIZE    "UTILITY_PROTSIZE"
#define         PAN_SVP_1_CONV_FLUSH     "_SVP_1_CONV_FLUSH"
#define         PAN_RTEDUMPFILE          "_RTEDUMPFILE"
#define         PAN_PAGE_SIZE            "_PAGE_SIZE"

/***************************************************************/
#if defined(_WIN32) || defined(OS2)
/***************************************************************/

#define         PAN_KERNEL_ALLOC_POOL   "_KERNEL_ALLOC_POOL"
#define         PAN_RTE_ALLOC_POOL      "RTE_ALLOC_POOL"
#define         PAN_FORMAT_DEVSPACE     "FORMAT_DEVSPACE"
#define         PAN_DYNAMIC_SERVER      "DYNAMIC_SERVER"
#define         PAN_ALLOW_COMPR_DEVSP   "ALLOW_COMPR_DEVSP"
#define         PAN_RESTART_SHUTDOWN    "RESTART_SHUTDOWN"

/***************************************************************/
#else
/***************************************************************/

#define         PAN_SHMCHUNK             "_SHMCHUNK"
#define         PAN_SHMKERNEL            "_SHMKERNEL"

#define         PAN_DYNAMIC_TASK_STACK   "_DYN_TASK_STACK"
#define         PAN_TASK_STACK_AREA      "_TASK_STACK_AREA"
#define         PAN_OPMSG1               "OPMSG1"
#define         PAN_OPMSG2               "OPMSG2"

/***************************************************************/
#endif
/***************************************************************/


/* --- VEO35C -------------------------------------------------------------- */

void                   vdcom_paraminfo            ( void        *ParamInfo ,
                                                    BOOLEAN     *ok        ,
                                                    tsp_errtext errtext ) ;

void    	       vdcom_co_create_instance   ( void         *Instance ,
                                                    BOOLEAN      *ok       ,
                                                    tsp_errtext  errtext ) ;

void    	       vdcom_co_get_classobject   ( void         *Instance , 
                                                    BOOLEAN      *ok       ,
                                                    tsp_errtext  errtext ) ;

void    	       vdcom_create_instance      ( void         *Instance ); 

void    	       vdcom_get_dispaddr         ( void         *Instance ); 

void    	       vdcom_release_instance     ( void         *Instance ,
                                                    BOOLEAN      *ok       ,
                                                    tsp_errtext  errtext ) ;

/* --- VEO58C -------------------------------------------------------------- */

DEV_DESCR              *sql58k_get_devsp_descr ( tsp2_dev_type dev_type,
                                                 tsp_int4     type_spec_devno );

#ifdef PROTOTYPE
void                   vcold            ( struct tsp2_xparam_rec *prms,
                                          VCOLD_RESULT           *vcold_result);

void	               vget_devsize     ( tsp2_dev_type   dev_type ,
                                          tsp_int4        type_spec_devno ,
                                          tsp_int4        *dev_size ,
                                          BOOLEAN         *ok ) ;

void	               vget_devname     ( tsp2_dev_type        dev_type ,
                                          tsp_int4             type_spec_devno ,
                                          tsp2_devname         dev_name ,
                                          BOOLEAN              *ok ) ;

void	               vnew_devspace    ( tsp2_dev_type        dev_type ,
                                          tsp_int4             type_spec_devno ,
                                          tsp2_devname         dev_name ,
                                          tsp_int4             dev_size ,
                                          BOOLEAN              *ok ) ;

void	               vmessage         ( tsp3_priority        msg_prio ,
                                          tsp3_msg_type        msg_type ,
                                          tsp_int4             msg_no ,
                                          tsp_c8               msg_label ,
                                          tsp_c40              msg_txt ) ;
/* --- VEO60C -------------------------------------------------------------- */
void	               sql60c_msg_6    ( tsp_int4             msg_no ,
                                         tsp3_msg_type        msg_type ,
                                         tsp_c8               msg_label ,
                                         char                *msg_format ,
                                         ...                           ) ;

void	               sql60c_msg_7    ( tsp_int4             msg_no ,
                                         tsp3_msg_type        msg_type ,
                                         tsp_c8               msg_label ,
                                         char                *msg_format ,
                                         ...                           ) ;

void	               sql60c_msg_8    ( tsp_int4             msg_no ,
                                         tsp3_msg_type        msg_type ,
                                         tsp_c8               msg_label ,
                                         char                *msg_format ,
                                         ...                           ) ;

void	               sql60c_msg_9    ( tsp_int4             msg_no ,
                                         tsp3_msg_type        msg_type ,
                                         tsp_c8               msg_label ,
                                         char                *msg_format ,
                                         ...                           ) ;
#endif
/* --- VEO66C -------------------------------------------------------------- */

void                   vfinit            ( BOOLEAN             * ok );

void                   vfopen            ( tsp_vfilename       vf_filename,
                                           tsp_int4            * hostfileno,
                                           tsp_vf_return       * error,
                                           tsp_errtext         errtext );

void                   vfclose           ( tsp_int4            hostfileno,
                                           tsp_vf_return       * error,
                                           tsp_errtext         errtext );

void                   vfwrite           ( tsp_int4            hostfileno,
                                           tsp_buf	       block ,
                                           tsp_vf_return       * error,
                                           tsp_errtext         errtext );

/* --- VEO79C -------------------------------------------------------------- */

void   sql79k_deb_taskcluster_array( RTE_XPARAM_REC            *XParam) ;

void   sql79k_create_taskcluster(   RTE_XPARAM_REC  *XParam,
                                    char            **TaskCluster ) ;

void   sql79k_free_taskcluster  (   RTE_XPARAM_REC  *XParam,
                                    char            *TaskCluster ) ;

void    vxparamfopen            (   XP_PHFILE       plXParamFd,
                                    tsp_errtext     errtext,
                                    XP_PRETURNCODE  pucXParamReturnCode );

void    vxparamfclose           (   XP_HFILE        lXParamFd,
                                    tsp_errtext     errtext,
                                    XP_PRETURNCODE  pucXParamReturnCode );

void    vxparamfsize            (   tsp_int4       *XpFsize,
                                    tsp_errtext     errtext,
                                    XP_PRETURNCODE  pucXParamReturnCode ); 

void    vxparamfread            (   XP_HFILE          lXParamFd,
                                    BUFFERADDRESS     Buf,
                                    tsp_int4          BytesToRead,
                                    tsp_int4         *BytesRead,
                                    tsp_errtext       errtext,
                                    XP_PRETURNCODE    pucXParamReturnCode ); 

void    vgetxparam              (   XP_PHFILE       plXParamFd,
                                    XP_KEY_TYPE     XParamKey,
                                    tsp_c64         XParamValue,
                                    tsp_errtext     acErrorText,
                                    XP_PRETURNCODE  pucXParamReturnCode );

#define SHOW_TT_ALL     2
#define IS_TASK_ACTIVE(_TaskType, _TaskState, _TypeToShow) \
         ( ( _TypeToShow == SHOW_TT_ALL || _TaskType == _TypeToShow || \
             ( _TypeToShow == TT_US  &&                                \
               _TaskType   != TT_SV  && _TaskType != TT_DW )           \
           ) &&                                                        \
           ( _TaskState != TSK_INACTIVE && _TaskState != TSK_CONNECTWAIT && \
             _TaskType != TT_TI &&                                      \
             ( _TaskType == TT_US || _TaskState != TSK_VSUSPEND ) &&    \
             ( _TaskState != TSK_VRECEIVE )                             \
           )                                                            \
         )

#define IS_TASK_RUNNABLE(_TaskType, _TaskState, _InQueue, _TypeToShow) \
      ( _TaskState  == TSK_RUNNING || _InQueue == TASK_IS_IN_RUN_QUEUE ) && \
      ( _TypeToShow == SHOW_TT_ALL || _TypeToShow == _TaskType )

/***************************************************************/
#if defined(_WIN32) || defined(OS2) 
/***************************************************************/

/* --- VEO92C  - ( CONSOLE ) ---------------------------------------------- */

BOOLEAN       e92_strcont                      ( PSZ        pszString1,
                                                 PSZ        pszString2,
                                                 int        MinLgt );

VOID          e92_print_param                  ( RTE_XPARAM_REC *xparam_rec,
                                                 PSZ             pszParam   );

int           e92_get_tt_to_show               ( char           *param,
                                                 int            *tt_to_show ) ;
#endif

/*================================================*/

/* --- VEO11UC - ( EXTRACT XPARAMFILE FROM SAVE ) ------------------------- */

void    sqlextract_xparamfile(  tsp_vfilename   SaveFile ,
                                tsp_int2        BufCnt,
                                tsp_dbname      XparamName,
                                tsp_vf_return  *Error,
                                tsp_errtext     acErrorText) ;


/*
 * ================================= ENDE ====================================*
 */

.CM *-END-* code ----------------------------------------
.SP 2
***********************************************************
.PA
