diff --git a/fis-gtm-src-extras/fake-binary-surrogates/mumps b/fis-gtm-src-extras/fake-binary-surrogates/mumps new file mode 100755 index 0000000..2391eae --- /dev/null +++ b/fis-gtm-src-extras/fake-binary-surrogates/mumps @@ -0,0 +1,2 @@ +#!/bin/bash +echo "FAKE MUMPS",$* diff --git a/fis-gtm-src-extras/pro/gtm_limits.h b/fis-gtm-src-extras/pro/gtm_limits.h new file mode 100644 index 0000000..0cb1c7c --- /dev/null +++ b/fis-gtm-src-extras/pro/gtm_limits.h @@ -0,0 +1,64 @@ +/**************************************************************** + * * + * Copyright 2002, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* Interlude to */ + +#ifndef GTM_LIMITSH +#define GTM_LIMITSH + +#include +#ifdef __hpux +#include +#endif + +/* The value 1023 for PATH_MAX is derived using pathconf("path", _PC_PATH_MAX) on z/OS. + * Since we cant afford calling a function on each use of PATH_MAX/GTM_PATH_MAX, + * this value is hardcoded here. + */ +#if defined (__MVS__) +#ifndef PATH_MAX +#define PATH_MAX 1023 +#endif +#define GTM_PATH_MAX PATH_MAX + 1 +#else +#define GTM_PATH_MAX 1024 /* includes terminating NULL */ +#endif + +#if defined(LLONG_MAX) /* C99 and others */ +#define GTM_INT64_MIN LLONG_MIN +#define GTM_INT64_MAX LLONG_MAX +#define GTM_UINT64_MAX ULLONG_MAX +#elif defined(LONG_LONG_MAX) +#define GTM_INT64_MIN LONG_LONG_MIN +#define GTM_INT64_MAX LONG_LONG_MAX +#define GTM_UINT64_MAX ULONG_LONG_MAX +#elif defined(LONGLONG_MAX) +#define GTM_INT64_MIN LONGLONG_MIN +#define GTM_INT64_MAX LONGLONG_MAX +#define GTM_UINT64_MAX ULONGLONG_MAX +#elif defined(__INT64_MAX) /* OpenVMS Alpha */ +#define GTM_INT64_MIN __INT64_MIN +#define GTM_INT64_MAX __INT64_MAX +#define GTM_UINT64_MAX __UINT64_MAX +#elif defined(INTMAX_MAX) /* HP-UX */ +#define GTM_INT64_MIN INTMAX_MIN +#define GTM_INT64_MAX INTMAX_MAX +#define GTM_UINT64_MAX UINTMAX_MAX +#elif LONG_MAX != INT_MAX /* Tru64 */ +#define GTM_INT64_MIN LONG_MIN +#define GTM_INT64_MAX LONG_MAX +#define GTM_UINT64_MAX ULONG_MAX +#else +#error Unable to determine 64 bit MAX in gtm_limits.h +#endif + +#endif + diff --git a/fis-gtm-src-extras/pro/gtm_stdio.h b/fis-gtm-src-extras/pro/gtm_stdio.h new file mode 100644 index 0000000..c26ebba --- /dev/null +++ b/fis-gtm-src-extras/pro/gtm_stdio.h @@ -0,0 +1,137 @@ +/**************************************************************** + * * + * Copyright 2010 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* gtm_stdio.h - gtm interface to stdio.h */ + +#ifndef GTM_STDIOH +#define GTM_STDIOH + +/* This header is split between sr_unix and sr_vvms because there are several test system and standalone modules + * that do not #define UNIX or VMS for us to know which defines to proceed with. So now this split makes + * that determination unnecessary. Note we still use the definition of UNIX or not in THIS header to indicate the + * compilation of a GTM source file or a standalone file not needing (or able to get to) libgtmshr wrappers. + */ + +#include + +#define FDOPEN fdopen +#define FGETS(strg, n, strm, fgets_res) (fgets_res = fgets(strg,n,strm)) +#define Fopen fopen +#define GETS(buffer, gets_res) syntax error +#define PERROR perror +#define POPEN popen +#define TEMPNAM tempnam +#ifndef P_tmpdir +#define P_tmpdir "/tmp" +#endif +#define DEFAULT_GTM_TMP P_tmpdir +#define RENAME rename +#define SETVBUF setvbuf + +#ifdef UNIX +/* We are compiling a GTM source module if UNIX is defined */ +# define FPRINTF gtm_fprintf +# define PRINTF gtm_printf +# define SPRINTF gtm_sprintf +# define SNPRINTF gtm_snprintf +int gtm_printf(const char *format, ...); +int gtm_fprintf(FILE *stream, const char *format, ...); +int gtm_sprintf(char *str, const char *format, ...); +int gtm_snprintf(char *str, size_t size, const char *format, ...); +#else +/* We are compiling a standalone or test system module so no override (This is NOT VMS) */ +# define FPRINTF fprintf +# define PRINTF printf +# define SPRINTF sprintf +# define SNPRINTF snprintf +#endif + +/* Similar to above for *scanf invocations. Note however that TRU64 does NOT have + * the v*scanf functions used by the wrappers so always use the non-wrapper versions. + */ +#if defined(UNIX) && !defined(__osf__) +# define SCANF gtm_scanf +# define SSCANF gtm_sscanf +# define FSCANF gtm_fscanf +int gtm_scanf(const char *format, ...); +int gtm_fscanf(FILE *stream, const char *format, ...); +int gtm_sscanf(char *str, const char *format, ...); +#else +# define SCANF scanf +# define SSCANF sscanf +# define FSCANF fscanf +#endif + +#define VPRINTF(FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vprintf(FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VFPRINTF(STREAM, FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vfprintf(STREAM, FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VSPRINTF(STRING, FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vsprintf(STRING, FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VSNPRINTF(STRING, SIZE, FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vsnprintf(STRING, SIZE, FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} + +/* Note TRU64 does not have these v*scanf() functions so they will generate errors if used */ +#define VSCANF(FORMAT, POINTER, RC) \ +{ \ + do \ + { \ + RC = vscanf(FORMAT, POINTER); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VSSCANF(STRING, FORMAT, POINTER, RC) \ +{ \ + do \ + { \ + RC = vsscanf(STRING, FORMAT, POINTER); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VFSCANF(STREAM, FORMAT, POINTER, RC) \ +{ \ + do \ + { \ + RC = vfscanf(STREAM, FORMAT, POINTER); \ + } while(-1 == RC && EINTR == errno); \ +} + +#define SPRINTF_ENV_NUM(BUFF, ENV_VAR, ENV_VAL, ENV_IND) \ +{ \ + assert(NULL == strchr(ENV_VAR, '=')); /* strchr() done in ojstartchild() relies on this */ \ + SPRINTF(BUFF, "%s=%d", ENV_VAR, ENV_VAL); *ENV_IND++ = BUFF; \ +} + +#define SPRINTF_ENV_STR(BUFF, ENV_VAR, ENV_VAL, ENV_IND) \ +{ \ + assert(NULL == strchr(ENV_VAR, '=')); /* strchr() done in ojstartchild() relies on this */ \ + SPRINTF(BUFF, "%s=%s", ENV_VAR, ENV_VAL); *ENV_IND++ = BUFF; \ +} + +#endif diff --git a/fis-gtm-src-extras/pro/gtm_stdlib.h b/fis-gtm-src-extras/pro/gtm_stdlib.h new file mode 100644 index 0000000..209b911 --- /dev/null +++ b/fis-gtm-src-extras/pro/gtm_stdlib.h @@ -0,0 +1,50 @@ +/**************************************************************** + * * + * Copyright 2001, 2007 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* gtm_stdlib.h - interlude to system header file. */ +#ifndef GTM_STDLIBH +#define GTM_STDLIBH + +#include + +#ifndef __CYGWIN__ +#define GETENV getenv +#else +char *gtm_getenv(char *varname); +#define GETENV gtm_getenv +#endif +#define ATOI atoi +#define ATOL atol +#define ATOF atof +#define PUTENV putenv +#define STRTOL strtol +#define STRTOLL strtoll +#define STRTOUL strtoul +#if INT_MAX < LONG_MAX /* like Tru64 */ +#define STRTO64L strtol +#define STRTOU64L strtoul +#elif defined(__hpux) +#include +#define STRTO64L strtoimax +#define STRTOU64L strtoumax +#else +#define STRTO64L strtoll +#define STRTOU64L strtoull +#endif +#define MKSTEMP(template,mkstemp_res) (mkstemp_res = mkstemp(template)) +#ifndef __CYGWIN__ +#define SYSTEM system +#else +#define SYSTEM gtm_system +int gtm_system(const char *line); +#endif + +#endif diff --git a/fis-gtm-src-extras/pro/gtm_string.h b/fis-gtm-src-extras/pro/gtm_string.h new file mode 100644 index 0000000..69cbe22 --- /dev/null +++ b/fis-gtm-src-extras/pro/gtm_string.h @@ -0,0 +1,32 @@ +/**************************************************************** + * * + * Copyright 2001, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* If this is not the vax, define string.h. This is because the Vax + has its own built-in instructions for string manipulation. +*/ +#ifndef GTM_STRINGH +#define GTM_STRINGH + +#ifndef __vax +# include +#endif + +#define STRERROR strerror + +#define STRCPY(SOURCE, DEST) strcpy((char *)(SOURCE), (char *)(DEST)) +#define STRNCPY_LIT(SOURCE, LITERAL) strncpy((char *)(SOURCE), (char *)(LITERAL), SIZEOF(LITERAL) - 1) /* BYPASSOK */ +#define STRNCPY_STR(SOURCE, STRING, LEN) strncpy((char *)(SOURCE), (char *)(STRING), LEN) + +#define STRCMP(SOURCE, DEST) strcmp((char *)(SOURCE), (char *)(DEST)) +#define STRNCMP_LIT(SOURCE, LITERAL) strncmp(SOURCE, LITERAL, SIZEOF(LITERAL) - 1) /* BYPASSOK */ +#define STRNCMP_STR(SOURCE, STRING, LEN) strncmp(SOURCE, STRING, LEN) + +#endif diff --git a/fis-gtm-src-extras/pro/gtm_strings.h b/fis-gtm-src-extras/pro/gtm_strings.h new file mode 100644 index 0000000..da433c5 --- /dev/null +++ b/fis-gtm-src-extras/pro/gtm_strings.h @@ -0,0 +1,20 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#ifndef GTM_STRINGSH +#define GTM_STRINGSH + +#include + +#define STRCASECMP strcasecmp +#define STRNCASECMP strncasecmp + +#endif diff --git a/fis-gtm-src-extras/pro/gtmxc_types.h b/fis-gtm-src-extras/pro/gtmxc_types.h new file mode 100644 index 0000000..81f83b2 --- /dev/null +++ b/fis-gtm-src-extras/pro/gtmxc_types.h @@ -0,0 +1,87 @@ +/**************************************************************** + * * + * Copyright 2001, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* gtmxc_types.h - GT.M, Unix Edition External Call type definitions. */ +#ifndef GTMXC_TYPES_H +#define GTMXC_TYPES_H + +#ifdef __osf__ +/* Ensure 32-bit pointers for compatibility with GT.M internal representations. */ +#pragma pointer_size (save) +#pragma pointer_size (short) +#endif + +typedef int xc_status_t; +typedef int xc_int_t; +typedef unsigned int xc_uint_t; + +#if defined(__osf__) +typedef int xc_long_t; +typedef unsigned int xc_ulong_t; +#else +typedef long xc_long_t; +typedef unsigned long xc_ulong_t; +#endif + +typedef float xc_float_t; + +typedef double xc_double_t; + +typedef char xc_char_t; + +typedef int (*xc_pointertofunc_t)(); + +typedef struct +{ + xc_long_t length; + xc_char_t *address; +} xc_string_t; + +#ifdef __osf__ +#pragma pointer_size (restore) +#endif + +/* new types for external/call-in user - xc_* types still valid for backward compatibility */ +typedef xc_status_t gtm_status_t; +typedef xc_int_t gtm_int_t; +typedef xc_uint_t gtm_uint_t; +typedef xc_long_t gtm_long_t; +typedef xc_ulong_t gtm_ulong_t; +typedef xc_float_t gtm_float_t; +typedef xc_double_t gtm_double_t; +typedef xc_char_t gtm_char_t; +typedef xc_string_t gtm_string_t; +typedef xc_pointertofunc_t gtm_pointertofunc_t; + +typedef struct +{ + gtm_string_t rtn_name; + void* handle; +} ci_name_descriptor; + +/* call-in interface */ +xc_status_t gtm_ci(const char *c_rtn_name, ...); +xc_status_t gtm_cip(ci_name_descriptor *ci_info, ...); +xc_status_t gtm_init(void); +xc_status_t gtm_exit(void); +void gtm_zstatus(char* msg, int len); + +typedef int gtmcrypt_key_t; + +typedef void *xc_fileid_ptr_t; +xc_status_t gtm_filename_to_id(xc_string_t *filename, xc_fileid_ptr_t *fileid); +xc_status_t gtm_is_file_identical(xc_fileid_ptr_t fileid1, xc_fileid_ptr_t fileid2); +void gtm_xcfileid_free(xc_fileid_ptr_t fileid); + +void *gtm_malloc(size_t); +void gtm_free(void *); + +#endif /* GTMXC_TYPES_H */ diff --git a/fis-gtm-src-extras/pro/main_pragma.h b/fis-gtm-src-extras/pro/main_pragma.h new file mode 100644 index 0000000..88e3f4e --- /dev/null +++ b/fis-gtm-src-extras/pro/main_pragma.h @@ -0,0 +1,21 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + + +#ifndef MAIN_PRAGMA_included +#define MAIN_PRAGMA_included + +#ifdef __MVS__ +#pragma runopts(ENVAR(_BPXK_AUTOCVT=ON)) +#pragma runopts(FILETAG(AUTOCVT,AUTOTAG)) +#endif + +#endif /* MAIN_PRAGMA_included */ diff --git a/fis-gtm-src-extras/pro/obj/cmerrors_ctl.c b/fis-gtm-src-extras/pro/obj/cmerrors_ctl.c new file mode 100644 index 0000000..94db2b9 --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/cmerrors_ctl.c @@ -0,0 +1,35 @@ +/**************************************************************** + * * + * Copyright 2001,2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#include "mdef.h" +#include "error.h" + +LITDEF err_msg cmerrors[] = { + "INVPROT", "Invalid protocol specified by remote partner", 0, + "REGNTFND", "Region referenced not initialized", 0, + "CMINTQUE", "Interlock failure accessing GT.CM server queue", 0, + "INVINTMSG", "Invalid interrupt message received.", 0, + "CMEXCDASTLM", "Exceeded AST limit. Cannot open database.", 0, + "CMSYSSRV", "Error doing system service, status:", 0, +}; + +LITDEF int CMERR_INVPROT = 150568970; +LITDEF int CMERR_REGNTFND = 150568978; +LITDEF int CMERR_CMINTQUE = 150568988; +LITDEF int CMERR_INVINTMSG = 150568994; +LITDEF int CMERR_CMEXCDASTLM = 150569002; +LITDEF int CMERR_CMSYSSRV = 150569010; + +GBLDEF err_ctl cmerrors_ctl = { + 249, + "GTCM", + &cmerrors[0], + 6}; diff --git a/fis-gtm-src-extras/pro/obj/cmierrors_ctl.c b/fis-gtm-src-extras/pro/obj/cmierrors_ctl.c new file mode 100644 index 0000000..dbb0d2a --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/cmierrors_ctl.c @@ -0,0 +1,73 @@ +/**************************************************************** + * * + * Copyright 2001,2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#include "mdef.h" +#include "error.h" + +LITDEF err_msg cmierrors[] = { + "DCNINPROG", "Attempt to initiate operation while disconnect was in progress", 0, + "LNKNOTIDLE", "Attempt to initiate operation before previous operation completed", 0, + "ASSERT", "Assert failed !AD line !UL", 3, + "CMICHECK", "Internal CMI error. Report to your GT.M Support Channel.", 0, + "NETFAIL", "Failure of Net operation", 0, + "BADPORT", "Environment variable GTCM_TCP_PORT is not an integer", 0, + "NOTND", "tnd argument to cmi_init is NULL", 0, + "OVERRUN", "mbf argument in CLB is not large enough for packet", 0, + "NOSERVENT", "Sevices data lookup failure", 0, + "BADIPADDRPORT", "Bad specification of [ip address:port] in tnd", 0, + "REASON_CONNECT", "Incoming connection", 0, + "REASON_INTMSG", "Incoming urgent data", 0, + "REASON_DISCON", "Disconnect encountered", 0, + "REASON_ABORT", "Link aborted", 0, + "REASON_EXIT", "Exit", 0, + "REASON_PATHLOST", "Network path lost", 0, + "REASON_PROTOCOL", "Protocol error", 0, + "REASON_THIRDPARTY", "Thirdparty error", 0, + "REASON_TIMEOUT", "Network timeout", 0, + "REASON_NETSHUT", "Shutdown received", 0, + "REASON_REJECT", "Connection rejected", 0, + "REASON_IODONE", "I/O done", 0, + "REASON_OVERRUN", "Input overran buffer", 0, + "REASON_STATUS", "Status", 0, + "REASON_CONFIRM", "Confirm", 0, +}; + +LITDEF int CMI_DCNINPROG = 150634508; +LITDEF int CMI_LNKNOTIDLE = 150634516; +LITDEF int CMI_ASSERT = 150634522; +LITDEF int CMI_CMICHECK = 150634532; +LITDEF int CMI_NETFAIL = 150634538; +LITDEF int CMI_BADPORT = 150634546; +LITDEF int CMI_NOTND = 150634556; +LITDEF int CMI_OVERRUN = 150634562; +LITDEF int CMI_NOSERVENT = 150634570; +LITDEF int CMI_BADIPADDRPORT = 150634578; +LITDEF int CMI_REASON_CONNECT = 150634586; +LITDEF int CMI_REASON_INTMSG = 150634594; +LITDEF int CMI_REASON_DISCON = 150634602; +LITDEF int CMI_REASON_ABORT = 150634610; +LITDEF int CMI_REASON_EXIT = 150634618; +LITDEF int CMI_REASON_PATHLOST = 150634626; +LITDEF int CMI_REASON_PROTOCOL = 150634634; +LITDEF int CMI_REASON_THIRDPARTY = 150634642; +LITDEF int CMI_REASON_TIMEOUT = 150634650; +LITDEF int CMI_REASON_NETSHUT = 150634658; +LITDEF int CMI_REASON_REJECT = 150634666; +LITDEF int CMI_REASON_IODONE = 150634674; +LITDEF int CMI_REASON_OVERRUN = 150634682; +LITDEF int CMI_REASON_STATUS = 150634690; +LITDEF int CMI_REASON_CONFIRM = 150634698; + +GBLDEF err_ctl cmierrors_ctl = { + 250, + "CMI", + &cmierrors[0], + 25}; diff --git a/fis-gtm-src-extras/pro/obj/gdeerrors_ctl.c b/fis-gtm-src-extras/pro/obj/gdeerrors_ctl.c new file mode 100644 index 0000000..d1253a8 --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/gdeerrors_ctl.c @@ -0,0 +1,137 @@ +/**************************************************************** + * * + * Copyright 2001,2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#include "mdef.h" +#include "error.h" + +LITDEF err_msg gdeerrors[] = { + "BLKSIZ512", "Block size !AD rounds to !AD", 4, + "EXECOM", "Executing command file !AD", 2, + "FILENOTFND", "File !AD not found", 2, + "GDCREATE", "Creating Global Directory file !/ !AD", 2, + "GDECHECK", "Internal GDE consistency check", 0, + "GDUNKNFMT", "!AD !/ is not formatted as a Global Directory", 2, + "GDUPDATE", "Updating Global Directory file !/ !AD", 2, + "GDUSEDEFS", "Using defaults for Global Directory !/ !AD", 2, + "ILLCHAR", "!AD is not a legal character in this context", 2, + "INPINTEG", "Input integrity error -- aborting load", 0, + "KEYTOOBIG", "But record size !AD can only support key size !AD", 4, + "KEYSIZIS", "Key size is !AD", 2, + "KEYWRDAMB", "!AD is ambiguous for !AD", 4, + "KEYWRDBAD", "!AD is not a valid !AD", 4, + "LOADGD", "Loading Global Directory file !/ !AD", 2, + "LOGOFF", "No longer logging to file !AD", 2, + "LOGON", "Logging to file !AD", 2, + "LVSTARALON", "The * name cannot be deleted or renamed", 0, + "MAPBAD", "!AD !AD for !AD !AD does not exist", 8, + "MAPDUP", "!AD !AD and !AD both map to !AD !AD", 10, + "NAMSTARTBAD", "!AD must start with '%' or an alphabetic character", 2, + "NOACTION", "Not updating Global Directory !AD", 2, + "RPAREN", "List must end with right parenthesis or continue with comma", 0, + "NOEXIT", "Cannot exit because of verification failure", 0, + "NOLOG", "Logging is currently disabled!/ Log file is !AD.", 2, + "NOVALUE", "Qualifier !AD does not take a value", 2, + "NONEGATE", "Qualifier !AD cannot be negated", 2, + "OBJDUP", "!AD !AD already exists", 4, + "OBJNOTADD", "Not adding !AD !AD", 4, + "OBJNOTCHG", "Not changing !AD !AD", 4, + "OBJNOTFND", "!AD !AD does not exist", 4, + "OBJREQD", "!AD required", 2, + "PREFIXBAD", "!AD must start with an alphabetic character to be a !AD", 4, + "QUALBAD", "!AD is not a valid qualifier", 2, + "QUALDUP", "!AD qualifier appears more than once in the list", 2, + "QUALREQD", "!AD required", 2, + "RECTOOBIG", "Block size !AD and !AD reserved bytes limit record size to !AD", 6, + "RECSIZIS", "Record size is !AD", 2, + "REGIS", "in region !AD", 2, + "SEGIS", "in !AD segment !AD", 4, + "VALTOOBIG", "!AD is larger than the maximum of !AD for a !AD", 6, + "VALTOOLONG", "!AD exceeds the maximum length of !AD for a !AD", 6, + "VALTOOSMALL", "!AD is less than the minimum of !AD for a !AD", 6, + "VALUEBAD", "!AD is not a valid !AD", 4, + "VALUEREQD", "Qualifier !AD requires a value", 2, + "VERIFY", "Verification !AD", 2, + "BUFSIZIS", "Journal Buffer size is !AD", 2, + "BUFTOOSMALL", "But block size !AD requires buffer size !AD", 4, + "MMNOBEFORIMG", "MM segments do not support before image jounaling", 0, + "NOJNL", "!AD segments do not support journaling", 2, + "GDREADERR", "Error reading Global Directory: !AD", 2, + "GDNOTSET", "Global Directory not changed because the current GD cannot be written", 0, + "INVGBLDIR", "Invalid Global Directory spec: !AD.!/Continuing with !AD", 4, + "WRITEERROR", "Cannot exit because of write failure. Reason for failure: !AD", 2, + "NONASCII", "!AD is illegal for a !AD as it contains non-ASCII characters", 4, + "CRYPTNOMM", "!AD is an encrypted database. Cannot support MM access method.", 2, + "JNLALLOCGROW", "Increased Journal ALLOCATION from [!AD blocks] to [!AD blocks] to match AUTOSWITCHLIMIT for !AD !AD", 8, +}; + +LITDEF int GDE_BLKSIZ512 = 150503435; +LITDEF int GDE_EXECOM = 150503443; +LITDEF int GDE_FILENOTFND = 150503450; +LITDEF int GDE_GDCREATE = 150503459; +LITDEF int GDE_GDECHECK = 150503467; +LITDEF int GDE_GDUNKNFMT = 150503475; +LITDEF int GDE_GDUPDATE = 150503483; +LITDEF int GDE_GDUSEDEFS = 150503491; +LITDEF int GDE_ILLCHAR = 150503498; +LITDEF int GDE_INPINTEG = 150503508; +LITDEF int GDE_KEYTOOBIG = 150503515; +LITDEF int GDE_KEYSIZIS = 150503523; +LITDEF int GDE_KEYWRDAMB = 150503530; +LITDEF int GDE_KEYWRDBAD = 150503538; +LITDEF int GDE_LOADGD = 150503547; +LITDEF int GDE_LOGOFF = 150503555; +LITDEF int GDE_LOGON = 150503563; +LITDEF int GDE_LVSTARALON = 150503570; +LITDEF int GDE_MAPBAD = 150503579; +LITDEF int GDE_MAPDUP = 150503587; +LITDEF int GDE_NAMSTARTBAD = 150503594; +LITDEF int GDE_NOACTION = 150503603; +LITDEF int GDE_RPAREN = 150503610; +LITDEF int GDE_NOEXIT = 150503619; +LITDEF int GDE_NOLOG = 150503627; +LITDEF int GDE_NOVALUE = 150503634; +LITDEF int GDE_NONEGATE = 150503642; +LITDEF int GDE_OBJDUP = 150503650; +LITDEF int GDE_OBJNOTADD = 150503658; +LITDEF int GDE_OBJNOTCHG = 150503666; +LITDEF int GDE_OBJNOTFND = 150503674; +LITDEF int GDE_OBJREQD = 150503682; +LITDEF int GDE_PREFIXBAD = 150503690; +LITDEF int GDE_QUALBAD = 150503698; +LITDEF int GDE_QUALDUP = 150503706; +LITDEF int GDE_QUALREQD = 150503714; +LITDEF int GDE_RECTOOBIG = 150503723; +LITDEF int GDE_RECSIZIS = 150503731; +LITDEF int GDE_REGIS = 150503739; +LITDEF int GDE_SEGIS = 150503747; +LITDEF int GDE_VALTOOBIG = 150503755; +LITDEF int GDE_VALTOOLONG = 150503762; +LITDEF int GDE_VALTOOSMALL = 150503771; +LITDEF int GDE_VALUEBAD = 150503778; +LITDEF int GDE_VALUEREQD = 150503786; +LITDEF int GDE_VERIFY = 150503795; +LITDEF int GDE_BUFSIZIS = 150503803; +LITDEF int GDE_BUFTOOSMALL = 150503811; +LITDEF int GDE_MMNOBEFORIMG = 150503819; +LITDEF int GDE_NOJNL = 150503827; +LITDEF int GDE_GDREADERR = 150503835; +LITDEF int GDE_GDNOTSET = 150503843; +LITDEF int GDE_INVGBLDIR = 150503851; +LITDEF int GDE_WRITEERROR = 150503859; +LITDEF int GDE_NONASCII = 150503866; +LITDEF int GDE_CRYPTNOMM = 150503874; +LITDEF int GDE_JNLALLOCGROW = 150503883; + +GBLDEF err_ctl gdeerrors_ctl = { + 248, + "GDE", + &gdeerrors[0], + 57}; diff --git a/fis-gtm-src-extras/pro/obj/gtm_threadgbl_deftypes.h b/fis-gtm-src-extras/pro/obj/gtm_threadgbl_deftypes.h new file mode 100644 index 0000000..63b39a7 --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/gtm_threadgbl_deftypes.h @@ -0,0 +1,608 @@ +/**************************************************************** + * * + * Copyright 2010, 2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* Generated by /tmp/fisgtm/sr_linux/gen_gtm_threadgbl_deftypes.csh */ + +#ifndef GTM_THREADGBL_DEFTYPES_INCLUDED +#define GTM_THREADGBL_DEFTYPES_INCLUDED +/* Output selection criteria for PRO build */ +#if !defined(DEBUG) || defined(PRO_BUILD) +# define ggo_grabbing_crit 0 +# define ggt_grabbing_crit gd_region * +# define ggo_boolchain 8 +# define ggt_boolchain triple +# define ggo_boolchain_ptr 144 +# define ggt_boolchain_ptr triple * +# define ggo_code_generated 152 +# define ggt_code_generated boolean_t +# define ggo_codegen_padlen 156 +# define ggt_codegen_padlen int4 +# define ggo_compile_time 160 +# define ggt_compile_time boolean_t +# define ggo_curtchain 168 +# define ggt_curtchain triple * +# define ggo_director_ident 176 +# define ggt_director_ident mstr +# define ggo_director_mval 192 +# define ggt_director_mval mval +# define ggo_director_token 224 +# define ggt_director_token char +# define ggo_dollar_zcstatus 228 +# define ggt_dollar_zcstatus int4 +# define ggo_expr_depth 232 +# define ggt_expr_depth unsigned int +# define ggo_expr_start 240 +# define ggt_expr_start triple * +# define ggo_expr_start_orig 248 +# define ggt_expr_start_orig triple * +# define ggo_for_nest_level 256 +# define ggt_for_nest_level uint4 +# define ggo_for_stack_ptr 264 +# define ggt_for_stack_ptr oprtype ** +# define ggo_gtm_fullbool 272 +# define ggt_gtm_fullbool unsigned int +# define ggo_ind_result_array 280 +# define ggt_ind_result_array mval ** +# define ggo_ind_result_sp 288 +# define ggt_ind_result_sp mval ** +# define ggo_ind_result_top 296 +# define ggt_ind_result_top mval ** +# define ggo_ind_source_array 304 +# define ggt_ind_source_array mval ** +# define ggo_ind_source_sp 312 +# define ggt_ind_source_sp mval ** +# define ggo_ind_source_top 320 +# define ggt_ind_source_top mval ** +# define ggo_last_source_column 328 +# define ggt_last_source_column short int +# define ggo_pos_in_chain 336 +# define ggt_pos_in_chain triple +# define ggo_s2n_intlit 472 +# define ggt_s2n_intlit boolean_t +# define ggo_saw_side_effect 476 +# define ggt_saw_side_effect boolean_t +# define ggo_shift_side_effects 480 +# define ggt_shift_side_effects int +# define ggo_source_error_found 484 +# define ggt_source_error_found int4 +# define ggo_temp_subs 488 +# define ggt_temp_subs boolean_t +# define ggo_trigger_compile 492 +# define ggt_trigger_compile boolean_t +# define ggo_window_ident 496 +# define ggt_window_ident mstr +# define ggo_window_mval 512 +# define ggt_window_mval mval +# define ggo_window_token 544 +# define ggt_window_token char +# define ggo_dbinit_max_hrtbt_delta 548 +# define ggt_dbinit_max_hrtbt_delta uint4 +# define ggo_donot_commit 552 +# define ggt_donot_commit boolean_t +# define ggo_donot_write_inctn_in_wcs_recover 556 +# define ggt_donot_write_inctn_in_wcs_recover boolean_t +# define ggo_gd_targ_addr 560 +# define ggt_gd_targ_addr gd_addr * +# define ggo_gtm_gvundef_fatal 568 +# define ggt_gtm_gvundef_fatal boolean_t +# define ggo_gv_extname_size 572 +# define ggt_gv_extname_size int4 +# define ggo_gv_last_subsc_null 576 +# define ggt_gv_last_subsc_null boolean_t +# define ggo_gv_mergekey2 584 +# define ggt_gv_mergekey2 gv_key * +# define ggo_gv_reorgkey 592 +# define ggt_gv_reorgkey gv_key * +# define ggo_gv_some_subsc_null 600 +# define ggt_gv_some_subsc_null boolean_t +# define ggo_gv_sparekey 608 +# define ggt_gv_sparekey gv_key * +# define ggo_gv_sparekey_mval 616 +# define ggt_gv_sparekey_mval mval +# define ggo_gv_sparekey_size 648 +# define ggt_gv_sparekey_size int4 +# define ggo_gv_tporigkey_ptr 656 +# define ggt_gv_tporigkey_ptr gv_orig_key_array * +# define ggo_in_gvcst_redo_root_search 664 +# define ggt_in_gvcst_redo_root_search boolean_t +# define ggo_in_op_gvget 668 +# define ggt_in_op_gvget boolean_t +# define ggo_issue_DBROLLEDBACK_anyways 672 +# define ggt_issue_DBROLLEDBACK_anyways boolean_t +# define ggo_last_fnquery_return_subcnt 676 +# define ggt_last_fnquery_return_subcnt int +# define ggo_last_fnquery_return_varname 680 +# define ggt_last_fnquery_return_varname mval +# define ggo_new_dbinit_ipc 712 +# define ggt_new_dbinit_ipc int4 +# define ggo_ok_to_call_wcs_recover 716 +# define ggt_ok_to_call_wcs_recover boolean_t +# define ggo_only_reset_clues_if_onln_rlbk 720 +# define ggt_only_reset_clues_if_onln_rlbk boolean_t +# define ggo_prev_gv_target 728 +# define ggt_prev_gv_target gv_namehead * +# define ggo_ready2signal_gvundef 736 +# define ggt_ready2signal_gvundef boolean_t +# define ggo_semwait2long 740 +# define ggt_semwait2long volatile boolean_t +# define ggo_tp_restart_count 744 +# define ggt_tp_restart_count uint4 +# define ggo_tp_restart_dont_counts 748 +# define ggt_tp_restart_dont_counts uint4 +# define ggo_tp_restart_entryref 752 +# define ggt_tp_restart_entryref mval +# define ggo_tp_restart_failhist_indx 784 +# define ggt_tp_restart_failhist_indx int4 +# define ggo_tp_restart_needlock_cnt 788 +# define ggt_tp_restart_needlock_cnt uint4 +# define ggo_tp_restart_needlock_tn 792 +# define ggt_tp_restart_needlock_tn trans_num +# define ggo_tprestart_syslog_delta 800 +# define ggt_tprestart_syslog_delta int4 +# define ggo_tprestart_syslog_limit 804 +# define ggt_tprestart_syslog_limit int4 +# define ggo_transform 808 +# define ggt_transform boolean_t +# define ggo_wcs_recover_done 812 +# define ggt_wcs_recover_done boolean_t +# define ggo_in_op_fnnext 816 +# define ggt_in_op_fnnext boolean_t +# define ggo_local_collseq 824 +# define ggt_local_collseq collseq * +# define ggo_local_collseq_stdnull 832 +# define ggt_local_collseq_stdnull boolean_t +# define ggo_lv_null_subs 836 +# define ggt_lv_null_subs int +# define ggo_max_lcl_coll_xform_bufsiz 840 +# define ggt_max_lcl_coll_xform_bufsiz int +# define ggo_replgbl 848 +# define ggt_replgbl replgbl_t +# define ggo_collseq_list 872 +# define ggt_collseq_list collseq * +# define ggo_create_fatal_error_zshow_dmp_fptr 880 +# define ggt_create_fatal_error_zshow_dmp_fptr void +# define gga_create_fatal_error_zshow_dmp_fptr (void) +typedef void (*ggf_create_fatal_error_zshow_dmp_fptr)(void); +# define ggo_disable_sigcont 888 +# define ggt_disable_sigcont boolean_t +# define ggo_dollar_zcompile 896 +# define ggt_dollar_zcompile mstr +# define ggo_dollar_zmode 912 +# define ggt_dollar_zmode mval +# define ggo_dollar_zonlnrlbk 944 +# define ggt_dollar_zonlnrlbk int +# define ggo_dollar_zroutines 952 +# define ggt_dollar_zroutines mstr +# define ggo_error_on_jnl_file_lost 968 +# define ggt_error_on_jnl_file_lost unsigned int +# define ggo_fnzsearch_lv_vars 976 +# define ggt_fnzsearch_lv_vars lv_val * +# define ggo_fnzsearch_sub_mval 984 +# define ggt_fnzsearch_sub_mval mval +# define ggo_fnzsearch_nullsubs_sav 1016 +# define ggt_fnzsearch_nullsubs_sav int +# define ggo_gtm_env_init_done 1020 +# define ggt_gtm_env_init_done boolean_t +# define ggo_gtm_env_xlate_entry 1024 +# define ggt_gtm_env_xlate_entry int +# define gga_gtm_env_xlate_entry () +typedef int (*ggf_gtm_env_xlate_entry)(); +# define ggo_gtm_environment_init 1032 +# define ggt_gtm_environment_init boolean_t +# define ggo_gtm_sigusr1_handler 1040 +# define ggt_gtm_sigusr1_handler void +# define gga_gtm_sigusr1_handler (void) +typedef void (*ggf_gtm_sigusr1_handler)(void); +# define ggo_gtm_trctbl_cur 1048 +# define ggt_gtm_trctbl_cur trctbl_entry * +# define ggo_gtm_trctbl_end 1056 +# define ggt_gtm_trctbl_end trctbl_entry * +# define ggo_gtm_trctbl_groups 1064 +# define ggt_gtm_trctbl_groups unsigned int +# define ggo_gtm_trctbl_start 1072 +# define ggt_gtm_trctbl_start trctbl_entry * +# define ggo_gtm_waitstuck_script 1080 +# define ggt_gtm_waitstuck_script mstr +# define ggo_gtmprompt 1096 +# define ggt_gtmprompt mstr +# define ggo_in_zwrite 1112 +# define ggt_in_zwrite boolean_t +# define ggo_lab_proxy 1120 +# define ggt_lab_proxy lab_tabent_proxy +# define ggo_mprof_alloc_reclaim 1136 +# define ggt_mprof_alloc_reclaim boolean_t +# define ggo_mprof_chunk_avail_size 1140 +# define ggt_mprof_chunk_avail_size int +# define ggo_mprof_env_gbl_name 1144 +# define ggt_mprof_env_gbl_name mval +# define ggo_mprof_ptr 1176 +# define ggt_mprof_ptr mprof_wrapper * +# define ggo_mprof_reclaim_addr 1184 +# define ggt_mprof_reclaim_addr char * +# define ggo_mprof_reclaim_cnt 1192 +# define ggt_mprof_reclaim_cnt int +# define ggo_mprof_stack_curr_frame 1200 +# define ggt_mprof_stack_curr_frame mprof_stack_frame * +# define ggo_mprof_stack_next_frame 1208 +# define ggt_mprof_stack_next_frame mprof_stack_frame * +# define ggo_open_shlib_root 1216 +# define ggt_open_shlib_root open_shlib * +# define ggo_parm_pool_ptr 1224 +# define ggt_parm_pool_ptr parm_pool * +# define ggo_parms_cnt 1232 +# define ggt_parms_cnt unsigned int +# define ggo_pipefifo_interrupt 1236 +# define ggt_pipefifo_interrupt int +# define ggo_prof_fp 1240 +# define ggt_prof_fp mprof_stack_frame * +# define ggo_trans_code_pop 1248 +# define ggt_trans_code_pop mval * +# define ggo_view_ydirt_str 1256 +# define ggt_view_ydirt_str char * +# define ggo_view_ydirt_str_len 1264 +# define ggt_view_ydirt_str_len int4 +# define ggo_zdate_form 1268 +# define ggt_zdate_form int4 +# define ggo_zintcmd_active 1272 +# define ggt_zintcmd_active zintcmd_active_info +# define ggl_zintcmd_active 72 +# define ggo_zro_root 1344 +# define ggt_zro_root zro_ent * +# define ggo_zsearch_var 1352 +# define ggt_zsearch_var lv_val * +# define ggo_zsearch_dir1 1360 +# define ggt_zsearch_dir1 lv_val * +# define ggo_zsearch_dir2 1368 +# define ggt_zsearch_dir2 lv_val * +# define ggo_fnpca 1376 +# define ggt_fnpca fnpc_area +# define ggo_for_stack 19792 +# define ggt_for_stack oprtype * +# define ggl_for_stack 256 +# define ggo_for_temps 20048 +# define ggt_for_temps boolean_t +# define ggl_for_temps 128 +# define ggo_last_fnquery_return_sub 20176 +# define ggt_last_fnquery_return_sub mval +# define ggl_last_fnquery_return_sub 1024 +# define ggo_lcl_coll_xform_buff 21200 +# define ggt_lcl_coll_xform_buff char * +# define ggo_parm_ary 21208 +# define ggt_parm_ary char * +# define ggl_parm_ary 40 +# define ggo_parm_ary_len 21248 +# define ggt_parm_ary_len int +# define ggl_parm_ary_len 20 +# define ggo_parm_str_len 21268 +# define ggt_parm_str_len int +# define ggl_parm_str_len 20 +# define ggo_prombuf 21288 +# define ggt_prombuf char +# define ggl_prombuf 32 +# define ggo_rt_name_tbl 21320 +# define ggt_rt_name_tbl hash_table_mname +# define ggo_tp_restart_failhist_arry 21392 +# define ggt_tp_restart_failhist_arry char +# define ggl_tp_restart_failhist_arry 32 +# define ggo_director_string 21424 +# define ggt_director_string char +# define ggl_director_string 32 +# define ggo_window_string 21456 +# define ggt_window_string char +# define ggl_window_string 32 +# define ggo_callin_hashtab 21488 +# define ggt_callin_hashtab hash_table_str * +# define ggo_ci_table 21496 +# define ggt_ci_table callin_entry_list * +# define ggo_extcall_package_root 21504 +# define ggt_extcall_package_root struct extcall_package_list * +# define ggo_gtmci_nested_level 21512 +# define ggt_gtmci_nested_level unsigned int +# define ggo_want_empty_gvts 21516 +# define ggt_want_empty_gvts boolean_t +# define size_gtm_threadgbl_struct 21520 +#else +# define ggo_grabbing_crit 0 +# define ggt_grabbing_crit gd_region * +# define ggo_boolchain 8 +# define ggt_boolchain triple +# define ggo_boolchain_ptr 144 +# define ggt_boolchain_ptr triple * +# define ggo_code_generated 152 +# define ggt_code_generated boolean_t +# define ggo_codegen_padlen 156 +# define ggt_codegen_padlen int4 +# define ggo_compile_time 160 +# define ggt_compile_time boolean_t +# define ggo_curtchain 168 +# define ggt_curtchain triple * +# define ggo_director_ident 176 +# define ggt_director_ident mstr +# define ggo_director_mval 192 +# define ggt_director_mval mval +# define ggo_director_token 224 +# define ggt_director_token char +# define ggo_dollar_zcstatus 228 +# define ggt_dollar_zcstatus int4 +# define ggo_expr_depth 232 +# define ggt_expr_depth unsigned int +# define ggo_expr_start 240 +# define ggt_expr_start triple * +# define ggo_expr_start_orig 248 +# define ggt_expr_start_orig triple * +# define ggo_for_nest_level 256 +# define ggt_for_nest_level uint4 +# define ggo_for_stack_ptr 264 +# define ggt_for_stack_ptr oprtype ** +# define ggo_gtm_fullbool 272 +# define ggt_gtm_fullbool unsigned int +# define ggo_ind_result_array 280 +# define ggt_ind_result_array mval ** +# define ggo_ind_result_sp 288 +# define ggt_ind_result_sp mval ** +# define ggo_ind_result_top 296 +# define ggt_ind_result_top mval ** +# define ggo_ind_source_array 304 +# define ggt_ind_source_array mval ** +# define ggo_ind_source_sp 312 +# define ggt_ind_source_sp mval ** +# define ggo_ind_source_top 320 +# define ggt_ind_source_top mval ** +# define ggo_last_source_column 328 +# define ggt_last_source_column short int +# define ggo_pos_in_chain 336 +# define ggt_pos_in_chain triple +# define ggo_s2n_intlit 472 +# define ggt_s2n_intlit boolean_t +# define ggo_saw_side_effect 476 +# define ggt_saw_side_effect boolean_t +# define ggo_shift_side_effects 480 +# define ggt_shift_side_effects int +# define ggo_source_error_found 484 +# define ggt_source_error_found int4 +# define ggo_temp_subs 488 +# define ggt_temp_subs boolean_t +# define ggo_trigger_compile 492 +# define ggt_trigger_compile boolean_t +# define ggo_window_ident 496 +# define ggt_window_ident mstr +# define ggo_window_mval 512 +# define ggt_window_mval mval +# define ggo_window_token 544 +# define ggt_window_token char +# define ggo_dbinit_max_hrtbt_delta 548 +# define ggt_dbinit_max_hrtbt_delta uint4 +# define ggo_donot_commit 552 +# define ggt_donot_commit boolean_t +# define ggo_donot_write_inctn_in_wcs_recover 556 +# define ggt_donot_write_inctn_in_wcs_recover boolean_t +# define ggo_gd_targ_addr 560 +# define ggt_gd_targ_addr gd_addr * +# define ggo_gtm_gvundef_fatal 568 +# define ggt_gtm_gvundef_fatal boolean_t +# define ggo_gv_extname_size 572 +# define ggt_gv_extname_size int4 +# define ggo_gv_last_subsc_null 576 +# define ggt_gv_last_subsc_null boolean_t +# define ggo_gv_mergekey2 584 +# define ggt_gv_mergekey2 gv_key * +# define ggo_gv_reorgkey 592 +# define ggt_gv_reorgkey gv_key * +# define ggo_gv_some_subsc_null 600 +# define ggt_gv_some_subsc_null boolean_t +# define ggo_gv_sparekey 608 +# define ggt_gv_sparekey gv_key * +# define ggo_gv_sparekey_mval 616 +# define ggt_gv_sparekey_mval mval +# define ggo_gv_sparekey_size 648 +# define ggt_gv_sparekey_size int4 +# define ggo_gv_tporigkey_ptr 656 +# define ggt_gv_tporigkey_ptr gv_orig_key_array * +# define ggo_in_gvcst_redo_root_search 664 +# define ggt_in_gvcst_redo_root_search boolean_t +# define ggo_in_op_gvget 668 +# define ggt_in_op_gvget boolean_t +# define ggo_issue_DBROLLEDBACK_anyways 672 +# define ggt_issue_DBROLLEDBACK_anyways boolean_t +# define ggo_last_fnquery_return_subcnt 676 +# define ggt_last_fnquery_return_subcnt int +# define ggo_last_fnquery_return_varname 680 +# define ggt_last_fnquery_return_varname mval +# define ggo_new_dbinit_ipc 712 +# define ggt_new_dbinit_ipc int4 +# define ggo_ok_to_call_wcs_recover 716 +# define ggt_ok_to_call_wcs_recover boolean_t +# define ggo_only_reset_clues_if_onln_rlbk 720 +# define ggt_only_reset_clues_if_onln_rlbk boolean_t +# define ggo_prev_gv_target 728 +# define ggt_prev_gv_target gv_namehead * +# define ggo_ready2signal_gvundef 736 +# define ggt_ready2signal_gvundef boolean_t +# define ggo_semwait2long 740 +# define ggt_semwait2long volatile boolean_t +# define ggo_tp_restart_count 744 +# define ggt_tp_restart_count uint4 +# define ggo_tp_restart_dont_counts 748 +# define ggt_tp_restart_dont_counts uint4 +# define ggo_tp_restart_entryref 752 +# define ggt_tp_restart_entryref mval +# define ggo_tp_restart_failhist_indx 784 +# define ggt_tp_restart_failhist_indx int4 +# define ggo_tp_restart_needlock_cnt 788 +# define ggt_tp_restart_needlock_cnt uint4 +# define ggo_tp_restart_needlock_tn 792 +# define ggt_tp_restart_needlock_tn trans_num +# define ggo_tprestart_syslog_delta 800 +# define ggt_tprestart_syslog_delta int4 +# define ggo_tprestart_syslog_limit 804 +# define ggt_tprestart_syslog_limit int4 +# define ggo_transform 808 +# define ggt_transform boolean_t +# define ggo_wcs_recover_done 812 +# define ggt_wcs_recover_done boolean_t +# define ggo_in_op_fnnext 816 +# define ggt_in_op_fnnext boolean_t +# define ggo_local_collseq 824 +# define ggt_local_collseq collseq * +# define ggo_local_collseq_stdnull 832 +# define ggt_local_collseq_stdnull boolean_t +# define ggo_lv_null_subs 836 +# define ggt_lv_null_subs int +# define ggo_max_lcl_coll_xform_bufsiz 840 +# define ggt_max_lcl_coll_xform_bufsiz int +# define ggo_replgbl 848 +# define ggt_replgbl replgbl_t +# define ggo_collseq_list 872 +# define ggt_collseq_list collseq * +# define ggo_create_fatal_error_zshow_dmp_fptr 880 +# define ggt_create_fatal_error_zshow_dmp_fptr void +# define gga_create_fatal_error_zshow_dmp_fptr (void) +typedef void (*ggf_create_fatal_error_zshow_dmp_fptr)(void); +# define ggo_disable_sigcont 888 +# define ggt_disable_sigcont boolean_t +# define ggo_dollar_zcompile 896 +# define ggt_dollar_zcompile mstr +# define ggo_dollar_zmode 912 +# define ggt_dollar_zmode mval +# define ggo_dollar_zonlnrlbk 944 +# define ggt_dollar_zonlnrlbk int +# define ggo_dollar_zroutines 952 +# define ggt_dollar_zroutines mstr +# define ggo_error_on_jnl_file_lost 968 +# define ggt_error_on_jnl_file_lost unsigned int +# define ggo_fnzsearch_lv_vars 976 +# define ggt_fnzsearch_lv_vars lv_val * +# define ggo_fnzsearch_sub_mval 984 +# define ggt_fnzsearch_sub_mval mval +# define ggo_fnzsearch_nullsubs_sav 1016 +# define ggt_fnzsearch_nullsubs_sav int +# define ggo_gtm_env_init_done 1020 +# define ggt_gtm_env_init_done boolean_t +# define ggo_gtm_env_xlate_entry 1024 +# define ggt_gtm_env_xlate_entry int +# define gga_gtm_env_xlate_entry () +typedef int (*ggf_gtm_env_xlate_entry)(); +# define ggo_gtm_environment_init 1032 +# define ggt_gtm_environment_init boolean_t +# define ggo_gtm_sigusr1_handler 1040 +# define ggt_gtm_sigusr1_handler void +# define gga_gtm_sigusr1_handler (void) +typedef void (*ggf_gtm_sigusr1_handler)(void); +# define ggo_gtm_trctbl_cur 1048 +# define ggt_gtm_trctbl_cur trctbl_entry * +# define ggo_gtm_trctbl_end 1056 +# define ggt_gtm_trctbl_end trctbl_entry * +# define ggo_gtm_trctbl_groups 1064 +# define ggt_gtm_trctbl_groups unsigned int +# define ggo_gtm_trctbl_start 1072 +# define ggt_gtm_trctbl_start trctbl_entry * +# define ggo_gtm_waitstuck_script 1080 +# define ggt_gtm_waitstuck_script mstr +# define ggo_gtmprompt 1096 +# define ggt_gtmprompt mstr +# define ggo_in_zwrite 1112 +# define ggt_in_zwrite boolean_t +# define ggo_lab_proxy 1120 +# define ggt_lab_proxy lab_tabent_proxy +# define ggo_mprof_alloc_reclaim 1136 +# define ggt_mprof_alloc_reclaim boolean_t +# define ggo_mprof_chunk_avail_size 1140 +# define ggt_mprof_chunk_avail_size int +# define ggo_mprof_env_gbl_name 1144 +# define ggt_mprof_env_gbl_name mval +# define ggo_mprof_ptr 1176 +# define ggt_mprof_ptr mprof_wrapper * +# define ggo_mprof_reclaim_addr 1184 +# define ggt_mprof_reclaim_addr char * +# define ggo_mprof_reclaim_cnt 1192 +# define ggt_mprof_reclaim_cnt int +# define ggo_mprof_stack_curr_frame 1200 +# define ggt_mprof_stack_curr_frame mprof_stack_frame * +# define ggo_mprof_stack_next_frame 1208 +# define ggt_mprof_stack_next_frame mprof_stack_frame * +# define ggo_open_shlib_root 1216 +# define ggt_open_shlib_root open_shlib * +# define ggo_parm_pool_ptr 1224 +# define ggt_parm_pool_ptr parm_pool * +# define ggo_parms_cnt 1232 +# define ggt_parms_cnt unsigned int +# define ggo_pipefifo_interrupt 1236 +# define ggt_pipefifo_interrupt int +# define ggo_prof_fp 1240 +# define ggt_prof_fp mprof_stack_frame * +# define ggo_trans_code_pop 1248 +# define ggt_trans_code_pop mval * +# define ggo_view_ydirt_str 1256 +# define ggt_view_ydirt_str char * +# define ggo_view_ydirt_str_len 1264 +# define ggt_view_ydirt_str_len int4 +# define ggo_zdate_form 1268 +# define ggt_zdate_form int4 +# define ggo_zintcmd_active 1272 +# define ggt_zintcmd_active zintcmd_active_info +# define ggl_zintcmd_active 72 +# define ggo_zro_root 1344 +# define ggt_zro_root zro_ent * +# define ggo_zsearch_var 1352 +# define ggt_zsearch_var lv_val * +# define ggo_zsearch_dir1 1360 +# define ggt_zsearch_dir1 lv_val * +# define ggo_zsearch_dir2 1368 +# define ggt_zsearch_dir2 lv_val * +# define ggo_fnpca 1376 +# define ggt_fnpca fnpc_area +# define ggo_for_stack 19792 +# define ggt_for_stack oprtype * +# define ggl_for_stack 256 +# define ggo_for_temps 20048 +# define ggt_for_temps boolean_t +# define ggl_for_temps 128 +# define ggo_last_fnquery_return_sub 20176 +# define ggt_last_fnquery_return_sub mval +# define ggl_last_fnquery_return_sub 1024 +# define ggo_lcl_coll_xform_buff 21200 +# define ggt_lcl_coll_xform_buff char * +# define ggo_parm_ary 21208 +# define ggt_parm_ary char * +# define ggl_parm_ary 40 +# define ggo_parm_ary_len 21248 +# define ggt_parm_ary_len int +# define ggl_parm_ary_len 20 +# define ggo_parm_str_len 21268 +# define ggt_parm_str_len int +# define ggl_parm_str_len 20 +# define ggo_prombuf 21288 +# define ggt_prombuf char +# define ggl_prombuf 32 +# define ggo_rt_name_tbl 21320 +# define ggt_rt_name_tbl hash_table_mname +# define ggo_tp_restart_failhist_arry 21392 +# define ggt_tp_restart_failhist_arry char +# define ggl_tp_restart_failhist_arry 32 +# define ggo_director_string 21424 +# define ggt_director_string char +# define ggl_director_string 32 +# define ggo_window_string 21456 +# define ggt_window_string char +# define ggl_window_string 32 +# define ggo_callin_hashtab 21488 +# define ggt_callin_hashtab hash_table_str * +# define ggo_ci_table 21496 +# define ggt_ci_table callin_entry_list * +# define ggo_extcall_package_root 21504 +# define ggt_extcall_package_root struct extcall_package_list * +# define ggo_gtmci_nested_level 21512 +# define ggt_gtmci_nested_level unsigned int +# define ggo_want_empty_gvts 21516 +# define ggt_want_empty_gvts boolean_t +# define size_gtm_threadgbl_struct 21520 +#endif +#endif diff --git a/fis-gtm-src-extras/pro/obj/merrors_ansi.h b/fis-gtm-src-extras/pro/obj/merrors_ansi.h new file mode 100644 index 0000000..3c6d8c0 --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/merrors_ansi.h @@ -0,0 +1,1296 @@ +/**************************************************************** + * * + * Copyright 2001,2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + + +const static readonly int error_ansi[] = { + 0, /* ACK */ + 0, /* BREAKZST */ + 0, /* BADACCMTHD */ + 0, /* BADJPIPARAM */ + 0, /* BADSYIPARAM */ + 0, /* BITMAPSBAD */ + 0, /* BREAK */ + 0, /* BREAKDEA */ + 0, /* BREAKZBA */ + 0, /* STATCNT */ + 0, /* BTFAIL */ + 0, /* MUPRECFLLCK */ + 0, /* CMD */ + 0, /* COLON */ + 0, /* COMMA */ + 0, /* COMMAORRPAREXP */ + 0, /* COMMENT */ + 0, /* CTRAP */ + 0, /* CTRLC */ + 0, /* CTRLY */ + 0, /* DBCCERR */ + 0, /* DUPTOKEN */ + 0, /* DBJNLNOTMATCH */ + 0, /* DBFILERR */ + 0, /* DBNOTGDS */ + 0, /* DBOPNERR */ + 0, /* DBRDERR */ + 0, /* CCEDUMPNOW */ + 0, /* DEVPARINAP */ + 0, /* RECORDSTAT */ + 0, /* NOTGBL */ + 0, /* DEVPARPROT */ + 0, /* PREMATEOF */ + 0, /* GVINVALID */ + 0, /* DEVPARTOOBIG */ + 0, /* DEVPARUNK */ + 0, /* DEVPARVALREQ */ + 0, /* DEVPARMNEG */ + 0, /* DSEBLKRDFAIL */ + 0, /* DSEFAIL */ + 0, /* NOTALLREPLON */ + 0, /* BADLKIPARAM */ + 0, /* JNLREADBOF */ + 0, /* DVIKEYBAD */ + 0, /* ENQ */ + 0, /* EQUAL */ + 0, /* ERRORSUMMARY */ + 0, /* ERRWEXC */ + 0, /* ERRWIOEXC */ + 0, /* ERRWZBRK */ + 0, /* ERRWZTRAP */ + 0, /* NUMUNXEOR */ + 0, /* EXPR */ + 0, /* STRUNXEOR */ + 0, /* JNLEXTEND */ + 0, /* FCHARMAXARGS */ + 0, /* FCNSVNEXPECTED */ + 2, /* FNARGINC */ + 0, /* JNLACCESS */ + 44, /* TRANSNOSTART */ + 0, /* FNUMARG */ + 0, /* FOROFLOW */ + 0, /* YDIRTSZ */ + 0, /* JNLSUCCESS */ + 29, /* GBLNAME */ + 0, /* GBLOFLOW */ + 0, /* CORRUPT */ + 0, /* GTMCHECK */ + 0, /* GVDATAFAIL */ + 0, /* EORNOTFND */ + 0, /* GVGETFAIL */ + 0, /* GVIS */ + 0, /* GVKILLFAIL */ + 1, /* GVNAKED */ + 0, /* GVNEXTARG */ + 0, /* GVORDERFAIL */ + 0, /* GVPUTFAIL */ + 0, /* PATTABSYNTAX */ + 0, /* GVSUBOFLOW */ + 7, /* GVUNDEF */ + 0, /* TRANSNEST */ + 0, /* INDEXTRACHARS */ + 0, /* INDMAXNEST */ + 0, /* INDRMAXLEN */ + 0, /* INSFFBCNT */ + 0, /* INTEGERRS */ + 0, /* INVCMD */ + 0, /* INVFCN */ + 0, /* INVOBJ */ + 8, /* INVSVN */ + 0, /* IOEOF */ + 0, /* IONOTOPEN */ + 0, /* MUPIPINFO */ + 0, /* IVTIME */ + 0, /* JOBFAIL */ + 13, /* JOBLABOFF */ + 0, /* JOBPARNOVAL */ + 0, /* JOBPARNUM */ + 0, /* JOBPARSTR */ + 0, /* JOBPARUNK */ + 0, /* JOBPARVALREQ */ + 0, /* JUSTFRACT */ + 0, /* KEY2BIG */ + 0, /* LABELEXPECTED */ + 13, /* LABELMISSING */ + 13, /* LABELUNKNOWN */ + 9, /* DIVZERO */ + 0, /* LKNAMEXPECTED */ + 0, /* JNLRDERR */ + 25, /* LOADRUNNING */ + 0, /* LPARENMISSING */ + 0, /* LSEXPECTED */ + 0, /* LVORDERARG */ + 0, /* MAXFORARGS */ + 0, /* TRANSMINUS */ + 0, /* MAXNRSUBSCRIPTS */ + 75, /* MAXSTRLEN */ + 0, /* JNLDBERR */ + 0, /* JNLFILOPN */ + 0, /* MBXRDONLY */ + 0, /* JNLINVALID */ + 0, /* MBXWRTONLY */ + 0, /* MEMORY */ + 70, /* MTBLKTOOBIG */ + 70, /* MTBLKTOOSM */ + 70, /* MTFIXRECSZ */ + 0, /* MTIS */ + 0, /* MTRDBADBLK */ + 62, /* MTRDONLY */ + 0, /* MTRDTHENWRT */ + 71, /* MTRECGTRBLK */ + 72, /* MTRECTOOBIG */ + 72, /* MTRECTOOSM */ + 0, /* JNLTMQUAL3 */ + 57, /* MULTLAB */ + 0, /* BLKCNT */ + 0, /* CCEDUMPOFF */ + 0, /* NOPLACE */ + 0, /* JNLCLOSE */ + 0, /* NOTPRINCIO */ + 0, /* NOTTOEOFONPUT */ + 0, /* NOZBRK */ + 0, /* NULSUBSC */ + 92, /* NUMOFLOW */ + 0, /* PARFILSPC */ + 0, /* PATCLASS */ + 10, /* PATCODE */ + 0, /* PATLIT */ + 0, /* PATMAXLEN */ + 0, /* LPARENREQD */ + 10, /* PATUPPERLIM */ + 0, /* PCONDEXPECTED */ + 0, /* PRCNAMLEN */ + 3, /* RANDARGNEG */ + 0, /* DBPRIVERR */ + 75, /* REC2BIG */ + 0, /* RHMISSING */ + 62, /* DEVICEREADONLY */ + 0, /* COLLDATAEXISTS */ + 88, /* ROUTINEUNKNOWN */ + 0, /* RPARENMISSING */ + 0, /* RTNNAME */ + 0, /* VIEWGVN */ + 0, /* RTSLOC */ + 0, /* RWARG */ + 0, /* RWFORMAT */ + 0, /* JNLWRTDEFER */ + 4, /* SELECTFALSE */ + 0, /* SPOREOL */ + 0, /* SRCLIN */ + 0, /* SRCLOC */ + 0, /* SRCLOCUNKNOWN */ + 0, /* STACKCRIT */ + 0, /* STACKOFLOW */ + 0, /* STACKUNDERFLO */ + 0, /* STRINGOFLOW */ + 0, /* SVNOSET */ + 0, /* VIEWFN */ + 0, /* TERMASTQUOTA */ + 5, /* TEXTARG */ + 0, /* TMPSTOREMAX */ + 0, /* VIEWCMD */ + 12, /* TXTNEGLIN */ + 0, /* TXTSRCFMT */ + 0, /* UIDMSG */ + 0, /* UIDSND */ + 6, /* UNDEF */ + 0, /* UNIMPLOP */ + 39, /* VAREXPECTED */ + 0, /* VARRECBLKSZ */ + 0, /* MAXARGCNT */ + 0, /* WCFAIL */ + 0, /* VIEWARGCNT */ + 0, /* XKILLCNTEXC */ + 0, /* ZATTACHERR */ + 0, /* ZDATEFMT */ + 0, /* ZEDFILSPEC */ + 75, /* ZFILENMTOOLONG */ + 0, /* ZFILKEYBAD */ + 0, /* ZFILNMBAD */ + 0, /* ZGOTOLTZERO */ + 0, /* ZGOTOTOOBIG */ + 0, /* ZLINKFILE */ + 0, /* ZPARSETYPE */ + 0, /* ZPARSFLDBAD */ + 0, /* ZPIDBADARG */ + 0, /* ZPRIVARGBAD */ + 0, /* ZPRIVSYNTAXERR */ + 13, /* ZPRTLABNOTFND */ + 0, /* VIEWAMBIG */ + 0, /* VIEWNOTFOUND */ + 0, /* ZSETPRVARGBAD */ + 0, /* INVSPECREC */ + 0, /* ZSETPRVSYNTAX */ + 0, /* ZSRCHSTRMCT */ + 0, /* VERSION */ + 0, /* MUNOTALLSEC */ + 0, /* MUSECDEL */ + 0, /* MUSECNOTDEL */ + 0, /* RPARENREQD */ + 26, /* ZGBLDIRACC */ + 0, /* GVNAKEDEXTNM */ + 0, /* EXTGBLDEL */ + 0, /* DSEWCINITCON */ + 0, /* LASTFILCMPLD */ + 0, /* NOEXCNOZTRAP */ + 0, /* UNSDCLASS */ + 0, /* UNSDDTYPE */ + 0, /* ZCUNKTYPE */ + 0, /* ZCUNKMECH */ + 0, /* ZCUNKQUAL */ + 0, /* JNLDBTNNOMATCH */ + 0, /* ZCALLTABLE */ + 58, /* ZCARGMSMTCH */ + 58, /* ZCCONMSMTCH */ + 0, /* ZCOPT0 */ + 0, /* ZCSTATUS */ + 0, /* ZCUSRRTN */ + 0, /* ZCPOSOVR */ + 0, /* ZCINPUTREQ */ + 0, /* JNLTNOUTOFSEQ */ + 0, /* ACTRANGE */ + 0, /* ZCCONVERT */ + 0, /* ZCRTENOTF */ + 0, /* GVRUNDOWN */ + 0, /* LKRUNDOWN */ + 0, /* IORUNDOWN */ + 0, /* FILENOTFND */ + 0, /* MUFILRNDWNFL */ + 0, /* JNLTMQUAL1 */ + 0, /* FORCEDHALT */ + 0, /* LOADEOF */ + 0, /* WILLEXPIRE */ + 0, /* LOADEDBG */ + 0, /* LABELONLY */ + 0, /* MUREORGFAIL */ + 0, /* GVZPREVFAIL */ + 21, /* MULTFORMPARM */ + 16, /* QUITARGUSE */ + 0, /* NAMEEXPECTED */ + 11, /* UNUSEDMSG438 */ + 16, /* NOTEXTRINSIC */ + 11, /* UNUSEDMSG440 */ + 20, /* FMLLSTMISSING */ + 58, /* ACTLSTTOOLONG */ + 0, /* ACTOFFSET */ + 0, /* MAXACTARG */ + 0, /* GTMDUMPFAIL */ + 0, /* JNLTMQUAL2 */ + 0, /* GDINVALID */ + 0, /* ASSERT */ + 0, /* MUFILRNDWNSUC */ + 0, /* LOADEDSZ */ + 16, /* QUITARGLST */ + 17, /* QUITARGREQD */ + 0, /* CRITRESET */ + 0, /* UNKNOWNFOREX */ + 0, /* FSEXP */ + 0, /* WILDCARD */ + 0, /* DIRONLY */ + 0, /* FILEPARSE */ + 0, /* QUALEXP */ + 0, /* BADQUAL */ + 0, /* QUALVAL */ + 0, /* ZROSYNTAX */ + 0, /* COMPILEQUALS */ + 0, /* ZLNOOBJECT */ + 0, /* ZLMODULE */ + 0, /* DBBLEVMX */ + 0, /* DBBLEVMN */ + 0, /* DBBSIZMN */ + 0, /* DBBSIZMX */ + 0, /* DBRSIZMN */ + 0, /* DBRSIZMX */ + 0, /* DBCMPNZRO */ + 0, /* DBSTARSIZ */ + 0, /* DBSTARCMP */ + 0, /* DBCMPMX */ + 0, /* DBKEYMX */ + 0, /* DBKEYMN */ + 0, /* DBCMPBAD */ + 0, /* DBKEYORD */ + 0, /* DBPTRNOTPOS */ + 0, /* DBPTRMX */ + 0, /* DBPTRMAP */ + 0, /* IFBADPARM */ + 0, /* IFNOTINIT */ + 0, /* GTMSECSHRSOCKET */ + 0, /* LOADBGSZ */ + 0, /* LOADFMT */ + 0, /* LOADFILERR */ + 0, /* NOREGION */ + 0, /* PATLOAD */ + 0, /* EXTRACTFILERR */ + 0, /* FREEZE */ + 0, /* NOSELECT */ + 0, /* EXTRFAIL */ + 0, /* LDBINFMT */ + 0, /* NOPREVLINK */ + 0, /* CCEDUMPON */ + 0, /* CCEDMPQUALREQ */ + 0, /* CCEDBDUMP */ + 0, /* CCEDBNODUMP */ + 0, /* CCPMBX */ + 0, /* REQRUNDOWN */ + 0, /* CCPINTQUE */ + 0, /* CCPBADMSG */ + 0, /* CNOTONSYS */ + 0, /* CCPNAME */ + 0, /* CCPNOTFND */ + 0, /* OPRCCPSTOP */ + 0, /* SELECTSYNTAX */ + 0, /* LOADABORT */ + 0, /* FNOTONSYS */ + 0, /* AMBISYIPARAM */ + 0, /* PREVJNLNOEOF */ + 0, /* LKSECINIT */ + 0, /* MTDOSLAB */ + 0, /* MTDOSFOR */ + 0, /* MTINVLAB */ + 0, /* TXTSRCMAT */ + 0, /* CCENOGROUP */ + 0, /* BADDBVER */ + 0, /* LINKVERSION */ + 0, /* TOTALBLKMAX */ + 0, /* LOADCTRLY */ + 0, /* CLSTCONFLICT */ + 0, /* SRCNAM */ + 0, /* LCKGONE */ + 0, /* SUB2LONG */ + 0, /* EXTRACTCTRLY */ + 0, /* CCENOWORLD */ + 0, /* GVQUERYFAIL */ + 0, /* LCKSCANCELLED */ + 0, /* INVNETFILNM */ + 0, /* NETDBOPNERR */ + 0, /* BADSRVRNETMSG */ + 0, /* BADGTMNETMSG */ + 0, /* SERVERERR */ + 0, /* NETFAIL */ + 0, /* NETLCKFAIL */ + 0, /* TTINVFILTER */ + 0, /* MTANSILAB */ + 0, /* MTANSIFOR */ + 0, /* BADTRNPARAM */ + 0, /* DSEONLYBGMM */ + 0, /* DSEINVLCLUSFN */ + 18, /* RDFLTOOSHORT */ + 0, /* TIMRBADVAL */ + 0, /* CCENOSYSLCK */ + 0, /* CCPGRP */ + 0, /* UNSOLCNTERR */ + 0, /* BACKUPCTRL */ + 0, /* NOCCPPID */ + 0, /* CCPJNLOPNERR */ + 0, /* LCKSGONE */ + 0, /* ZLKIDBADARG */ + 0, /* DBFILOPERR */ + 0, /* CCERDERR */ + 0, /* CCEDBCL */ + 0, /* CCEDBNTCL */ + 0, /* CCEWRTERR */ + 0, /* CCEBADFN */ + 0, /* CCERDTIMOUT */ + 0, /* CCPSIGCONT */ + 0, /* CCEBGONLY */ + 0, /* CCENOCCP */ + 0, /* CCECCPPID */ + 0, /* CCECLSTPRCS */ + 0, /* ZSHOWBADFUNC */ + 0, /* NOTALLJNLEN */ + 0, /* ZSHOWGLOSMALL */ + 0, /* NOLBRSRC */ + 0, /* INVZSTEP */ + 0, /* ZSTEPARG */ + 0, /* INVSTRLEN */ + 0, /* RECCNT */ + 0, /* TEXT */ + 0, /* ZWRSPONE */ + 0, /* FILEDEL */ + 0, /* JNLBADLABEL */ + 0, /* JNLREADEOF */ + 0, /* JNLRECFMT */ + 0, /* BLKTOODEEP */ + 0, /* NESTFORMP */ + 0, /* BINHDR */ + 0, /* GOQPREC */ + 0, /* LDGOQFMT */ + 0, /* BEGINST */ + 0, /* INVMVXSZ */ + 0, /* JNLWRTNOWWRTR */ + 0, /* MUPGDERR */ + 0, /* JNLINVALLOC */ + 0, /* JNLINVEXT */ + 0, /* MUPCLIERR */ + 0, /* JNLTMQUAL4 */ + 0, /* JNLBUFFTOOLG */ + 0, /* JNLBUFFTOOSM */ + 0, /* MUNODBNAME */ + 0, /* FILECREATE */ + 0, /* FILENOTCREATE */ + 0, /* JNLPROCSTUCK */ + 0, /* INVGLOBALQUAL */ + 0, /* COLLARGLONG */ + 0, /* NOPINI */ + 0, /* DBNOCRE */ + 0, /* JNLSPACELOW */ + 0, /* DBCOMMITCLNUP */ + 0, /* BFRQUALREQ */ + 0, /* REQDVIEWPARM */ + 0, /* COLLFNMISSING */ + 0, /* JNLACTINCMPLT */ + 0, /* NCTCOLLDIFF */ + 0, /* DLRCUNXEOR */ + 0, /* DLRCTOOBIG */ + 0, /* WCERRNOTCHG */ + 0, /* WCWRNNOTCHG */ + 0, /* ZCWRONGDESC */ + 0, /* MUTNWARN */ + 0, /* JNLNAMLEN */ + 0, /* LCKSTIMOUT */ + 0, /* CTLMNEMAXLEN */ + 0, /* CTLMNEXPECTED */ + 0, /* USRIOINIT */ + 0, /* CRITSEMFAIL */ + 0, /* TERMWRITE */ + 0, /* COLLTYPVERSION */ + 0, /* LVNULLSUBS */ + 0, /* GVREPLERR */ + 0, /* MTIOERR */ + 72, /* RMWIDTHPOS */ + 13, /* OFFSETINV */ + 0, /* JOBPARTOOLONG */ + 0, /* JOBARGMISSING */ + 0, /* RUNPARAMERR */ + 0, /* FNNAMENEG */ + 0, /* ORDER2 */ + 0, /* MUNOUPGRD */ + 0, /* REORGCTRLY */ + 0, /* TSTRTPARM */ + 0, /* TRIGNAMENF */ + 0, /* TRIGZBREAKREM */ + 44, /* TLVLZERO */ + 27, /* TRESTNOT */ + 41, /* TPLOCK */ + 42, /* TPQUIT */ + 0, /* TPFAIL */ + 0, /* TPRETRY */ + 0, /* TPTOODEEP */ + 0, /* ZDEFACTIVE */ + 0, /* ZDEFOFLOW */ + 0, /* MUPRESTERR */ + 0, /* MUBCKNODIR */ + 0, /* TRANS2BIG */ + 0, /* INVBITLEN */ + 0, /* INVBITSTR */ + 0, /* INVBITPOS */ + 0, /* PARNORMAL */ + 0, /* PARBUFSM */ + 72, /* RMWIDTHTOOBIG */ + 0, /* PATTABNOTFND */ + 0, /* OBJFILERR */ + 0, /* SRCFILERR */ + 95, /* NEGFRACPWR */ + 0, /* MTNOSKIP */ + 0, /* CETOOMANY */ + 0, /* CEUSRERROR */ + 0, /* CEBIGSKIP */ + 0, /* CETOOLONG */ + 0, /* CENOINDIR */ + 0, /* COLLATIONUNDEF */ + 0, /* RBWRNNOTCHG */ + 0, /* GTMSECSHRSRVF */ + 0, /* FREEZECTRL */ + 0, /* JNLFLUSH */ + 0, /* CCPSIGDMP */ + 0, /* NOPRINCIO */ + 0, /* INVPORTSPEC */ + 0, /* INVADDRSPEC */ + 78, /* SOCKPARMREQ */ + 0, /* IPADDRREQ */ + 80, /* SOCKWAIT */ + 81, /* SOCKACPT */ + 80, /* SOCKINIT */ + 81, /* OPENCONN */ + 0, /* DEVNOTIMP */ + 0, /* JNLEXTR */ + 0, /* DBREMOTE */ + 0, /* JNLREQUIRED */ + 0, /* TPMIXUP */ + 0, /* HTOFLOW */ + 72, /* RMNOBIGRECORD */ + 0, /* DBBMSIZE */ + 0, /* DBBMBARE */ + 0, /* DBBMINV */ + 0, /* DBBMMSTR */ + 0, /* DBROOTBURN */ + 0, /* REPLSTATEERR */ + 0, /* VMSMEMORY */ + 0, /* DBDIRTSUBSC */ + 0, /* TIMEROVFL */ + 0, /* GTMASSERT */ + 0, /* DBFHEADERR4 */ + 0, /* DBADDRANGE */ + 0, /* DBQUELINK */ + 0, /* DBCRERR */ + 0, /* MUSTANDALONE */ + 0, /* MUNOACTION */ + 0, /* RMBIGSHARE */ + 0, /* TPRESTART */ + 0, /* SOCKWRITE */ + 0, /* DBCNTRLERR */ + 0, /* NOTERMENV */ + 0, /* NOTERMENTRY */ + 0, /* NOTERMINFODB */ + 0, /* INVACCMETHOD */ + 0, /* JNLOPNERR */ + 0, /* JNLRECTYPE */ + 0, /* JNLTRANSGTR */ + 0, /* JNLTRANSLSS */ + 0, /* JNLWRERR */ + 0, /* FILEIDMATCH */ + 0, /* EXTSRCLIN */ + 0, /* EXTSRCLOC */ + 0, /* BIGNOACL */ + 0, /* ERRCALL */ + 0, /* ZCCTENV */ + 0, /* ZCCTOPN */ + 0, /* ZCCTNULLF */ + 0, /* ZCUNAVAIL */ + 0, /* ZCENTNAME */ + 0, /* ZCCOLON */ + 0, /* ZCRTNTYP */ + 0, /* ZCRCALLNAME */ + 0, /* ZCRPARMNAME */ + 0, /* ZCUNTYPE */ + 0, /* ZCMLTSTATUS */ + 0, /* ZCSTATUSRET */ + 0, /* ZCMAXPARAM */ + 0, /* ZCCSQRBR */ + 0, /* ZCPREALLNUMEX */ + 0, /* ZCPREALLVALPAR */ + 0, /* VERMISMATCH */ + 0, /* JNLCNTRL */ + 0, /* TRIGNAMBAD */ + 0, /* BUFRDTIMEOUT */ + 0, /* INVALIDRIP */ + 0, /* BLKSIZ512 */ + 0, /* MUTEXERR */ + 0, /* JNLVSIZE */ + 0, /* MUTEXLCKALERT */ + 0, /* MUTEXFRCDTERM */ + 0, /* GTMSECSHR */ + 0, /* GTMSECSHRSRVFID */ + 0, /* GTMSECSHRSRVFIL */ + 0, /* SOCKACTNA */ + 0, /* PROTNOTSUP */ + 0, /* DELIMSIZNA */ + 0, /* INVCTLMNE */ + 0, /* SOCKLISTEN */ + 0, /* LQLENGTHNA */ + 0, /* ADDRTOOLONG */ + 76, /* UNUSEDMSG760 */ + 0, /* CPBEYALLOC */ + 0, /* DBRDONLY */ + 0, /* DUPTN */ + 0, /* TRESTLOC */ + 0, /* REPLPOOLINST */ + 0, /* ZCVECTORINDX */ + 0, /* REPLNOTON */ + 0, /* JNLMOVED */ + 0, /* EXTRFMT */ + 0, /* CALLERID */ + 0, /* KRNLKILL */ + 0, /* MEMORYRECURSIVE */ + 0, /* FREEZEID */ + 0, /* BLKWRITERR */ + 0, /* STOPTIMEOUT */ + 0, /* TRIGMODINTP */ + 0, /* BCKUPBUFLUSH */ + 0, /* NOFORKCORE */ + 0, /* JNLREAD */ + 0, /* JNLMINALIGN */ + 0, /* JNLDSKALIGN */ + 0, /* JNLPOOLSETUP */ + 0, /* JNLSTATEOFF */ + 0, /* RECVPOOLSETUP */ + 0, /* REPLCOMM */ + 0, /* NOREPLCTDREG */ + 0, /* REPLINFO */ + 0, /* REPLWARN */ + 0, /* REPLERR */ + 0, /* JNLNMBKNOTPRCD */ + 0, /* REPLFILIOERR */ + 0, /* REPLBRKNTRANS */ + 0, /* TTWIDTHTOOBIG */ + 0, /* REPLLOGOPN */ + 0, /* REPLFILTER */ + 0, /* GBLMODFAIL */ + 0, /* TTLENGTHTOOBIG */ + 0, /* TPTIMEOUT */ + 0, /* DEFEREVENT */ + 0, /* JNLFILNOTCHG */ + 0, /* EVENTLOGERR */ + 0, /* UPDATEFILEOPEN */ + 0, /* JNLBADRECFMT */ + 0, /* NULLCOLLDIFF */ + 0, /* MUKILLIP */ + 0, /* JNLRDONLY */ + 0, /* ANCOMPTINC */ + 0, /* ABNCOMPTINC */ + 0, /* GTMSECSHRLOGF */ + 0, /* SOCKNOTFND */ + 0, /* CURRSOCKOFR */ + 79, /* SOCKETEXIST */ + 76, /* LISTENPASSBND */ + 0, /* DBCLNUPINFO */ + 0, /* MUNODWNGRD */ + 0, /* REPLTRANS2BIG */ + 0, /* RDFLTOOLONG */ + 0, /* MUNOFINISH */ + 0, /* DBFILEXT */ + 0, /* JNLFSYNCERR */ + 0, /* FSYNCTIMOUT */ + 0, /* ZCPREALLVALINV */ + 0, /* NEWJNLFILECREAT */ + 0, /* DSKSPACEFLOW */ + 0, /* GVINCRFAIL */ + 0, /* ISOLATIONSTSCHN */ + 0, /* REPLGBL2LONG */ + 0, /* TRACEON */ + 0, /* TOOMANYCLIENTS */ + 0, /* NOEXCLUDE */ + 0, /* GVINCRISOLATION */ + 0, /* EXCLUDEREORG */ + 0, /* REORGINC */ + 0, /* ASC2EBCDICCONV */ + 0, /* GTMSECSHRSTART */ + 0, /* DBVERPERFWARN1 */ + 0, /* FILEIDGBLSEC */ + 0, /* GBLSECNOTGDS */ + 0, /* BADGBLSECVER */ + 0, /* RECSIZENOTEVEN */ + 0, /* BUFFLUFAILED */ + 0, /* MUQUALINCOMP */ + 0, /* DISTPATHMAX */ + 0, /* MAXTRACEHEIGHT */ + 0, /* IMAGENAME */ + 0, /* GTMSECSHRPERM */ + 0, /* GTMDISTUNDEF */ + 0, /* SYSCALL */ + 0, /* MAXGTMPATH */ + 0, /* TROLLBK2DEEP */ + 0, /* INVROLLBKLVL */ + 0, /* OLDBINEXTRACT */ + 0, /* ACOMPTBINC */ + 0, /* NOTREPLICATED */ + 0, /* DBPREMATEOF */ + 0, /* KILLBYSIG */ + 0, /* KILLBYSIGUINFO */ + 0, /* KILLBYSIGSINFO1 */ + 0, /* KILLBYSIGSINFO2 */ + 0, /* SIGILLOPC */ + 0, /* SIGILLOPN */ + 0, /* SIGILLADR */ + 0, /* SIGILLTRP */ + 0, /* SIGPRVOPC */ + 0, /* SIGPRVREG */ + 0, /* SIGCOPROC */ + 0, /* SIGBADSTK */ + 0, /* SIGADRALN */ + 0, /* SIGADRERR */ + 0, /* SIGOBJERR */ + 0, /* SIGINTDIV */ + 0, /* SIGINTOVF */ + 0, /* SIGFLTDIV */ + 0, /* SIGFLTOVF */ + 0, /* SIGFLTUND */ + 0, /* SIGFLTRES */ + 0, /* SIGFLTINV */ + 0, /* SIGMAPERR */ + 0, /* SIGACCERR */ + 0, /* TRNLOGFAIL */ + 0, /* INVDBGLVL */ + 0, /* DBMAXNRSUBS */ + 0, /* GTMSECSHRSCKSEL */ + 0, /* GTMSECSHRTMOUT */ + 0, /* GTMSECSHRRECVF */ + 0, /* GTMSECSHRSENDF */ + 0, /* SIZENOTVALID8 */ + 0, /* GTMSECSHROPCMP */ + 0, /* GTMSECSHRSUIDF */ + 0, /* GTMSECSHRSGIDF */ + 0, /* GTMSECSHRSSIDF */ + 0, /* GTMSECSHRFORKF */ + 0, /* DBFSYNCERR */ + 0, /* SECONDAHEAD */ + 0, /* SCNDDBNOUPD */ + 0, /* MUINFOUINT4 */ + 0, /* NLMISMATCHCALC */ + 0, /* GTMSECSHRLOGSWH */ + 0, /* GTMSECSHRDEFLOG */ + 0, /* DBBADNSUB */ + 0, /* DBBADKYNM */ + 0, /* DBBADPNTR */ + 0, /* DBBNPNTR */ + 0, /* DBINCLVL */ + 0, /* DBBFSTAT */ + 0, /* DBBDBALLOC */ + 0, /* DBMRKFREE */ + 0, /* DBMRKBUSY */ + 0, /* DBBSIZZRO */ + 0, /* DBSZGT64K */ + 0, /* DBNOTMLTP */ + 0, /* DBTNTOOLG */ + 0, /* DBBPLMLT512 */ + 0, /* DBBPLMGT2K */ + 0, /* MUINFOUINT8 */ + 0, /* DBBPLNOT512 */ + 0, /* MUINFOSTR */ + 0, /* DBUNDACCMT */ + 0, /* DBTNNEQ */ + 0, /* MUPGRDSUCC */ + 0, /* DBDSRDFMTCHNG */ + 0, /* DBFGTBC */ + 0, /* DBFSTBC */ + 0, /* DBFSTHEAD */ + 0, /* DBCREINCOMP */ + 0, /* DBFLCORRP */ + 0, /* DBHEADINV */ + 0, /* DBINCRVER */ + 0, /* DBINVGBL */ + 0, /* DBKEYGTIND */ + 0, /* DBGTDBMAX */ + 0, /* DBKGTALLW */ + 0, /* DBLTSIBL */ + 0, /* DBLRCINVSZ */ + 0, /* MUREUPDWNGRDEND */ + 0, /* DBLOCMBINC */ + 0, /* DBLVLINC */ + 0, /* DBMBSIZMX */ + 0, /* DBMBSIZMN */ + 0, /* DBMBTNSIZMX */ + 0, /* DBMBMINCFRE */ + 0, /* DBMBPINCFL */ + 0, /* DBMBPFLDLBM */ + 0, /* DBMBPFLINT */ + 0, /* DBMBPFLDIS */ + 0, /* DBMBPFRDLBM */ + 0, /* DBMBPFRINT */ + 0, /* DBMAXKEYEXC */ + 0, /* DBMXRSEXCMIN */ + 0, /* DBMAXRSEXBL */ + 0, /* DBREADBM */ + 0, /* DBCOMPTOOLRG */ + 0, /* DBVERPERFWARN2 */ + 0, /* DBRBNTOOLRG */ + 0, /* DBRBNLBMN */ + 0, /* DBRBNNEG */ + 0, /* DBRLEVTOOHI */ + 0, /* DBRLEVLTONE */ + 0, /* DBSVBNMIN */ + 0, /* DBTTLBLK0 */ + 0, /* DBNOTDB */ + 0, /* DBTOTBLK */ + 0, /* DBTN */ + 0, /* DBNOREGION */ + 0, /* DBTNRESETINC */ + 0, /* DBTNLTCTN */ + 0, /* DBTNRESET */ + 0, /* MUTEXRSRCCLNUP */ + 0, /* SEMWT2LONG */ + 0, /* REPLINSTOPEN */ + 0, /* REPLINSTCLOSE */ + 0, /* JNLNOTFOUND */ + 0, /* DBCRERR8 */ + 0, /* NUMPROCESSORS */ + 0, /* DBADDRANGE8 */ + 0, /* RNDWNSEMFAIL */ + 0, /* GTMSECSHRSHUTDN */ + 0, /* NOSPACECRE */ + 0, /* LOWSPACECRE */ + 0, /* WAITDSKSPACE */ + 0, /* OUTOFSPACE */ + 0, /* JNLPVTINFO */ + 0, /* NOSPACEEXT */ + 0, /* WCBLOCKED */ + 0, /* REPLJNLCLOSED */ + 0, /* RENAMEFAIL */ + 0, /* FILERENAME */ + 0, /* JNLBUFINFO */ + 0, /* JNLQIOLOCKED */ + 0, /* JNLEOFPREZERO */ + 0, /* TPNOTACID */ + 0, /* JNLSETDATA2LONG */ + 0, /* JNLNEWREC */ + 0, /* REPLFTOKSEM */ + 0, /* GETCWD */ + 0, /* EXTRIOERR */ + 0, /* EXTRCLOSEERR */ + 0, /* TRUNCATE */ + 0, /* REPLEXITERR */ + 0, /* MUDESTROYSUC */ + 0, /* DBRNDWN */ + 0, /* MUDESTROYFAIL */ + 0, /* NOTALLDBOPN */ + 0, /* MUSELFBKUP */ + 0, /* DBDANGER */ + 0, /* TRUNCATEFAIL */ + 0, /* TCGETATTR */ + 0, /* TCSETATTR */ + 0, /* IOWRITERR */ + 0, /* REPLINSTWRITE */ + 0, /* DBBADFREEBLKCTR */ + 0, /* REQ2RESUME */ + 0, /* TIMERHANDLER */ + 0, /* FREEMEMORY */ + 0, /* MUREPLSECDEL */ + 0, /* MUREPLSECNOTDEL */ + 0, /* MUJPOOLRNDWNSUC */ + 0, /* MURPOOLRNDWNSUC */ + 0, /* MUJPOOLRNDWNFL */ + 0, /* MURPOOLRNDWNFL */ + 0, /* MUREPLPOOL */ + 0, /* REPLACCSEM */ + 0, /* JNLFLUSHNOPROG */ + 0, /* REPLINSTCREATE */ + 0, /* SUSPENDING */ + 0, /* SOCKBFNOTEMPTY */ + 0, /* ILLESOCKBFSIZE */ + 0, /* NOSOCKETINDEV */ + 0, /* SETSOCKOPTERR */ + 0, /* GETSOCKOPTERR */ + 0, /* NOSUCHPROC */ + 0, /* DSENOFINISH */ + 0, /* LKENOFINISH */ + 0, /* NOCHLEFT */ + 0, /* MULOGNAMEDEF */ + 0, /* BUFOWNERSTUCK */ + 0, /* ACTIVATEFAIL */ + 0, /* DBRNDWNWRN */ + 0, /* DLLNOOPEN */ + 0, /* DLLNORTN */ + 0, /* DLLNOCLOSE */ + 0, /* FILTERNOTALIVE */ + 0, /* FILTERCOMM */ + 0, /* FILTERBADCONV */ + 0, /* PRIMARYISROOT */ + 0, /* GVQUERYGETFAIL */ + 0, /* DBCREC2BIGINBLK */ + 19, /* MERGEDESC */ + 0, /* MERGEINCOMPL */ + 0, /* DBNAMEMISMATCH */ + 0, /* DBIDMISMATCH */ + 0, /* DEVOPENFAIL */ + 0, /* IPCNOTDEL */ + 0, /* XCVOIDRET */ + 0, /* MURAIMGFAIL */ + 0, /* REPLINSTUNDEF */ + 0, /* REPLINSTACC */ + 0, /* NOJNLPOOL */ + 0, /* NORECVPOOL */ + 0, /* FTOKERR */ + 0, /* REPLREQRUNDOWN */ + 0, /* BLKCNTEDITFAIL */ + 0, /* SEMREMOVED */ + 0, /* REPLINSTFMT */ + 0, /* SEMKEYINUSE */ + 0, /* XTRNTRANSERR */ + 0, /* XTRNTRANSDLL */ + 0, /* XTRNRETVAL */ + 0, /* XTRNRETSTR */ + 101, /* INVECODEVAL */ + 0, /* SETECODE */ + 0, /* INVSTACODE */ + 0, /* REPEATERROR */ + 90, /* NOCANONICNAME */ + 0, /* NOSUBSCRIPT */ + 0, /* SYSTEMVALUE */ + 0, /* SIZENOTVALID4 */ + 0, /* STRNOTVALID */ + 0, /* RECNOCREJNL */ + 0, /* ERRWETRAP */ + 0, /* TRACINGON */ + 0, /* CITABENV */ + 0, /* CITABOPN */ + 0, /* CIENTNAME */ + 0, /* CIRTNTYP */ + 0, /* CIRCALLNAME */ + 0, /* CIRPARMNAME */ + 0, /* CIDIRECTIVE */ + 0, /* CIPARTYPE */ + 0, /* CIUNTYPE */ + 0, /* CINOENTRY */ + 0, /* JNLINVSWITCHLMT */ + 0, /* SETZDIR */ + 40, /* JOBACTREF */ + 0, /* ECLOSTMID */ + 0, /* ZFF2MANY */ + 0, /* JNLFSYNCLSTCK */ + 0, /* DELIMWIDTH */ + 0, /* DBBMLCORRUPT */ + 0, /* DLCKAVOIDANCE */ + 0, /* WRITERSTUCK */ + 0, /* PATNOTFOUND */ + 0, /* INVZDIRFORM */ + 0, /* ZDIROUTOFSYNC */ + 0, /* GBLNOEXIST */ + 0, /* MAXBTLEVEL */ + 0, /* JNLSTRESTFL */ + 0, /* JNLALIGNSZCHG */ + 0, /* MAXTRACELEVEL */ + 0, /* GVFAILCORE */ + 0, /* DBCDBNOCERTIFY */ + 0, /* DBFRZRESETSUC */ + 0, /* JNLFILEXTERR */ + 0, /* JOBEXAMDONE */ + 0, /* JOBEXAMFAIL */ + 0, /* JOBINTRRQST */ + 0, /* ERRWZINTR */ + 0, /* CLIERR */ + 0, /* REPLNOBEFORE */ + 0, /* REPLJNLCNFLCT */ + 0, /* JNLDISABLE */ + 0, /* FILEEXISTS */ + 0, /* JNLSTATE */ + 0, /* REPLSTATE */ + 0, /* JNLCREATE */ + 0, /* JNLNOCREATE */ + 0, /* JNLFNF */ + 0, /* PREVJNLLINKCUT */ + 0, /* PREVJNLLINKSET */ + 0, /* FILENAMETOOLONG */ + 0, /* UNUSEDMSG1131 */ + 0, /* JNLTRANS2BIG */ + 0, /* JNLSWITCHTOOSM */ + 0, /* JNLSWITCHSZCHG */ + 0, /* NOTRNDMACC */ + 0, /* TMPFILENOCRE */ + 0, /* SHRMEMEXHAUSTED */ + 0, /* JNLSENDOPER */ + 0, /* DDPSUBSNUL */ + 0, /* DDPNOCONNECT */ + 0, /* DDPCONGEST */ + 0, /* DDPSHUTDOWN */ + 0, /* DDPTOOMANYPROCS */ + 0, /* DDPBADRESPONSE */ + 0, /* DDPINVCKT */ + 0, /* DDPVOLSETCONFIG */ + 0, /* DDPCONFGOOD */ + 0, /* DDPCONFIGNORE */ + 0, /* DDPCONFINCOMPL */ + 0, /* DDPCONFBADVOL */ + 0, /* DDPCONFBADUCI */ + 0, /* DDPCONFBADGLD */ + 0, /* DDPRECSIZNOTNUM */ + 0, /* DDPOUTMSG2BIG */ + 0, /* DDPNOSERVER */ + 0, /* MUTEXRELEASED */ + 0, /* JNLCRESTATUS */ + 0, /* ZBREAKFAIL */ + 0, /* DLLVERSION */ + 0, /* INVZROENT */ + 0, /* DDPLOGERR */ + 0, /* GETSOCKNAMERR */ + 0, /* INVGTMEXIT */ + 0, /* CIMAXPARAM */ + 0, /* CITPNESTED */ + 0, /* CIMAXLEVELS */ + 0, /* JOBINTRRETHROW */ + 0, /* STARFILE */ + 0, /* NOSTARFILE */ + 0, /* MUJNLSTAT */ + 0, /* JNLTPNEST */ + 0, /* REPLOFFJNLON */ + 0, /* FILEDELFAIL */ + 0, /* INVQUALTIME */ + 0, /* NOTPOSITIVE */ + 0, /* INVREDIRQUAL */ + 0, /* INVERRORLIM */ + 0, /* INVIDQUAL */ + 0, /* INVTRNSQUAL */ + 0, /* JNLNOBIJBACK */ + 0, /* SETREG2RESYNC */ + 0, /* JNLALIGNTOOSM */ + 0, /* JNLFILEOPNERR */ + 0, /* JNLFILECLOSERR */ + 0, /* REPLSTATEOFF */ + 0, /* MUJNLPREVGEN */ + 0, /* MUPJNLINTERRUPT */ + 0, /* ROLLBKINTERRUPT */ + 0, /* RLBKJNSEQ */ + 0, /* REPLRECFMT */ + 0, /* PRIMARYNOTROOT */ + 0, /* DBFRZRESETFL */ + 0, /* JNLCYCLE */ + 0, /* JNLPREVRECOV */ + 0, /* RESOLVESEQNO */ + 0, /* BOVTNGTEOVTN */ + 0, /* BOVTMGTEOVTM */ + 0, /* BEGSEQGTENDSEQ */ + 0, /* DBADDRALIGN */ + 0, /* DBWCVERIFYSTART */ + 0, /* DBWCVERIFYEND */ + 0, /* MUPIPSIG */ + 0, /* HTSHRINKFAIL */ + 0, /* STPEXPFAIL */ + 0, /* DBBTUWRNG */ + 0, /* DBBTUFIXED */ + 0, /* DBMAXREC2BIG */ + 0, /* DBCSCNNOTCMPLT */ + 0, /* DBCBADFILE */ + 0, /* DBCNOEXTND */ + 0, /* DBCINTEGERR */ + 0, /* DBMINRESBYTES */ + 0, /* DBCNOTSAMEDB */ + 0, /* DBCDBCERTIFIED */ + 0, /* DBCMODBLK2BIG */ + 0, /* DBCREC2BIG */ + 0, /* DBCCMDFAIL */ + 0, /* DBCKILLIP */ + 0, /* DBCNOFINISH */ + 0, /* DYNUPGRDFAIL */ + 0, /* MMNODYNDWNGRD */ + 0, /* MMNODYNUPGRD */ + 0, /* MUDWNGRDNRDY */ + 0, /* MUDWNGRDTN */ + 0, /* MUDWNGRDNOTPOS */ + 0, /* MUUPGRDNRDY */ + 0, /* TNWARN */ + 0, /* TNTOOLARGE */ + 0, /* SHMPLRECOV */ + 0, /* MUNOSTRMBKUP */ + 0, /* EPOCHTNHI */ + 0, /* CHNGTPRSLVTM */ + 0, /* JNLUNXPCTERR */ + 0, /* OMISERVHANG */ + 0, /* RSVDBYTE2HIGH */ + 0, /* BKUPTMPFILOPEN */ + 0, /* BKUPTMPFILWRITE */ + 0, /* VMSMEMORY2 */ + 0, /* LOADBGSZ2 */ + 0, /* LOADEDSZ2 */ + 0, /* REPLINSTMISMTCH */ + 0, /* REPLINSTREAD */ + 0, /* REPLINSTDBMATCH */ + 0, /* REPLINSTNMSAME */ + 0, /* REPLINSTNMUNDEF */ + 0, /* REPLINSTNMLEN */ + 0, /* REPLINSTNOHIST */ + 0, /* REPLINSTSECLEN */ + 0, /* REPLINSTSECMTCH */ + 0, /* REPLINSTSECNONE */ + 0, /* REPLINSTSECUNDF */ + 0, /* REPLINSTSEQORD */ + 0, /* REPLINSTSTNDALN */ + 0, /* REPLREQROLLBACK */ + 0, /* UNUSEDMSG1255 */ + 0, /* UNUSEDMSG1256 */ + 0, /* SRCSRVEXISTS */ + 0, /* SRCSRVNOTEXIST */ + 0, /* SRCSRVTOOMANY */ + 0, /* JNLPOOLBADSLOT */ + 0, /* NOENDIANCVT */ + 0, /* ENDIANCVT */ + 0, /* DBENDIAN */ + 0, /* BADCHSET */ + 0, /* BADCASECODE */ + 0, /* BADCHAR */ + 0, /* DLRCILLEGAL */ + 0, /* NONUTF8LOCALE */ + 0, /* INVDLRCVAL */ + 0, /* DBMISALIGN */ + 0, /* LOADINVCHSET */ + 0, /* DLLCHSETM */ + 0, /* DLLCHSETUTF8 */ + 0, /* BOMMISMATCH */ + 0, /* WIDTHTOOSMALL */ + 80, /* SOCKMAX */ + 0, /* PADCHARINVALID */ + 0, /* ZCNOPREALLOUTPAR */ + 0, /* SVNEXPECTED */ + 0, /* SVNONEW */ + 0, /* ZINTDIRECT */ + 0, /* ZINTRECURSEIO */ + 0, /* MRTMAXEXCEEDED */ + 0, /* JNLCLOSED */ + 0, /* RLBKNOBIMG */ + 0, /* RLBKJNLNOBIMG */ + 0, /* RLBKLOSTTNONLY */ + 0, /* KILLBYSIGSINFO3 */ + 0, /* GTMSECSHRTMPPATH */ + 0, /* GTMERREXIT */ + 0, /* INVMEMRESRV */ + 0, /* OPCOMMISSED */ + 0, /* COMMITWAITSTUCK */ + 0, /* COMMITWAITPID */ + 0, /* UPDREPLSTATEOFF */ + 0, /* LITNONGRAPH */ + 0, /* DBFHEADERR8 */ + 0, /* MMBEFOREJNL */ + 0, /* MMNOBFORRPL */ + 0, /* KILLABANDONED */ + 0, /* BACKUPKILLIP */ + 0, /* LOGTOOLONG */ + 0, /* NOALIASLIST */ + 0, /* ALIASEXPECTED */ + 0, /* VIEWLVN */ + 0, /* DZWRNOPAREN */ + 0, /* DZWRNOALIAS */ + 0, /* FREEZEERR */ + 0, /* CLOSEFAIL */ + 0, /* CRYPTINIT */ + 0, /* CRYPTOPFAILED */ + 0, /* CRYPTDLNOOPEN */ + 0, /* CRYPTNOV4 */ + 0, /* CRYPTNOMM */ + 0, /* CRYPTJNLWRONGHASH */ + 0, /* CRYPTKEYFETCHFAILED */ + 0, /* CRYPTKEYFETCHFAILEDNF */ + 0, /* CRYPTHASHGENFAILED */ + 0, /* CRYPTNOPSWDINTP */ + 0, /* BADTAG */ + 0, /* ICUVERLT36 */ + 0, /* ICUSYMNOTFOUND */ + 0, /* STUCKACT */ + 0, /* CALLINAFTERXIT */ + 0, /* LOCKSPACEFULL */ + 0, /* IOERROR */ + 0, /* MAXSSREACHED */ + 0, /* SNAPSHOTNOV4 */ + 0, /* SSV4NOALLOW */ + 0, /* SSTMPDIRSTAT */ + 0, /* SSTMPCREATE */ + 0, /* JNLFILEDUP */ + 0, /* SSPREMATEOF */ + 0, /* SSFILOPERR */ + 0, /* REGSSFAIL */ + 0, /* SSSHMCLNUPFAIL */ + 0, /* SSFILCLNUPFAIL */ + 0, /* SETINTRIGONLY */ + 0, /* MAXTRIGNEST */ + 0, /* TRIGCOMPFAIL */ + 0, /* NOZTRAPINTRIG */ + 0, /* ZTWORMHOLE2BIG */ + 0, /* JNLENDIANLITTLE */ + 0, /* JNLENDIANBIG */ + 0, /* TRIGINVCHSET */ + 0, /* TRIGREPLSTATE */ + 0, /* GVDATAGETFAIL */ + 0, /* TRIG2NOTRIG */ + 0, /* ZGOTOINVLVL */ + 0, /* TRIGTCOMMIT */ + 0, /* TRIGTLVLCHNG */ + 0, /* TRIGNAMEUNIQ */ + 0, /* ZTRIGINVACT */ + 0, /* UNUSEDMSG1354 */ + 0, /* QUITALSINV */ + 0, /* PROCTERM */ + 0, /* SRCLNNTDSP */ + 0, /* ARROWNTDSP */ + 0, /* TRIGDEFBAD */ + 0, /* TRIGSUBSCRANGE */ + 0, /* TRIGDATAIGNORE */ + 0, /* TRIGIS */ + 0, /* TCOMMITDISALLOW */ + 0, /* SSATTACHSHM */ + 0, /* TRIGDEFNOSYNC */ + 0, /* TRESTMAX */ + 0, /* TPLOCKRESTMAX */ + 0, /* GBLEXPECTED */ + 0, /* GVZTRIGFAIL */ + 0, /* UNUSEDMSG1370 */ + 0, /* SETINSETTRIGONLY */ + 0, /* DZTRIGINTRIG */ + 0, /* SECNODZTRIGINTP */ + 0, /* BOOLSIDEFFECT */ + 0, /* DBBADUPGRDSTATE */ + 0, /* WRITEWAITPID */ + 0, /* ZGOCALLOUTIN */ + 0, /* REPLNOXENDIAN */ + 0, /* REPLXENDIANFAIL */ + 0, /* ZGOTOINVLVL2 */ + 0, /* GTMSECSHRCHDIRF */ + 0, /* UNUSEDMSG1382 */ + 0, /* ZCCLNUPRTNMISNG */ + 0, /* ZCINVALIDKEYWORD */ + 0, /* REPLNOMULTILINETRG */ + 0, /* DBSHMNAMEDIFF */ + 0, /* SHMREMOVED */ + 0, /* DEVICEWRITEONLY */ + 0, /* ICUERROR */ + 0, /* ZDATEBADDATE */ + 0, /* ZDATEBADTIME */ + 0, /* COREINPROGRESS */ + 0, /* MAXSEMGETRETRY */ + 0, /* JNLNOREPL */ + 0, /* JNLRECINCMPL */ + 0, /* JNLALLOCGROW */ + 0, /* INVTRCGRP */ + 0, /* MUINFOUINT6 */ + 0, /* NOLOCKMATCH */ + 0, /* BADREGION */ + 0, /* LOCKSPACEUSE */ + 0, /* JIUNHNDINT */ + 0, /* GTMASSERT2 */ + 0, /* ZTRIGNOTRW */ + 0, /* TRIGMODREGNOTRW */ + 0, /* INSNOTJOINED */ + 0, /* INSROLECHANGE */ + 0, /* INSUNKNOWN */ + 0, /* NORESYNCSUPPLONLY */ + 0, /* NORESYNCUPDATERONLY */ + 0, /* NOSUPPLSUPPL */ + 0, /* REPL2OLD */ + 0, /* RCVR2MANY */ + 0, /* RLBKCONFIGBNDRY */ + 0, /* SECNOTSUPPLEMENTARY */ + 0, /* SUPRCVRNEEDSSUPSRC */ + 0, /* SYNCTOSAMETYPE */ + 0, /* TARGINSRUNNING */ + 0, /* UPDSYNC2MTINS */ + 0, /* UPDSYNCINSTFILE */ + 0, /* REUSEINSTNAME */ + 0, /* RCVRMANYSTRMS */ + 0, /* RSYNCSTRMVAL */ + 0, /* RLBKSTRMSEQ */ + 0, /* RESOLVESEQSTRM */ + 0, /* REPLINSTDBSTRM */ + 0, /* RESUMESTRMNUM */ + 0, /* ORLBKSTART */ + 0, /* ORLBKTERMNTD */ + 0, /* ORLBKCMPLT */ + 0, /* ORLBKNOSTP */ + 0, /* ORLBKFRZPROG */ + 0, /* ORLBKFRZOVER */ + 0, /* ORLBKNOV4BLK */ + 0, /* DBROLLEDBACK */ + 0, /* DSEWCREINIT */ + 0, /* RNDWNSKIPCNT */ + 0, /* REPLONLNRLBK */ + 0, /* SRVLCKWT2LNG */ + 0, /* IGNBMPMRKFREE */ + 0, /* PERMGENFAIL */ + 0, /* PERMGENDIAG */ + 0, /* MUTRUNC1ATIME */ + 0, /* MUTRUNCBACKINPROG */ + 0, /* MUTRUNCERROR */ + 0, /* MUTRUNCFAIL */ + 0, /* MUTRUNCNOSPACE */ + 0, /* MUTRUNCNOTBG */ + 0, /* MUTRUNCNOV4 */ + 0, /* MUTRUNCPERCENT */ + 0, /* MUTRUNCSSINPROG */ + 0, /* MUTRUNCSUCCESS */ + 0, /* RSYNCSTRMSUPPLONLY */ + 0, /* STRMNUMIS */ + 0, /* STRMNUMMISMTCH1 */ + 0, /* STRMNUMMISMTCH2 */ + 0, /* STRMSEQMISMTCH */ + 0, /* LOCKSPACEINFO */ + 0, /* JRTNULLFAIL */ + }; diff --git a/fis-gtm-src-extras/pro/obj/merrors_ctl.c b/fis-gtm-src-extras/pro/obj/merrors_ctl.c new file mode 100644 index 0000000..8db8b9d --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/merrors_ctl.c @@ -0,0 +1,2587 @@ +/**************************************************************** + * * + * Copyright 2001,2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#include "mdef.h" +#include "error.h" + +LITDEF err_msg merrors[] = { + "ACK", "", 0, + "BREAKZST", "Break instruction encountered during ZSTEP action", 0, + "BADACCMTHD", "Invalid access method was specified, file not created", 0, + "BADJPIPARAM", "!AD is not a legal parameter for $ZGETJPI()", 2, + "BADSYIPARAM", "!AD is not a legal parameter for $ZGETSYI()", 2, + "BITMAPSBAD", "Database bit maps are incorrect", 0, + "BREAK", "Break instruction encountered", 0, + "BREAKDEA", "Break instruction encountered during Device error action", 0, + "BREAKZBA", "Break instruction encountered during ZBREAK action", 0, + "STATCNT", "!AD:!_ Key cnt: !UL max subsc len: !UL max data len: !UL", 5, + "BTFAIL", "The database block table is corrupt; error type !UL", 1, + "MUPRECFLLCK", "Database file !AD is locked by MUPIP RECOVER. Could not secure access.", 2, + "CMD", "Command expected but not found", 0, + "COLON", "Colon (:) expected in this context", 0, + "COMMA", "Comma expected in this context", 0, + "COMMAORRPAREXP", "Comma or right parenthesis expected but not found", 0, + "COMMENT", "Comment line. Placed zbreak at next executable line.", 0, + "CTRAP", "Character trap $C(!UL) encountered", 1, + "CTRLC", "CTRL_C encountered", 0, + "CTRLY", "User interrupt encountered", 0, + "DBCCERR", "Interlock instruction failure in critical mechanism for region !AD", 2, + "DUPTOKEN", "Token 0x!16@XQ is duplicate in the journal file !AD for database !AD", 5, + "DBJNLNOTMATCH", "Database !AD points to journal file name !AD but the journal file points to database file !AD", 6, + "DBFILERR", "Error with database file !AD", 2, + "DBNOTGDS", "!AD - Unrecognized database file format", 2, + "DBOPNERR", "Error opening database file !AD", 2, + "DBRDERR", "Cannot read database file !AD after opening", 2, + "CCEDUMPNOW", "", 0, + "DEVPARINAP", "Device parameter inappropriate to this command", 0, + "RECORDSTAT", "!AD:!_ Key cnt: !UL max subsc len: !UL max data len: !UL max rec len: !UL", 6, + "NOTGBL", "!_!AD!/!_!_!_\"^\" Expected", 2, + "DEVPARPROT", "The protection specification is invalid", 0, + "PREMATEOF", "Premature end of file detected", 0, + "GVINVALID", "!_!AD!/!_!_!_Invalid global name", 2, + "DEVPARTOOBIG", "String deviceparameter exceeds 255 character limit", 0, + "DEVPARUNK", "Deviceparameter unknown", 0, + "DEVPARVALREQ", "A value is required for this device parameter", 0, + "DEVPARMNEG", "Deviceparameter must be a positive value", 0, + "DSEBLKRDFAIL", "Failed attempt to read block", 0, + "DSEFAIL", "DSE failed. Failure code: !AD.", 2, + "NOTALLREPLON", "Replication state is not on for all regions", 0, + "BADLKIPARAM", "!AD is not a legal parameter for $ZGETLKI()", 2, + "JNLREADBOF", "Beginning of journal file encountered for !AD", 2, + "DVIKEYBAD", "$ZGETDVI(\"!AD\",\"!AD\") contains an illegal keyword", 4, + "ENQ", "", 0, + "EQUAL", "Equal sign expected but not found", 0, + "ERRORSUMMARY", "Errors occurred during compilation", 0, + "ERRWEXC", "Error while processing exception string", 0, + "ERRWIOEXC", "Error while processing I/O exception string", 0, + "ERRWZBRK", "Error while processing ZBREAK action string", 0, + "ERRWZTRAP", "Error while processing $ZTRAP", 0, + "NUMUNXEOR", "!_!AD!/!_!_!_unexpected end of record in numeric subscript", 2, + "EXPR", "Expression expected but not found", 0, + "STRUNXEOR", "!_!AD!/!_!_!_unexpected end of record in string subscript", 2, + "JNLEXTEND", "Journal file extension error. Journal file !AD closed.", 2, + "FCHARMAXARGS", "Argument count of $CHAR function exceeded the maximum of 255", 0, + "FCNSVNEXPECTED", "Function or special variable expected in this context", 0, + "FNARGINC", "Format specifiers to $FNUMBER are incompatible: \"!AD\"", 2, + "JNLACCESS", "Error accessing journal file !AD", 2, + "TRANSNOSTART", "ZTCOMMIT(s) issued without corresponding ZTSTART(s)", 0, + "FNUMARG", "$FNUMBER format specifier \"!AD\" contains an illegal character: \"!AD\"", 4, + "FOROFLOW", "FOR commands nested more than !UL deep on a line", 1, + "YDIRTSZ", "Size of YDIRT data too large", 0, + "JNLSUCCESS", "!AD successful", 2, + "GBLNAME", "Either an identifier or a left parenthesis is expected after a ^ in this context", 0, + "GBLOFLOW", "Database segment is full", 0, + "CORRUPT", "Corrupt input in Blk # !UL, Key #!UL; resuming with next global block", 2, + "GTMCHECK", "Internal GT.M error--Report to your GT.M Support Channel", 0, + "GVDATAFAIL", "Global variable $DATA function failed. Failure code: !AD.", 2, + "EORNOTFND", "!_!AD!/!_!_!_End of record not found", 2, + "GVGETFAIL", "Global variable retrieval failed. Failure code: !AD.", 2, + "GVIS", "!_!_Global variable: !AD", 2, + "GVKILLFAIL", "Global variable kill failed. Failure code: !AD.", 2, + "GVNAKED", "Illegal naked global reference", 0, + "GVNEXTARG", "Argument to global variable $NEXT must be subscripted", 0, + "GVORDERFAIL", "Global variable $ORDER or $NEXT function failed. Failure code: !AD.", 2, + "GVPUTFAIL", "Global variable put failed. Failure code: !AD.", 2, + "PATTABSYNTAX", "Error in !AD at line !UL", 3, + "GVSUBOFLOW", "Maximum combined length of subscripts exceeded", 0, + "GVUNDEF", "Global variable undefined: !AD", 2, + "TRANSNEST", "Maximum transaction nesting levels exceeded", 0, + "INDEXTRACHARS", "Indirection string contains extra trailing characters", 0, + "INDMAXNEST", "Maximum nesting of indirection expressions exceeded", 0, + "INDRMAXLEN", "Maximum length !UL of an indirection argument was exceeded", 1, + "INSFFBCNT", "Insufficient byte count quota left for requested operation", 0, + "INTEGERRS", "Database integrity errors", 0, + "INVCMD", "Invalid command keyword encountered", 0, + "INVFCN", "Invalid function name", 0, + "INVOBJ", "Cannot ZLINK object file due to unexpected format", 0, + "INVSVN", "Invalid special variable name", 0, + "IOEOF", "Attempt to read past an end-of-file", 0, + "IONOTOPEN", "Attempt to USE an I/O device which has not been opened", 0, + "MUPIPINFO", "!AD", 2, + "IVTIME", "Invalid time specification: !AD", 2, + "JOBFAIL", "JOB command failure", 0, + "JOBLABOFF", "Label and offset not found in created process", 0, + "JOBPARNOVAL", "This job parameter cannot take a value", 0, + "JOBPARNUM", "The value of this job parameter must be an integer", 0, + "JOBPARSTR", "The value of this job parameter must be a string", 0, + "JOBPARUNK", "Job parameter unknown", 0, + "JOBPARVALREQ", "A value is required for this job parameter", 0, + "JUSTFRACT", "Fraction specifier to $JUSTIFY cannot be negative", 0, + "KEY2BIG", "Key size (!UL) is greater than maximum (!UL) for region: !AD", 4, + "LABELEXPECTED", "Label expected in this context", 0, + "LABELMISSING", "Label referenced but not defined: !AD", 2, + "LABELUNKNOWN", "Label referenced but not defined", 0, + "DIVZERO", "Attempt to divide by zero", 0, + "LKNAMEXPECTED", "An identifier is expected after a ^ in this context", 0, + "JNLRDERR", "Error reading journal file !AD. Unable to initialize.", 2, + "LOADRUNNING", "Cannot ZLINK an active routine !AD", 2, + "LPARENMISSING", "Left parenthesis expected", 0, + "LSEXPECTED", "A line separator is expected here", 0, + "LVORDERARG", "Argument to local variable $NEXT must be subscripted", 0, + "MAXFORARGS", "Maximum number of arguments to a single FOR command exceeded", 0, + "TRANSMINUS", "Negative numbers not allowed with ZTCOMMIT", 0, + "MAXNRSUBSCRIPTS", "Maximum number of subscripts exceeded", 0, + "MAXSTRLEN", "Maximum string length exceeded", 0, + "JNLDBERR", "Journal file !AD does not correspond to database file !AD", 4, + "JNLFILOPN", "Error opening journal file !AD for database file !AD", 4, + "MBXRDONLY", "Mailbox is read only, cannot write to it", 0, + "JNLINVALID", "!AD is not a valid journal file !/ for database file: !AD", 4, + "MBXWRTONLY", "Mailbox is write only, cannot read from it", 0, + "MEMORY", "Central memory exhausted during request for !UJ bytes from 0x!XJ", 2, + "MTBLKTOOBIG", "Magtape BLOCK_SIZE exceeds maximum size allowed", 0, + "MTBLKTOOSM", "Magtape BLOCK_SIZE is less than !UL bytes", 1, + "MTFIXRECSZ", "BLOCK_SIZE !UL must be multiple of fixed record size !UL", 2, + "MTIS", "Magnetic tape: !AD", 2, + "MTRDBADBLK", "Block read too small, contained only !UL bytes, block size = !UL", 2, + "MTRDONLY", "Cannot write to a READONLY magtape", 0, + "MTRDTHENWRT", "Attempt to read after a write to a magtape", 0, + "MTRECGTRBLK", "Magtape record size cannot exceed block size", 0, + "MTRECTOOBIG", "Magtape record size exceeds maximum allowed", 0, + "MTRECTOOSM", "Magtape record size is too small for record type", 0, + "JNLTMQUAL3", "Time qualifier BEFORE_TIME=\"!AZ\" is less than the journal file(s) minimum timestamp=\"!AZ\"", 2, + "MULTLAB", "This label has been previously defined", 0, + "BLKCNT", "Last LOAD Block/RMS Record number: !UL", 1, + "CCEDUMPOFF", "", 0, + "NOPLACE", "Line specified in a ZBREAK cannot be found", 0, + "JNLCLOSE", "Error closing journal file !AD", 2, + "NOTPRINCIO", "Output currently directed to device !AD", 2, + "NOTTOEOFONPUT", "Not positioned to EOF on write (sequential organization only)", 0, + "NOZBRK", "No zbreak at that location", 0, + "NULSUBSC", "Null subscripts are not allowed for region: !AD", 2, + "NUMOFLOW", "Numeric overflow", 0, + "PARFILSPC", "Parameter: !AD file specification: !AD", 4, + "PATCLASS", "Illegal character class for pattern code", 0, + "PATCODE", "Illegal syntax for pattern", 0, + "PATLIT", "Illegal character or unbalanced quotes for pattern literal", 0, + "PATMAXLEN", "Pattern code exceeds maximum length", 0, + "LPARENREQD", "!_!AD!/!_!_!_Left parenthesis expected", 2, + "PATUPPERLIM", "Pattern code upper limit is less than lower limit", 0, + "PCONDEXPECTED", "Post-conditional expression expected but not found", 0, + "PRCNAMLEN", "Process name !AD length is greater than !SL", 3, + "RANDARGNEG", "Random number generator argument must be greater than or equal to one", 0, + "DBPRIVERR", "No privilege for attempted update operation for file: !AD", 2, + "REC2BIG", "Record size (!UL) is greater than maximum (!UL) for region: !AD", 4, + "RHMISSING", "Right-hand side of expression expected", 0, + "DEVICEREADONLY", "Cannot write to read-only device", 0, + "COLLDATAEXISTS", "Collation type cannot be changed while data exists", 0, + "ROUTINEUNKNOWN", "Routine could not be found", 0, + "RPARENMISSING", "Right parenthesis expected", 0, + "RTNNAME", "Routine name expected here", 0, + "VIEWGVN", "Invalid global key name used with VIEW/$VIEW(): !AD", 2, + "RTSLOC", "!_!_At M source location !AD", 2, + "RWARG", "This is not a legal argument for a READ command", 0, + "RWFORMAT", "A valid format expression (!!, #, or ?expr) expected here", 0, + "JNLWRTDEFER", "Journal write start deferred", 0, + "SELECTFALSE", "No argument to $SELECT was true", 0, + "SPOREOL", "Either a space or an end-of-line was expected but not found", 0, + "SRCLIN", "!_!AD!/!_!AD", 4, + "SRCLOC", "!_!_At column !UL, line !UL, source module !AD", 4, + "SRCLOCUNKNOWN", "!_!_M source location unknown", 0, + "STACKCRIT", "Stack space critical", 0, + "STACKOFLOW", "Stack overflow", 0, + "STACKUNDERFLO", "Stack underflow", 0, + "STRINGOFLOW", "String pool overflow", 0, + "SVNOSET", "Cannot SET this special variable", 0, + "VIEWFN", "View parameter is not valid with $VIEW()", 0, + "TERMASTQUOTA", "Process AST quota exceeded, cannot open terminal", 0, + "TEXTARG", "Invalid argument to $TEXT function", 0, + "TMPSTOREMAX", "Maximum space for temporary values exceeded", 0, + "VIEWCMD", "View parameter is not valid with VIEW command", 0, + "TXTNEGLIN", "A line prior to line number zero was referenced in $TEXT", 0, + "TXTSRCFMT", "$TEXT encountered an invalid source program file format", 0, + "UIDMSG", "Unidentified message received", 0, + "UIDSND", "Unidentified sender PID", 0, + "UNDEF", "Undefined local variable: !AD", 2, + "UNIMPLOP", "Unimplemented construct encountered", 0, + "VAREXPECTED", "Variable expected in this context", 0, + "VARRECBLKSZ", "Blocksize must be at least record size + 4 bytes", 0, + "MAXARGCNT", "Maximum number of arguments !UL exceeded", 1, + "WCFAIL", "The database cache is corrupt", 0, + "VIEWARGCNT", "View parameter !AD has inappropriate number of subparameters", 2, + "XKILLCNTEXC", "Maximum number of arguments (!UL) to exclusive kill exceeded", 1, + "ZATTACHERR", "Error attaching to \"!AD\"", 2, + "ZDATEFMT", "$ZDATE format string contains invalid character", 0, + "ZEDFILSPEC", "Illegal ZEDIT file specification: !AD", 2, + "ZFILENMTOOLONG", "!AD is longer than 255 characters", 2, + "ZFILKEYBAD", "!AD is not a legal keyword for $ZFILE()", 2, + "ZFILNMBAD", "!AD is not a legal file name", 2, + "ZGOTOLTZERO", "Cannot ZGOTO a level less than zero", 0, + "ZGOTOTOOBIG", "Cannot ZGOTO a level greater than present level", 0, + "ZLINKFILE", "Error while zlinking \"!AD\"", 2, + "ZPARSETYPE", "Illegal TYPE argument to $ZPARSE(): !AD", 2, + "ZPARSFLDBAD", "Illegal $ZPARSE() field parameter: !AD", 2, + "ZPIDBADARG", "The tvexpr must be FALSE if last $ZPID() not found", 0, + "ZPRIVARGBAD", "!AD is not a legal privilege for $ZPRIV()", 2, + "ZPRIVSYNTAXERR", "Privilege string cannot end with a comma", 0, + "ZPRTLABNOTFND", "Label not found in routine", 0, + "VIEWAMBIG", "View parameter !AD is ambiguous", 2, + "VIEWNOTFOUND", "View parameter !AD not valid", 2, + "ZSETPRVARGBAD", "!AD is not a legal privilege for $ZSETPRIV()", 2, + "INVSPECREC", "Invalid global modifier record", 0, + "ZSETPRVSYNTAX", "$ZSETPRIV() privileges string cannot end with a comma", 0, + "ZSRCHSTRMCT", "Search stream identifier out of range", 0, + "VERSION", "Version mismatch - This program must be recompiled", 0, + "MUNOTALLSEC", "WARNING: not all global sections accessed were successfully rundown", 0, + "MUSECDEL", "Section !AD deleted", 2, + "MUSECNOTDEL", "Section !AD not deleted", 2, + "RPARENREQD", "!_!AD!/!_!_!_Right parenthesis expected", 2, + "ZGBLDIRACC", "Cannot access global directory !AD!AD!AD.", 6, + "GVNAKEDEXTNM", "Cannot reference different global directory in a naked reference", 0, + "EXTGBLDEL", "Invalid delimiter for extended global syntax", 0, + "DSEWCINITCON", "No action taken, enter YES at CONFIRMATION prompt to initialize global buffers", 0, + "LASTFILCMPLD", "The file currently being compiled is !AD", 2, + "NOEXCNOZTRAP", "Neither an exception nor a Ztrap is specified", 0, + "UNSDCLASS", "Unsupported descriptor class", 0, + "UNSDDTYPE", "Unsupported descriptor data type", 0, + "ZCUNKTYPE", "External call: Unknown argument type", 0, + "ZCUNKMECH", "External call: Unknown parameter-passing mechanism", 0, + "ZCUNKQUAL", "External call: Unknown input qualifier", 0, + "JNLDBTNNOMATCH", "Journal file !AD has !AD transaction number [0x!16@XQ], but database !AD has current transaction number [0x!16@XQ] and journal end transaction number [0x!16@XQ]", 9, + "ZCALLTABLE", "External call Table format error", 0, + "ZCARGMSMTCH", "External call: Actual argument count, !UL, is greater than formal argument count, !UL", 2, + "ZCCONMSMTCH", "External call: Too many input arguments", 0, + "ZCOPT0", "External call: Qualifier OPTIONAL_0 can be used only with mechanisms REFERENCE or DESCRIPTOR", 0, + "ZCSTATUS", "External call: Unsuccessful return status", 0, + "ZCUSRRTN", "External call: Run-time error in user routine", 0, + "ZCPOSOVR", "External call: Invalid overlapping of arguments in table position !UL", 1, + "ZCINPUTREQ", "External call: Required input argument missing", 0, + "JNLTNOUTOFSEQ", "End transaction [0x!16@XQ] of journal !AD different from Begin transaction [0x!16@XQ] of next generation journal !AD", 6, + "ACTRANGE", "Alternate Collating Type !UL is out of range", 1, + "ZCCONVERT", "External call: error converting output argument", 0, + "ZCRTENOTF", "External call routine !AD not found", 2, + "GVRUNDOWN", "Error during global database rundown", 0, + "LKRUNDOWN", "Error during lock database rundown", 0, + "IORUNDOWN", "Error during image rundown", 0, + "FILENOTFND", "File !AD not found", 2, + "MUFILRNDWNFL", "File !AD rundown failed", 2, + "JNLTMQUAL1", "Time qualifier BEFORE_TIME=\"!AZ\" is less than SINCE_TIME=\"!AZ\"", 2, + "FORCEDHALT", "Image HALTed by MUPIP STOP", 0, + "LOADEOF", "Load error: EOF reached prior to BEGIN record !UL. No records loaded.", 1, + "WILLEXPIRE", "This copy of GT.M will expire within one week", 0, + "LOADEDBG", "Load error: END smaller than BEGIN. No records loaded.", 0, + "LABELONLY", "Routine !AD was compiled for label-only entry", 2, + "MUREORGFAIL", "MUPIP REORG failed. Failure code: !AD.", 2, + "GVZPREVFAIL", "Global variable $ZPREVIOUS function failed. Failure code: !AD.", 2, + "MULTFORMPARM", "This formal parameter is multiply defined", 0, + "QUITARGUSE", "Quit cannot take an argument in this context", 0, + "NAMEEXPECTED", "A local variable name is expected in this context", 0, + "UNUSEDMSG438", "ACTLSTEXP: Last used in V5.4-002B", 0, + "NOTEXTRINSIC", "Quit does not return to an extrinsic function: argument not allowed", 0, + "UNUSEDMSG440", "FMLLSTPRESENT: Last used in V5.4-002B", 0, + "FMLLSTMISSING", "The formal list is absent from a label called with an actual list: !AD", 2, + "ACTLSTTOOLONG", "More actual parameters than formal parameters: !AD", 2, + "ACTOFFSET", "Actuallist not allowed with offset", 0, + "MAXACTARG", "Maximum number of actual arguments exceeded", 0, + "GTMDUMPFAIL", "Could not create DUMP FILE", 0, + "JNLTMQUAL2", "Time qualifier LOOKBACK_TIME=\"!AZ\" is later than SINCE_TIME=\"!AZ\"", 2, + "GDINVALID", "Unrecognized Global Directory file format: !AD, expected label: !AD, found: !AD", 6, + "ASSERT", "Assert failed in !AD line !UL for expression (!AD)", 5, + "MUFILRNDWNSUC", "File !AD successfully rundown", 2, + "LOADEDSZ", "Load error: END too small. No records loaded.", 0, + "QUITARGLST", "Quit cannot take a list of arguments", 0, + "QUITARGREQD", "Quit from an extrinsic must have an argument", 0, + "CRITRESET", "The critical section crash count for region !AD has been incremented", 2, + "UNKNOWNFOREX", "Process halted by a forced exit from a source other than MUPIP", 0, + "FSEXP", "File specification expected but not found", 0, + "WILDCARD", "Wild cards are prohibited: !AD", 2, + "DIRONLY", "Directories only are allowed in file specs: !AD", 2, + "FILEPARSE", "Error parsing file specification: !AD", 2, + "QUALEXP", "Qualifier expected but not found", 0, + "BADQUAL", "Unrecognized qualifier: !AD", 2, + "QUALVAL", "Qualifier value required but not found", 0, + "ZROSYNTAX", "$ZROUTINES syntax error: !AD", 2, + "COMPILEQUALS", "Error in compiler qualifiers: !AD", 2, + "ZLNOOBJECT", "No object module was produced", 0, + "ZLMODULE", "Object file name does not match module name: !AD", 2, + "DBBLEVMX", "!AD Block level higher than maximum", 2, + "DBBLEVMN", "!AD Block level less than zero", 2, + "DBBSIZMN", "!AD Block too small", 2, + "DBBSIZMX", "!AD Block larger than file block size", 2, + "DBRSIZMN", "!AD Record too small", 2, + "DBRSIZMX", "!AD Record too large", 2, + "DBCMPNZRO", "!AD First record of block has nonzero compression count", 2, + "DBSTARSIZ", "!AD Star record has wrong size", 2, + "DBSTARCMP", "!AD Star record has nonzero compression count", 2, + "DBCMPMX", "!AD Record compression count is too large", 2, + "DBKEYMX", "!AD Key too long", 2, + "DBKEYMN", "!AD Key too short", 2, + "DBCMPBAD", "!AD Compression count not maximal", 2, + "DBKEYORD", "!AD Keys out of order", 2, + "DBPTRNOTPOS", "!AD Block pointer negative", 2, + "DBPTRMX", "!AD Block pointer larger than file maximum", 2, + "DBPTRMAP", "!AD Block pointer is a bit map block number", 2, + "IFBADPARM", "External Interface Bad Parameter", 0, + "IFNOTINIT", "External Interface must first call GTM$INIT or M routine", 0, + "GTMSECSHRSOCKET", "!AD - !UL : Error initializing gtmsecshr socket", 3, + "LOADBGSZ", "Load error: BEGIN too small. No records loaded.", 0, + "LOADFMT", "Load error: invalid format type. Must be ZWR, GO, BINARY, or GOQ.", 0, + "LOADFILERR", "Error with load file !AD", 2, + "NOREGION", "REGION not found: !AD", 2, + "PATLOAD", "Error loading pattern file !AD", 2, + "EXTRACTFILERR", "Error with extract file !AD", 2, + "FREEZE", "Region: !AD is already frozen", 2, + "NOSELECT", "None of the selected variables exist -- halting", 0, + "EXTRFAIL", "Extract failed for the global ^!AD. MUPIP INTEG should be run.", 2, + "LDBINFMT", "Corrupt binary format header information", 0, + "NOPREVLINK", "Journal file !AD has a null previous link", 2, + "CCEDUMPON", "", 0, + "CCEDMPQUALREQ", "A qualifier (DB,[NO]ON, or NOW) is required with the DUMP command", 0, + "CCEDBDUMP", "Section !AD dumped", 2, + "CCEDBNODUMP", "Section !AD not dumped; status = ", 2, + "CCPMBX", "Error accessing Cluster Control Program Mailbox", 0, + "REQRUNDOWN", "Error accessing database !AD. Must be rundown on cluster node !AD.", 4, + "CCPINTQUE", "Interlock failure accessing Cluster Control Program queue", 0, + "CCPBADMSG", "Invalid message code received by Cluster Control Program", 0, + "CNOTONSYS", "Command is not supported by this operating system", 0, + "CCPNAME", "Error setting the Cluster Control Program process name", 0, + "CCPNOTFND", "The Cluster Control Program is not responding", 0, + "OPRCCPSTOP", "The Cluster Control Program has been halted by an operator stop request", 0, + "SELECTSYNTAX", "Argument to !AD clause is not valid", 2, + "LOADABORT", "Aborting load at record !UL", 1, + "FNOTONSYS", "Function or special variable is not supported by this operating system", 0, + "AMBISYIPARAM", "Parameter !AD is ambiguous to $ZGETSYI()", 2, + "PREVJNLNOEOF", "A previous generation journal file !AD does not have valid EOF", 2, + "LKSECINIT", "Error creating lock section for database !AD", 2, + "MTDOSLAB", "Tape label is not in valid DOS-11 format", 0, + "MTDOSFOR", "Use of DOS-11 labels requires stream format", 0, + "MTINVLAB", "Invalid label type specified in magtape OPEN", 0, + "TXTSRCMAT", "M object module and source file do not match", 0, + "CCENOGROUP", "CCE does not have GROUP privilege. Information may be incomplete.", 0, + "BADDBVER", "Incorrect database version: !AD", 2, + "LINKVERSION", "This image must be relinked with the current version of GT.M", 0, + "TOTALBLKMAX", "Extension exceeds maximum total blocks. Not extending.", 0, + "LOADCTRLY", "User interrupt encountered during load. Load halting.", 0, + "CLSTCONFLICT", "Cluster conflict opening database file !AD; could not secure access. Already open on node !AD.", 4, + "SRCNAM", "in source module !AD", 2, + "LCKGONE", "Lock removed: !AD", 2, + "SUB2LONG", "Subscript invalid, too long", 0, + "EXTRACTCTRLY", "User interrupt encountered during extract -- halting", 0, + "CCENOWORLD", "CCE does not have WORLD privilege. Information may be incomplete.", 0, + "GVQUERYFAIL", "Global variable $QUERY function failed. Failure code: !AD.", 2, + "LCKSCANCELLED", "Error on remote node holding locks or zallocates. All locks and zallocates cancelled.", 0, + "INVNETFILNM", "Invalid file name following node designation in global directory", 0, + "NETDBOPNERR", "Error while attempting to open database across net", 0, + "BADSRVRNETMSG", "Invalid message received from GT.CM server", 0, + "BADGTMNETMSG", "Invalid message sent to GT.CM server, type: 0x!XL", 1, + "SERVERERR", "Severe error on server: !AD", 2, + "NETFAIL", "Failure of Net operation", 0, + "NETLCKFAIL", "Lock operation across Net failed", 0, + "TTINVFILTER", "Invalid FILTER argument", 0, + "MTANSILAB", "Tape label is not in valid ANSI format", 0, + "MTANSIFOR", "Use of ANSI labels does not allow stream format", 0, + "BADTRNPARAM", "!AD is not a legal parameter to $ZTRNLNM", 2, + "DSEONLYBGMM", "!AD is supported only for BG/MM access methods", 2, + "DSEINVLCLUSFN", "Specified function is invalid for clustered databases", 0, + "RDFLTOOSHORT", "Length specified for fixed length read less than or equal to zero", 0, + "TIMRBADVAL", "Bad value specified. Timer not changed.", 0, + "CCENOSYSLCK", "CCE does not have SYSLCK privilege. Information may be incomplete.", 0, + "CCPGRP", "Error with the Cluster Control Program's group number", 0, + "UNSOLCNTERR", "An unsolicited error message has been received from the network", 0, + "BACKUPCTRL", "Control Y or control C encountered during backup, aborting backup", 0, + "NOCCPPID", "Cannot find CCP process id", 0, + "CCPJNLOPNERR", "Error opening journal file. Database not opened.", 0, + "LCKSGONE", "Locks selected for deletion removed", 0, + "ZLKIDBADARG", "The tvexpr must be FALSE if last ZLKID not found", 0, + "DBFILOPERR", "Error doing database I/O to region !AD", 2, + "CCERDERR", "Error reading from database file !AD", 2, + "CCEDBCL", "Database file !AD is clustered", 2, + "CCEDBNTCL", "Database file !AD is not clustered", 2, + "CCEWRTERR", "Error writing to database file !AD", 2, + "CCEBADFN", "Filename error", 0, + "CCERDTIMOUT", "Read timeout, CCP has not responded to request", 0, + "CCPSIGCONT", "CCP non fatal error at pc 0x!XJ. Continuing operation.", 1, + "CCEBGONLY", "Only BG databases can be clustered", 0, + "CCENOCCP", "The cluster control program is not running on this node", 0, + "CCECCPPID", "The cluster control program has PID 0x!XL", 1, + "CCECLSTPRCS", "!UL processes are accessing clustered database files", 1, + "ZSHOWBADFUNC", "An illegal function was specified for ZSHOW", 0, + "NOTALLJNLEN", "Journaling not enabled and on for all regions", 0, + "ZSHOWGLOSMALL", "Global output variable is too small for ZSHOW output", 0, + "NOLBRSRC", "Object libraries cannot have SRC paths associated", 0, + "INVZSTEP", "Invalid ZSTEP qualifier", 0, + "ZSTEPARG", "ZSTEP argument expected", 0, + "INVSTRLEN", "Invalid string length !UL: max !UL", 2, + "RECCNT", "Last LOAD record number: !UL", 1, + "TEXT", "!AD", 2, + "ZWRSPONE", "Subscript patterns in ZWRITE are atomic; Invalid delimiter", 0, + "FILEDEL", "File !AD successfully deleted", 2, + "JNLBADLABEL", "Journal file !AD does not have a GT.M Journal File Label", 2, + "JNLREADEOF", "End of journal file encountered for !AD", 2, + "JNLRECFMT", "Journal file record format error encountered", 0, + "BLKTOODEEP", "Block level too deep", 0, + "NESTFORMP", "Formal parameter list cannot be combined with nested line", 0, + "BINHDR", "!AD!/!/Date: !AD!/Time: !AD!/Extract Region Characteristics!/!_Blk Size: !AD!/!_Rec Size: !AD!/!_Key Size: !AD!/!_Std Null Coll: !AD!/!AD!/", 16, + "GOQPREC", "Numeric precision in key error: Blk #!UL, Key #!UL. Record not loaded.", 2, + "LDGOQFMT", "Corrupt GOQ format header information!/", 0, + "BEGINST", "Beginning LOAD at record number: !UL", 1, + "INVMVXSZ", "Invalid block size for GOQ load format", 0, + "JNLWRTNOWWRTR", "Journal writer attempting another write", 0, + "MUPGDERR", "Command aborted due to global directory errors", 0, + "JNLINVALLOC", "Journal file allocation !UL is not within the valid range of !UL to !UL. Journal file not created.", 3, + "JNLINVEXT", "Journal file extension !UL is greater than the maximum allowed size of !UL. Journal file not created.", 2, + "MUPCLIERR", "Action not taken due to CLI errors", 0, + "JNLTMQUAL4", "Time qualifier BEFORE_TIME=\"!AZ\" is less than AFTER_TIME=\"!AZ\"", 2, + "JNLBUFFTOOLG", "Journal file buffer !UL is greater than the maximum allowed size of !UL. Journal file not created.", 2, + "JNLBUFFTOOSM", "Journal file buffer !UL is less than minimum of database block size in 512 byte pages + 1 (!UL)", 2, + "MUNODBNAME", "A database name or the region qualifier must be specified", 0, + "FILECREATE", "!AD file !AD created", 4, + "FILENOTCREATE", "!AD file !AD not created", 4, + "JNLPROCSTUCK", "Journal file writes blocked by process !UL", 1, + "INVGLOBALQUAL", "Error in GLOBAL qualifier : Parse error at offset !UL in !AD", 3, + "COLLARGLONG", "Collation sequence !UL does not contain routines for long strings", 1, + "NOPINI", "PINI journal record expected but not found in journal file !AD at offset [0x!XL]", 3, + "DBNOCRE", "Not all specified database files, or their associated journal files were created", 0, + "JNLSPACELOW", "Journal file !AD nearing maximum size, !UL blocks to go", 3, + "DBCOMMITCLNUP", "Pid !UL [0x!XL] handled error (code = !UL) during commit of !AZ transaction in database file !AD", 6, + "BFRQUALREQ", "The [NO]BEFORE qualifier is required for this command", 0, + "REQDVIEWPARM", "Required View parameter is missing", 0, + "COLLFNMISSING", "Routine !AD is not found for collation sequence !UL", 3, + "JNLACTINCMPLT", "Mupip journal action might be incomplete", 0, + "NCTCOLLDIFF", "Source and destination for MERGE cannot have different numerical collation type", 0, + "DLRCUNXEOR", "!_!AD!/!_!_!_unexpected end of record in $CHAR()/$ZCHAR() subscript", 2, + "DLRCTOOBIG", "!_!AD!/!_!_!_!AD value cannot be greater than 255", 4, + "WCERRNOTCHG", "Not all specified database files were changed", 0, + "WCWRNNOTCHG", "Not all specified database files were changed", 0, + "ZCWRONGDESC", "A string longer than 65535 is passed via 32-bit descriptor", 0, + "MUTNWARN", "Database file !AD has 0x!16@XQ more transactions to go before reaching the transaction number limit (0x!16@XQ). Renew database with MUPIP INTEG TN_RESET", 4, + "JNLNAMLEN", "Journal file name !AD: for database file !AD exceeds maximum length of !UL", 5, + "LCKSTIMOUT", "DAL timed lock request expired", 0, + "CTLMNEMAXLEN", "The maximum length of a control mnemonic has been exceeded", 0, + "CTLMNEXPECTED", "Control mnemonic is expected in this context", 0, + "USRIOINIT", "User-defined device driver not successfully initialized", 0, + "CRITSEMFAIL", "Error with semaphores for region !AD", 2, + "TERMWRITE", "Error writing to terminal", 0, + "COLLTYPVERSION", "Collation type !UL, version !UL mismatch", 2, + "LVNULLSUBS", "Null subscripts not allowed in local variables", 0, + "GVREPLERR", "Error replicating global in region !AD", 2, + "MTIOERR", "I/O Error with magnetic tape device !AD", 2, + "RMWIDTHPOS", "File record size or width must be greater than zero", 0, + "OFFSETINV", "Entry point !AD+!SL not valid", 3, + "JOBPARTOOLONG", "Total parameter length is too long for job command", 0, + "JOBARGMISSING", "Missing job argument !UL - can't skip non-trailing arguments to a JOB command in OpenVMS editions", 1, + "RUNPARAMERR", "Error accessing parameter for run command", 0, + "FNNAMENEG", "Depth argument to $NAME cannot be negative", 0, + "ORDER2", "Invalid second argument to $ORDER. Must be -1 or 1.", 0, + "MUNOUPGRD", "Database not upgraded because of preceding errors", 0, + "REORGCTRLY", "User interrupt encountered during database reorg -- halting", 0, + "TSTRTPARM", "Error parsing TSTART qualifier", 0, + "TRIGNAMENF", "Trigger name !AD not found with the current default global directory", 2, + "TRIGZBREAKREM", "ZBREAK in trigger !AD removed due to trigger being reloaded", 2, + "TLVLZERO", "Transaction is not in progress", 0, + "TRESTNOT", "Cannot TRESTART, transaction is not restartable", 0, + "TPLOCK", "Cannot release lock(s) held prior to current TSTART", 0, + "TPQUIT", "Cannot QUIT out of a routine with an active transaction", 0, + "TPFAIL", "Transaction COMMIT failed. Failure code: !AD.", 2, + "TPRETRY", "Restart transaction from non-concurrency DB failure", 0, + "TPTOODEEP", "$TLEVEL cannot exceed 127", 0, + "ZDEFACTIVE", "ZDEFER already active", 0, + "ZDEFOFLOW", "ZDEFER Buffer overflow to node !AD", 2, + "MUPRESTERR", "MUPIP restore aborted due to preceding errors", 0, + "MUBCKNODIR", "MUPIP backup aborted due to error in output directory", 0, + "TRANS2BIG", "Transaction exceeded available buffer space for region !AD", 2, + "INVBITLEN", "Invalid size of the bit string", 0, + "INVBITSTR", "Invalid bit string", 0, + "INVBITPOS", "Invalid position in the bit string", 0, + "PARNORMAL", "Parse successful", 0, + "PARBUFSM", "Parse buffer too small", 0, + "RMWIDTHTOOBIG", "File record size or width too big", 0, + "PATTABNOTFND", "Pattern table !AD not found", 2, + "OBJFILERR", "Error with object file I/O on file !AD", 2, + "SRCFILERR", "Error with source file I/O on file !AD", 2, + "NEGFRACPWR", "Invalid operation: fractional power of negative number", 0, + "MTNOSKIP", "SKIP operation not supported on this device", 0, + "CETOOMANY", "Too many compiler escape substitutions in a single statement", 0, + "CEUSRERROR", "Compiler escape user routine returned error code !UL", 1, + "CEBIGSKIP", "Compiler escape user routine skip count is too large", 0, + "CETOOLONG", "Compiler escape substitution exceeds maximum line size", 0, + "CENOINDIR", "Indirection type information not available for compiler escape feature", 0, + "COLLATIONUNDEF", "Collation type !UL is not defined", 1, + "RBWRNNOTCHG", "Not all specified database files were changed", 0, + "GTMSECSHRSRVF", "!AD - !UL : Attempt to service request failed", 3, + "FREEZECTRL", "Control Y or control C encountered during attempt to freeze the database. Aborting freeze.", 0, + "JNLFLUSH", "Error flushing journal buffers to journal file !AD", 2, + "CCPSIGDMP", "CCP non fatal dump, continuing operation. Report to your GT.M Support Channel.", 0, + "NOPRINCIO", "Unable to write to principal device", 0, + "INVPORTSPEC", "Invalid port specification", 0, + "INVADDRSPEC", "Invalid IP address specification", 0, + "SOCKPARMREQ", "Socket device parameter is required for TCP open", 0, + "IPADDRREQ", "Active connection requires IP address", 0, + "SOCKWAIT", "Error waiting for socket connection", 0, + "SOCKACPT", "Error accepting socket connection", 0, + "SOCKINIT", "Error initializing TCP socket: (errno == !UL) !AD", 3, + "OPENCONN", "Error opening TCP connection", 0, + "DEVNOTIMP", "!AD device not implemented on in this environment", 2, + "JNLEXTR", "Error writing journal extract file: !AD", 2, + "DBREMOTE", "Database region !AD is remote; perform maintenance on the server node", 2, + "JNLREQUIRED", "Journaling is required for clustered operation with file !AD", 2, + "TPMIXUP", "!AZ transaction cannot be started within !AZ transaction", 2, + "HTOFLOW", "Hash table overflow: Failed to allocate !UL elements", 1, + "RMNOBIGRECORD", "File record size requires BIGRECORD parameter", 0, + "DBBMSIZE", "!AD Bit map has incorrect size", 2, + "DBBMBARE", "!AD Bit map does not protect itself", 2, + "DBBMINV", "!AD Bit map contains an invalid pattern", 2, + "DBBMMSTR", "!AD Bit map does not match master map", 2, + "DBROOTBURN", "!AD Root block has data level", 2, + "REPLSTATEERR", "Replication state cannot be changed to the specified value for database file !AD", 2, + "VMSMEMORY", "Central memory exhausted during request for !UL bytes from 0x!XJ - check page file quota and page file size", 2, + "DBDIRTSUBSC", "!AD Directory tree block contains non name-level entries", 2, + "TIMEROVFL", "Timer overflow; interval probably too large", 0, + "GTMASSERT", "!AD - Assert failed !AD line !UL", 5, + "DBFHEADERR4", "Database file !AD: control problem: !AD was 0x!XL expecting 0x!XL", 6, + "DBADDRANGE", "Database file !AD, element location 0x!XJ: blk = 0x!XL: control 0x!XJ was outside !AD range 0x!XJ to 0x!XJ", 9, + "DBQUELINK", "Database file !AD, element location 0x!XJ: blk = 0x!XL: control !AD queue problem: was 0x!XJ, expecting 0x!XJ", 8, + "DBCRERR", "Database file !AD, cr location 0x!XJ blk = 0x!XL error: !AD was 0x!XL, expecting 0x!XL -- called from module !AD at line !UL", 11, + "MUSTANDALONE", "Could not get exclusive access to !AD", 2, + "MUNOACTION", "MUPIP unable to perform requested action", 0, + "RMBIGSHARE", "File with BIGRECORD specified may only be shared if READONLY", 0, + "TPRESTART", "Database !AD; code: !AD; blk: 0x!XL in glbl: ^!AD; pvtmods: !UL, blkmods: !UL, blklvl: !UL, type: !UL, readset: !UL, writeset: !UL, local_tn: !16@XQ", 14, + "SOCKWRITE", "Write to a TCP/IP socket failed", 0, + "DBCNTRLERR", "Database file !AD: control error suspected but not found", 2, + "NOTERMENV", "Environment variable TERM not set. Assuming \"unknown.\"", 0, + "NOTERMENTRY", "TERM = \"!AD\" has no \"terminfo\" entry. Possible terminal handling problems.", 2, + "NOTERMINFODB", "No \"terminfo\" database. Terminal handling problems likely.", 0, + "INVACCMETHOD", "Invalid access method", 0, + "JNLOPNERR", "Error opening journal file !AD!/ for database !AD", 4, + "JNLRECTYPE", "Journal record type does not match expected type", 0, + "JNLTRANSGTR", "Transaction number in journal is greater than in database", 0, + "JNLTRANSLSS", "Transaction number in journal is less than in database", 0, + "JNLWRERR", "Error writing journal file !AD. Unable to update header.", 2, + "FILEIDMATCH", "Saved File ID does not match the current ID - the file appears to have been moved", 0, + "EXTSRCLIN", "!_!AD!/!_!AD", 4, + "EXTSRCLOC", "!_!_At column !UL, line !UL, source module !AD", 4, + "BIGNOACL", "Existing file found when BIGRECORD specified with UDF format but no GT.M ACE, perhaps lost during COPY", 0, + "ERRCALL", "Error called from !AD line !UL", 3, + "ZCCTENV", "Environmental variable for external package !AD not set", 2, + "ZCCTOPN", "Unable to open external call table: !AD", 2, + "ZCCTNULLF", "External call table contains no records: !AD", 2, + "ZCUNAVAIL", "Package, !AD unavailable", 2, + "ZCENTNAME", "No entry name found in external call table", 0, + "ZCCOLON", "Colon expected but not found", 0, + "ZCRTNTYP", "Unknown return type", 0, + "ZCRCALLNAME", "Routine name expected but not found", 0, + "ZCRPARMNAME", "Parameter name expected but not found", 0, + "ZCUNTYPE", "Unknown type encountered", 0, + "ZCMLTSTATUS", "Multiple entries of xc_status in a single entry in external call table", 0, + "ZCSTATUSRET", "External call returned error status", 0, + "ZCMAXPARAM", "Exceeded maximum number of external call parameters", 0, + "ZCCSQRBR", "Closing Square bracket expected", 0, + "ZCPREALLNUMEX", "Pre-allocation value should be a decimal number", 0, + "ZCPREALLVALPAR", "Pre-allocation allowed only for variables passed by reference", 0, + "VERMISMATCH", "Attempt to access !AD with version !AD, while already using !AD", 6, + "JNLCNTRL", "Journal control unsynchronized. Journaling closed for !AD.", 2, + "TRIGNAMBAD", "Trigger initialization failed. Error while processing ^#t(\"!AD\",!AD)", 4, + "BUFRDTIMEOUT", "Pid [0x!XL] timed out waiting for buffered read of blk [0x!XL] into cr [0x!XL] by process [0x!XL] to complete in database file !AD", 6, + "INVALIDRIP", "Invalid read-in-progress field in Cache Record. Resetting and continuing. Region: !AD.", 2, + "BLKSIZ512", "Block size !UL rounds to !UL", 2, + "MUTEXERR", "Mutual Exclusion subsystem failure", 0, + "JNLVSIZE", "Journal File !AD has incorrect virtual_filesize !UL. Allocation : !UL, Extension : !UL, Filesize : !UL, File system block size : !UL", 7, + "MUTEXLCKALERT", "Mutual Exclusion subsystem ALERT - lock attempt threshold crossed for region !AD. Process !UL is in crit.", 3, + "MUTEXFRCDTERM", "Mutual Exclusion subsystem detected forced termination of process !UL. Crit salvaged from region !AD.", 3, + "GTMSECSHR", "!UL : Error during gtmsecshr operation", 1, + "GTMSECSHRSRVFID", "!AD: !UL - Attempt to service request failed.!/ client id: !UL, mesg type: !UL, mesg data: !UL.", 6, + "GTMSECSHRSRVFIL", "!AD: !UL - Attempt to service request failed.!/ client id: !UL, mesg type: !UL!/file: !AD.", 7, + "SOCKACTNA", "Action not appropriate for current socket", 0, + "PROTNOTSUP", "Protocol !AD not supported", 2, + "DELIMSIZNA", "Delimiter size is not appropriate", 0, + "INVCTLMNE", "Invalid control mnemonics", 0, + "SOCKLISTEN", "Error listening on a socket", 0, + "LQLENGTHNA", "Listening queue length !UL not appropriate. Must be between 1 and 5.", 1, + "ADDRTOOLONG", "Socket address !AD of length !UL is longer than the maximum permissible length !UL", 4, + "UNUSEDMSG760", "LSNCONNOTCMP Last used in V5.4-002A", 0, + "CPBEYALLOC", "Attempt to copy beyond the allocated buffer", 0, + "DBRDONLY", "Database file !AD read only", 2, + "DUPTN", "Duplicate transaction found [TN = 0x!16@XQ] at offset 0x!XL in journal file !AD", 4, + "TRESTLOC", "Transaction start: !AD, Transaction failure: !AD", 4, + "REPLPOOLINST", "Error with replication pool (id = !UL) for instance file !AD", 3, + "ZCVECTORINDX", "Invalid Vector Index !UL", 1, + "REPLNOTON", "Replication is not on for journal file !AD, rollback will not continue", 2, + "JNLMOVED", "Journal file appears to have been moved. Journaling activity will not be done.", 0, + "EXTRFMT", "Extract error: invalid format type. Must be ZWR, GO, or BINARY.", 0, + "CALLERID", "Routine !AD called from 0x!XJ", 3, + "KRNLKILL", "Process was terminated by SIGDANGER signal from the system -- System swap space is too low -- Report to System Administrator", 0, + "MEMORYRECURSIVE", "Memory Subsystem called recursively", 0, + "FREEZEID", "Cache !AD on !AD by freeze id 0x!XL with match 0x!XL from 0x!XJ", 7, + "BLKWRITERR", "Unable to queue disk write for block 0x!XL. Will keep trying.", 1, + "STOPTIMEOUT", "Waited too long for stopped process to release. Region: !AD.", 2, + "TRIGMODINTP", "Triggers for a given global cannot be both used and modified or removed in the same transaction", 0, + "BCKUPBUFLUSH", "Unable to flush buffer for online backup", 0, + "NOFORKCORE", "Unable to fork off process to create core. Core creation postponed.", 0, + "JNLREAD", "Error reading from journal file !AD at offset [0x!XL]", 3, + "JNLMINALIGN", "Journal Record Alignment !UL is less than the minimum value of !UL", 2, + "JNLDSKALIGN", "Journal Record Alignment !UL is not a multiple of 512", 1, + "JNLPOOLSETUP", "Journal Pool setup error", 0, + "JNLSTATEOFF", "ROLLBACK or RECOVER BACKWARD cannot proceed as database file !AD does not have journaling ENABLED and ON", 2, + "RECVPOOLSETUP", "Receive Pool setup error", 0, + "REPLCOMM", "Replication subsystem communication failure", 0, + "NOREPLCTDREG", "Replication subsystem found no region replicated for !AD !AZ", 3, + "REPLINFO", "!AD", 2, + "REPLWARN", "!AD", 2, + "REPLERR", "!AD", 2, + "JNLNMBKNOTPRCD", "Journal file !AD does not match the current journal file !AD of database file !AD", 6, + "REPLFILIOERR", "Replication subsystem file I/O error !AD", 2, + "REPLBRKNTRANS", "Replication subsystem found seqno !16@XQ broken or missing in the journal files", 1, + "TTWIDTHTOOBIG", "Terminal WIDTH exceeds the maximum allowed limit", 0, + "REPLLOGOPN", "Replication subsystem could not open log file !AD: !AD. Logging done to !AD.", 6, + "REPLFILTER", "Replication filter subsystem failure", 0, + "GBLMODFAIL", "Global variable Conflict Test failed. Failure code: !AD.", 2, + "TTLENGTHTOOBIG", "Terminal LENGTH exceeds the maximum allowed limit", 0, + "TPTIMEOUT", "Transaction timeout", 0, + "DEFEREVENT", "Transfer table reset for event type !UL when set for type !UL", 2, + "JNLFILNOTCHG", "Journal file not changed", 0, + "EVENTLOGERR", "Error in event logging subsystem", 0, + "UPDATEFILEOPEN", "Update file open error", 0, + "JNLBADRECFMT", "Journal File Record Format Error encountered for file !AD at disk address 0x!XL", 3, + "NULLCOLLDIFF", "Null collation order must be the same for all regions", 0, + "MUKILLIP", "Kill in progress indicator is set for file !AD - this !AD operation is likely to result in incorrectly marked busy errors", 4, + "JNLRDONLY", "Journal file !AD read only", 2, + "ANCOMPTINC", "Deviceparameter !AD is not compatible with any other deviceparameters in the !AD command", 4, + "ABNCOMPTINC", "Deviceparameter !AD and deviceparameter !AD are not compatible in the !AD command", 6, + "GTMSECSHRLOGF", "!AD - !UL : Error while creating gtmsecshr log file", 3, + "SOCKNOTFND", "Socket !AD not found", 2, + "CURRSOCKOFR", "Current socket of index !UL is out of range. There are only !UL sockets.", 2, + "SOCKETEXIST", "Socket !AD already exists", 2, + "LISTENPASSBND", "Controlmnemonic LISTEN can be applied to PASSIVE socket in the state BOUND only", 0, + "DBCLNUPINFO", "Database file !AD !/!AD", 4, + "MUNODWNGRD", "Database not downgraded because of preceding errors", 0, + "REPLTRANS2BIG", "Transaction !16@XQ of size !UL (pre-filter size !UL) too large to be accommodated in the !AD pool", 5, + "RDFLTOOLONG", "Length specified for fixed length read exceeds the maximum string size", 0, + "MUNOFINISH", "MUPIP unable to finish all requested actions", 0, + "DBFILEXT", "Database file !AD extended from 0x!XL blocks to 0x!XL at transaction 0x!16@XQ", 5, + "JNLFSYNCERR", "Error synchronizing journal file !AD to disk", 2, + "FSYNCTIMOUT", "Timed out on fsync for journal file !AD", 2, + "ZCPREALLVALINV", "The pre-allocation value exceeded the maximum string length", 0, + "NEWJNLFILECREAT", "Journal file !AD nearing maximum size. New journal file created.", 2, + "DSKSPACEFLOW", "Disk Space for file !AD nearing maximum size. !UL blocks available.", 3, + "GVINCRFAIL", "Global variable $INCR failed. Failure code: !AD.", 2, + "ISOLATIONSTSCHN", "Error changing NOISOLATION status for global ^!AD within a TP transaction from !UL to !UL", 4, + "REPLGBL2LONG", "Global names longer than 8 characters cannot be handled at the secondary", 0, + "TRACEON", "Missing global name (with optional subscripts) for recording M-tracing information", 0, + "TOOMANYCLIENTS", "GT.CM is serving the maximum number of clients. Try again later.", 0, + "NOEXCLUDE", "None of the excluded variables exist", 0, + "GVINCRISOLATION", "$INCREMENT cannot be performed on global ^!AD as it has NOISOLATION turned ON", 2, + "EXCLUDEREORG", "Global: !AD is present in the EXCLUDE option. REORG will skip the global.", 2, + "REORGINC", "Reorg was incomplete. Not all globals were reorged.", 0, + "ASC2EBCDICCONV", "ASCII/EBCDIC conversion failed when calling !AD", 2, + "GTMSECSHRSTART", "!AD - !UL : gtmsecshr failed to startup", 3, + "DBVERPERFWARN1", "Performance warning: Database !AD is running in compatibility mode which degrades performance. Run MUPIP REORG UPGRADE for best overall performance", 2, + "FILEIDGBLSEC", "File ID in global section does not match with the database file !AD", 2, + "GBLSECNOTGDS", "Global Section !AD is not a GT.M global section", 2, + "BADGBLSECVER", "Global Section !AD does not match the current database version", 2, + "RECSIZENOTEVEN", "RECORDSIZE [!UL] needs to be a multiple of 2 if ICHSET or OCHSET is UTF-16, UTF-16LE or UTF-16BE", 1, + "BUFFLUFAILED", "Error flushing buffers from !AD for database file !AD", 4, + "MUQUALINCOMP", "Incompatible qualifiers - FILE and REGION", 0, + "DISTPATHMAX", "$gtm_dist path is greater than maximum (!UL)", 1, + "MAXTRACEHEIGHT", "The maximum trace tree height (!UL) has been exceeded. The trace information will be incomplete.", 1, + "IMAGENAME", "The executing module name should be !AD instead of !AD", 4, + "GTMSECSHRPERM", "The gtmsecshr module in $gtm_dist does not have the correct permission and uid", 0, + "GTMDISTUNDEF", "Environment variable $gtm_dist is not defined", 0, + "SYSCALL", "Error received from system call !AD -- called from module !AD at line !UL", 5, + "MAXGTMPATH", "The executing module path is greater than the maximum !UL", 1, + "TROLLBK2DEEP", "Intended rollback(!SL) deeper than the current $tlevel(!UL)", 2, + "INVROLLBKLVL", "Rollback level (!UL) not less than current $TLEVEL(!UL). Can't rollback.", 2, + "OLDBINEXTRACT", "Loading an older version(!UL) of binary extract. !/Database or global collation changes since the extract, if any, will result in database corruption.", 1, + "ACOMPTBINC", "Deviceparameter !AD is compatible with only !AD in the command !AD", 6, + "NOTREPLICATED", "Transaction number !16@XQ generated by the !AD process (PID = !UL) is not replicated to the secondary", 4, + "DBPREMATEOF", "Premature end of file with database file !AD", 2, + "KILLBYSIG", "!AD process !UL has been killed by a signal !UL", 4, + "KILLBYSIGUINFO", "!AD process !UL has been killed by a signal !UL from process !UL with userid number !UL", 6, + "KILLBYSIGSINFO1", "!AD process !UL has been killed by a signal !UL at address 0x!XJ (vaddr 0x!XJ)", 6, + "KILLBYSIGSINFO2", "!AD process !UL has been killed by a signal !UL at address 0x!XJ", 5, + "SIGILLOPC", "Signal was caused by an illegal opcode", 0, + "SIGILLOPN", "Signal was caused by an illegal operand", 0, + "SIGILLADR", "Signal was caused by illegal addressing mode", 0, + "SIGILLTRP", "Signal was caused by an illegal trap", 0, + "SIGPRVOPC", "Signal was caused by a privileged opcode", 0, + "SIGPRVREG", "Signal was caused by a privileged register", 0, + "SIGCOPROC", "Signal was caused by a coprocessor error", 0, + "SIGBADSTK", "Signal was caused by an internal stack error", 0, + "SIGADRALN", "Signal was caused by invalid address alignment", 0, + "SIGADRERR", "Signal was caused by a non-existent physical address", 0, + "SIGOBJERR", "Signal was caused by an object specific hardware error", 0, + "SIGINTDIV", "Signal was caused by an integer divided by zero", 0, + "SIGINTOVF", "Signal was caused by an integer overflow", 0, + "SIGFLTDIV", "Signal was caused by a floating point divide by zero", 0, + "SIGFLTOVF", "Signal was caused by a floating point overflow", 0, + "SIGFLTUND", "Signal was caused by a floating point underflow", 0, + "SIGFLTRES", "Signal was caused by a floating point inexact result", 0, + "SIGFLTINV", "Signal was caused by an invalid floating point operation", 0, + "SIGMAPERR", "Signal was caused by an address not mapped to an object", 0, + "SIGACCERR", "Signal was caused by invalid permissions for mapped object", 0, + "TRNLOGFAIL", "Translation of (VMS) logical name or (UNIX) environment variable !AD failed", 2, + "INVDBGLVL", "Invalid non-numeric debug level specified !AD in (VMS) logical name or (UNIX) environment variable !AD", 4, + "DBMAXNRSUBS", "!AD Maximum number of subscripts exceeded", 2, + "GTMSECSHRSCKSEL", "gtmsecshr select on socket failed", 0, + "GTMSECSHRTMOUT", "gtmsecshr exiting due to idle timeout", 0, + "GTMSECSHRRECVF", "gtmsecshr receive on server socket failed", 0, + "GTMSECSHRSENDF", "gtmsecshr send on server socket failed", 0, + "SIZENOTVALID8", "Size (in bytes) must be either 1, 2, 4, or 8", 0, + "GTMSECSHROPCMP", "gtmsecshr operation may be compromised", 0, + "GTMSECSHRSUIDF", "gtmsecshr server setuid to root failed", 0, + "GTMSECSHRSGIDF", "gtmsecshr server setgid to root failed", 0, + "GTMSECSHRSSIDF", "gtmsecshr server setsid failed", 0, + "GTMSECSHRFORKF", "gtmsecshr server unable to fork off a child process", 0, + "DBFSYNCERR", "Error synchronizing database file !AD to disk", 2, + "SECONDAHEAD", "Secondary ahead of primary. !/ Secondary database possibly updated by process other than the update process. First perform rollback.", 0, + "SCNDDBNOUPD", "Database Updates not allowed on the secondary", 0, + "MUINFOUINT4", "!AD : !UL [0x!XL]", 4, + "NLMISMATCHCALC", "Location of !AD expected at 0x!XL, but found at 0x!XL", 4, + "GTMSECSHRLOGSWH", "Error switching gtmsecshr log file gtmsecshr log -- !AD original log -- !AD error phase -- !AD process id -- !UL", 7, + "GTMSECSHRDEFLOG", "$gtm_log is either undefined or not defined to an absolute path, thus gtm_log is set to its default !AD", 2, + "DBBADNSUB", "!AD Bad numeric subscript", 2, + "DBBADKYNM", "!AD Bad key name", 2, + "DBBADPNTR", "!AD Bad pointer value in directory", 2, + "DBBNPNTR", "!AD Bit map block number as pointer", 2, + "DBINCLVL", "!AD Block at incorrect level", 2, + "DBBFSTAT", "!AD Block busy/free status unknown (local bitmap corrupted)", 2, + "DBBDBALLOC", "!AD Block doubly allocated", 2, + "DBMRKFREE", "!AD Block incorrectly marked free", 2, + "DBMRKBUSY", "!AD Block incorrectly marked busy", 2, + "DBBSIZZRO", "!AD Block size equals zero", 2, + "DBSZGT64K", "!AD Block size is greater than 64K", 2, + "DBNOTMLTP", "!AD Block size not a multiple of 512 bytes", 2, + "DBTNTOOLG", "!AD Block transaction number too large", 2, + "DBBPLMLT512", "!AD Blocks per local map is less than 512", 2, + "DBBPLMGT2K", "!AD Blocks per local map is greater than 2K", 2, + "MUINFOUINT8", "!AD : !@ZQ [0x!16@XQ]", 4, + "DBBPLNOT512", "!AD Blocks per local map is not 512", 2, + "MUINFOSTR", "!AD : !AD", 4, + "DBUNDACCMT", "!AD Cannot determine access method; trying with BG", 2, + "DBTNNEQ", "!AD Current tn and early tn are not equal", 2, + "MUPGRDSUCC", "Database file !AD successfully !AD to !AD", 6, + "DBDSRDFMTCHNG", "Database file !AD, Desired DB Format set to !AD by !AD with pid !UL [0x!XL] at transaction number [0x!16@XQ]", 9, + "DBFGTBC", "!AD File size larger than block count would indicate", 2, + "DBFSTBC", "!AD File size smaller than block count would indicate", 2, + "DBFSTHEAD", "!AD File smaller than database header", 2, + "DBCREINCOMP", "!AD Header indicates database file creation was interrupted before completion", 2, + "DBFLCORRP", "!AD Header indicates database file is corrupt", 2, + "DBHEADINV", "!AD Header size not valid for database", 2, + "DBINCRVER", "!AD Incorrect version of GT.M database", 2, + "DBINVGBL", "!AD Invalid mixing of global names", 2, + "DBKEYGTIND", "!AD Key greater than index key", 2, + "DBGTDBMAX", "!AD Key larger than database maximum", 2, + "DBKGTALLW", "!AD Key larger than maximum allowed length", 2, + "DBLTSIBL", "!AD Keys less than sibling's index key", 2, + "DBLRCINVSZ", "!AD Last record of block has invalid size", 2, + "MUREUPDWNGRDEND", "Region !AD : MUPIP REORG UPGRADE/DOWNGRADE finished by pid !UL [0x!XL] at transaction number [0x!16@XQ]", 5, + "DBLOCMBINC", "!AD Local bit map incorrect", 2, + "DBLVLINC", "!AD Local bitmap block level incorrect", 2, + "DBMBSIZMX", "!AD Map block too large", 2, + "DBMBSIZMN", "!AD Map block too small", 2, + "DBMBTNSIZMX", "!AD Map block transaction number too large", 2, + "DBMBMINCFRE", "!AD Master bit map incorrectly asserts this local map has free space", 2, + "DBMBPINCFL", "!AD Master bit map incorrectly marks this local map full", 2, + "DBMBPFLDLBM", "!AD Master bit map shows this map full, agreeing with disk local map", 2, + "DBMBPFLINT", "!AD Master bit map shows this map full, agreeing with MUPIP INTEG", 2, + "DBMBPFLDIS", "!AD Master bit map shows this map full, in disagreement with both disk and INTEG result", 2, + "DBMBPFRDLBM", "!AD Master bit map shows this map has space, agreeing with disk local map", 2, + "DBMBPFRINT", "!AD Master bit map shows this map has space, agreeing with MUPIP INTEG", 2, + "DBMAXKEYEXC", "!AD Maximum key size for database exceeds design maximum", 2, + "DBMXRSEXCMIN", "!AD Maximum record size for database is less than the design minimum", 2, + "DBMAXRSEXBL", "!AD Maximum record size for database exceeds what the block size can support", 2, + "DBREADBM", "!AD Read error on bitmap", 2, + "DBCOMPTOOLRG", "!AD Record has too large compression count", 2, + "DBVERPERFWARN2", "Peformance warning: Database !AD is not fully upgraded. Run MUPIP REORG UPGRADE for best overall performance", 2, + "DBRBNTOOLRG", "!AD Root block number greater than last block number in file", 2, + "DBRBNLBMN", "!AD Root block number is a local bit map number", 2, + "DBRBNNEG", "!AD Root block number negative", 2, + "DBRLEVTOOHI", "!AD Root level higher than maximum", 2, + "DBRLEVLTONE", "!AD Root level less than one", 2, + "DBSVBNMIN", "!AD Start VBN smaller than possible", 2, + "DBTTLBLK0", "!AD Total blocks equal zero", 2, + "DBNOTDB", "!AD File does not have a valid GDS file header", 2, + "DBTOTBLK", "Total blocks should be 0x!XL, is 0x!XL", 2, + "DBTN", "Block TN is 0x!16@XQ", 1, + "DBNOREGION", "None of the database regions accessible", 0, + "DBTNRESETINC", "WARNING: tn_reset for database is incomplete due to integrity errors", 0, + "DBTNLTCTN", "Transaction numbers greater than the current transaction were found", 0, + "DBTNRESET", "Cannot reset transaction number for this region", 0, + "MUTEXRSRCCLNUP", "Mutex subsystem leftover resource !AD removed", 2, + "SEMWT2LONG", "Process !UL waited !UL second(s) for the !AD lock for region !AD, lock held by pid !UL", 7, + "REPLINSTOPEN", "Error opening replication instance file !AD", 2, + "REPLINSTCLOSE", "Error closing replication instance file !AD", 2, + "JNLNOTFOUND", "File !AD does not exist -- possibly moved or deleted", 2, + "DBCRERR8", "Database file !AD, cr location 0x!XJ blk = 0x!XL error: !AD was 0x!16@XQ, expecting 0x!16@XQ -- called from module !AD at line !UL", 11, + "NUMPROCESSORS", "Could not determine number of processors", 0, + "DBADDRANGE8", "Database file !AD, element location 0x!XJ: blk = 0x!XL: control 0x!16@XQ was outside !AD range 0x!16@XQ to 0x!16@XQ", 9, + "RNDWNSEMFAIL", "Attempting to acquire gds_rundown semaphore when it is already owned", 0, + "GTMSECSHRSHUTDN", "gtmsecshr process has received a shutdown request -- shutting down", 0, + "NOSPACECRE", "Not enough space to create database file !AD. !UL blocks are needed, only !UL available.", 4, + "LOWSPACECRE", "Disk space for database file !AD is not enough for !UL future extensions. !UL !UL-byte blocks are needed, only !UL available.", 6, + "WAITDSKSPACE", "Process 0x!XL will wait !UL seconds for necessary disk space to become available for !AD ", 4, + "OUTOFSPACE", "Database file !AD ran out of disk space. Detected by process !UL. !/Exit without clearing shared memory due to the disk space constraints. !/Make space and then perform mupip rundown to ensure database integrity.", 3, + "JNLPVTINFO", "Pid 0x!XL!/ cycle 0x!XL fd_mismatch 0x!XL channel 0x!XL sync_io 0x!XL!/ pini_addr 0x!XL qio_active 0x!XL old_channel 0x!XL", 8, + "NOSPACEEXT", "Not enough disk space for file !AD to extend. !UL blocks needed. !UL blocks available.", 4, + "WCBLOCKED", "Field !AD is set by process !UL at transaction number 0x!16@XQ for database file !AD", 6, + "REPLJNLCLOSED", "Replication in jeopardy as journaling got closed for database file !AD. Current region seqno is !@ZQ [0x!16@XQ] and system seqno is !@ZQ [0x!16@XQ]", 6, + "RENAMEFAIL", "Rename of file !AD to !AD failed", 4, + "FILERENAME", "File !AD is renamed to !AD", 4, + "JNLBUFINFO", "Pid 0x!XL!/ dsk 0x!XL free 0x!XL bytcnt 0x!XL io_in_prog 0x!XL fsync_in_prog 0x!XL!/ dskaddr 0x!XL freeaddr 0x!XL qiocnt 0x!XL now_writer 0x!XL fsync_pid 0x!XL!/filesize 0x!XL cycle 0x!XL errcnt 0x!XL wrtsize 0x!XL fsync_dskaddr 0x!XL", 16, + "JNLQIOLOCKED", "Error obtaining io_in_prog lock on jnl-file !AD", 2, + "JNLEOFPREZERO", "Error while zeroing jnl-file !AD", 2, + "TPNOTACID", "!AD at !AD in a final TP retry violates ACID properties of a TRANSACTION; indefinite RESTARTs may occur !AD !AD", 8, + "JNLSETDATA2LONG", "SET journal record has data of length !UL. Target system cannot handle data more than !UL bytes.", 2, + "JNLNEWREC", "Target system cannot recognize journal record of type !UL, last recognized type is !UL", 2, + "REPLFTOKSEM", "Error with replication semaphores for instance file !AD", 2, + "GETCWD", "Error getting current working directory for file !AD", 2, + "EXTRIOERR", "Error writing extract file !AD", 2, + "EXTRCLOSEERR", "Error closing extract file !AD", 2, + "TRUNCATE", "Error while truncating jnl-file !AD to length !UL", 3, + "REPLEXITERR", "Replication process encountered an error while exiting", 0, + "MUDESTROYSUC", "Global section (!AD) corresponding to file !AD successfully destroyed", 4, + "DBRNDWN", "Error during global database rundown for region !AD.!/Notify those responsible for proper database operation.", 2, + "MUDESTROYFAIL", "Global section (!AD) corresponding to file !AD failed to be destroyed", 4, + "NOTALLDBOPN", "Not all required database files were opened", 0, + "MUSELFBKUP", "Database file !AD can not be backed upon itself", 2, + "DBDANGER", "Process !UL [0x!XL] killed while committing update for database file !AD. Possibility of damage to block 0x!XL.", 5, + "TRUNCATEFAIL", "Truncating !AD from 0x!XL VMS blocks to 0x!XL blocks failed", 4, + "TCGETATTR", "Error while getting terminal attributes on file descriptor !UL", 1, + "TCSETATTR", "Error while setting terminal attributes on file descriptor !UL", 1, + "IOWRITERR", "IO Write by pid 0x!XL to blk 0x!XL of database file !AD failed. Pid 0x!XL retrying the IO.", 5, + "REPLINSTWRITE", "Error writing [0x!XL] bytes at offset [0x!16@XQ] in replication instance file !AD", 4, + "DBBADFREEBLKCTR", "Database !AD free blocks counter in file header: 0x!XL is incorrect, should be 0x!XL. Auto-corrected.", 4, + "REQ2RESUME", "Request to resume suspended processing received from process !UL owned by userid !UL", 2, + "TIMERHANDLER", "Incorrect SIGALRM handler (0x!XJ) found by !AD", 3, + "FREEMEMORY", "Error occurred freeing memory from 0x!XJ", 1, + "MUREPLSECDEL", "Replication section !AD deleted", 2, + "MUREPLSECNOTDEL", "Replication section !AD not deleted", 2, + "MUJPOOLRNDWNSUC", "Jnlpool section (id = !AD) belonging to the replication instance !AD successfully rundown", 4, + "MURPOOLRNDWNSUC", "Recvpool section (id = !AD) belonging to the replication instance !AD successfully rundown", 4, + "MUJPOOLRNDWNFL", "Jnlpool section (id = !AD) belonging to the replication instance !AD rundown failed", 4, + "MURPOOLRNDWNFL", "Recvpool section (id = !AD) belonging to the replication instance !AD rundown failed", 4, + "MUREPLPOOL", "Error with replpool section !AD", 2, + "REPLACCSEM", "Error with replication access semaphore (id = !UL) for instance file !AD", 3, + "JNLFLUSHNOPROG", "No progress while attempting to flush journal file !AD", 2, + "REPLINSTCREATE", "Error creating replication instance file !AD", 2, + "SUSPENDING", "Suspending processing on user request or attempt to do terminal I/O while running in the background", 0, + "SOCKBFNOTEMPTY", "Socket buffer size cannot be set to 0x!XL due to 0x!XL bytes of buffered data. Read first.", 2, + "ILLESOCKBFSIZE", "The specified socket buffer size is 0x!XL, which is either 0 or too big", 1, + "NOSOCKETINDEV", "There is no socket in the current socket device", 0, + "SETSOCKOPTERR", "Setting the socket attribute !AD failed: (errno == !UL) !AD", 5, + "GETSOCKOPTERR", "Getting the socket attribute !AD failed: (errno == !UL) !AD", 5, + "NOSUCHPROC", "Process !UL does not exist - no need to !AD it", 3, + "DSENOFINISH", "DSE unable to finish all requested actions", 0, + "LKENOFINISH", "LKE unable to finish all requested actions", 0, + "NOCHLEFT", "Unhandled condition exception (all handlers exhausted) - process terminating", 0, + "MULOGNAMEDEF", "Logical name !AD, needed to start replication server is already defined for this job. !/Check for an existing or improperly terminated server.", 2, + "BUFOWNERSTUCK", "Pid !UL waiting for Pid !UL to finish disk-read of block !UL [0x!XL].!/Been waiting for !UL minutes. read_in_progress=!UL : rip_latch = !UL.", 7, + "ACTIVATEFAIL", "Failed to activate passive source server for secondary instance !AD", 2, + "DBRNDWNWRN", "Global section of database file !AD not rundown successfully by pid !UL [0x!XL]. Global section was not removed.", 4, + "DLLNOOPEN", "Failed to load external dynamic library !AD", 2, + "DLLNORTN", "Failed to look up the location of the symbol !AD", 2, + "DLLNOCLOSE", "Failed to unload external dynamic library", 0, + "FILTERNOTALIVE", "Replication server detected that the filter is not alive while attempting to send seqno !16@XQ", 1, + "FILTERCOMM", "Error communicating seqno !16@XQ with the filter", 1, + "FILTERBADCONV", "Bad conversion of seqno !16@XQ by filter", 1, + "PRIMARYISROOT", "Attempted operation not valid on root primary instance !AD", 2, + "GVQUERYGETFAIL", "Global variable QUERY and GET failed. Failure code: !AD.", 2, + "DBCREC2BIGINBLK", "A Record in block 0x!XL has a length greater than the maximum (!UL) in database !AD", 4, + "MERGEDESC", "Merge operation not possible. !AD is descendent of !AD.", 4, + "MERGEINCOMPL", "Error encountered during MERGE; operation may be incomplete", 0, + "DBNAMEMISMATCH", "Database file !AD points to shared memory (id = !UL) which in turn points to an inaccessible database file !AZ", 4, + "DBIDMISMATCH", "Database file !AZ (region !AD) id does not match file id in shared memory (id = !UL).", 4, + "DEVOPENFAIL", "Error opening !AD", 2, + "IPCNOTDEL", "!AD : !AD did not delete IPC resources for region !AD", 6, + "XCVOIDRET", "Attempt to return a value from function !AD, which is declared void in external call table !AD", 4, + "MURAIMGFAIL", "Mupip recover or rollback failed while processing an after-image journal record. Failure code: !AD.", 2, + "REPLINSTUNDEF", "Replication instance environment variable $gtm_repl_instance is undefined", 0, + "REPLINSTACC", "Error accessing replication instance file !AD", 2, + "NOJNLPOOL", "No journal pool info found in the replication instance of !AD", 2, + "NORECVPOOL", "No receiver pool info found in the replication instance of !AD", 2, + "FTOKERR", "Error getting ftok of the file !AD", 2, + "REPLREQRUNDOWN", "Error accessing replication instance !AD. Must be rundown on cluster node !AD.", 4, + "BLKCNTEDITFAIL", "Mupip recover or rollback failed to correct the block count field in the file header for file !AD", 2, + "SEMREMOVED", "Semaphore id !UL removed from the system", 1, + "REPLINSTFMT", "Format error encountered while reading replication instance file !AD. Expected !AD. Found !AD.", 6, + "SEMKEYINUSE", "Semaphore key 0x!XL is already in use (possibly by an older version)", 1, + "XTRNTRANSERR", "Error attempting to generate an environment using an external algorithm", 0, + "XTRNTRANSDLL", "Error during extended reference environment translation. Check the above message.", 0, + "XTRNRETVAL", "Length of return value (!SL) from extended reference translation algorithm is not in the range [0,!UL]", 2, + "XTRNRETSTR", "Return string from extended reference translation algorithm is NULL", 0, + "INVECODEVAL", "Invalid value for $ECODE (!AD)", 2, + "SETECODE", "Non-empty value assigned to $ECODE (user-defined error trap)", 0, + "INVSTACODE", "Invalid value for second parameter of $STACK (!AD)", 2, + "REPEATERROR", "Repeat previous error", 0, + "NOCANONICNAME", "Value is not a canonic name (!AD)", 2, + "NOSUBSCRIPT", "No such subscript found (!SL)", 1, + "SYSTEMVALUE", "Invalid value for $SYSTEM (!AD)", 2, + "SIZENOTVALID4", "Size (in bytes) must be either 1, 2, or 4", 0, + "STRNOTVALID", "Error: cannot convert !AD value to valid value", 2, + "RECNOCREJNL", "Recover could not create new journal file !AD", 2, + "ERRWETRAP", "Error while processing $ETRAP", 0, + "TRACINGON", "Tracing already turned on", 0, + "CITABENV", "Environment variable for call-in table !AD not set", 2, + "CITABOPN", "Unable to open call-in table: !AD", 2, + "CIENTNAME", "No label reference found for this entry in call-in table", 0, + "CIRTNTYP", "Invalid return type", 0, + "CIRCALLNAME", "Call-in routine name expected but not found", 0, + "CIRPARMNAME", "Invalid parameter specification for call-in table", 0, + "CIDIRECTIVE", "Invalid directive parameter passing. Expected I, O or IO.", 0, + "CIPARTYPE", "Invalid type specification for O/IO directive - expected pointer type", 0, + "CIUNTYPE", "Unknown parameter type encountered", 0, + "CINOENTRY", "No entry specified for !AD in the call-in table", 2, + "JNLINVSWITCHLMT", "Journal AUTOSWITCHLIMIT [!UL] falls outside of allowed limits [!UL] and [!UL]", 3, + "SETZDIR", "Cannot change working directory to !AD", 2, + "JOBACTREF", "Actual parameter in job command passed by reference", 0, + "ECLOSTMID", "$ECODE overflow, the first and last ecodes are retained, but some intervening ecodes have been lost", 0, + "ZFF2MANY", "Number of characters specified for ZFF deviceparameter (!UL) is more than the maximum allowed (!UL)", 2, + "JNLFSYNCLSTCK", "Journaling fsync lock is stuck in journal file !AD", 2, + "DELIMWIDTH", "Delimiter length !UL exceeds device width !UL", 2, + "DBBMLCORRUPT", "Database !AD : Bitmap blk [0x!XL] is corrupt (size = [0x!XL], levl = [0x!XL], tn = [0x!16@XQ]) : Dbtn = [0x!16@XQ] : Database integrity errors likely", 7, + "DLCKAVOIDANCE", "Possible deadlock detected: Database !AD : Dbtn [0x!16@XQ] : t_tries [0x!XL] : dollar_trestart [0x!XL] : now_crit [0x!XL] : TP transaction restarted", 6, + "WRITERSTUCK", "Buffer flush stuck waiting for [0x!XL] concurrent writers to finish writing to database file !AD", 3, + "PATNOTFOUND", "Current pattern table has no characters with pattern code !AD", 2, + "INVZDIRFORM", "Invalid value (!UL) specified for ZDIR_FORM", 1, + "ZDIROUTOFSYNC", "$ZDIRECTORY !AD is not the same as its cached value !AD", 4, + "GBLNOEXIST", "Global !AD no longer exists", 2, + "MAXBTLEVEL", "Global !AD reached maximum level", 2, + "JNLSTRESTFL", "Failed to restore journaling state for database !AD", 2, + "JNLALIGNSZCHG", "Journal ALIGNSIZE is rounded up to !UL blocks (closest next higher power of two)", 1, + "MAXTRACELEVEL", "The maximum traceable level of !UL has been exceeded. The frame information will not be maintained.", 1, + "GVFAILCORE", "A core file is being created for later analysis if necessary", 0, + "DBCDBNOCERTIFY", "Database !AD HAS NOT been certified due to the preceding errors - rerun DBCERTIFY SCAN", 2, + "DBFRZRESETSUC", "Freeze released successfully on database file !AD", 2, + "JNLFILEXTERR", "Error during extension of journal file !AD", 2, + "JOBEXAMDONE", "GT.M process !UL completed job examine to !AD", 3, + "JOBEXAMFAIL", "GT.M process !UL executing $ZJOBEXAM function failed with the preceding error message", 1, + "JOBINTRRQST", "Job interrupt requested", 0, + "ERRWZINTR", "Error while processing $ZINTERRUPT", 0, + "CLIERR", "!AD", 2, + "REPLNOBEFORE", "NOBEFORE option cannot be used when the current replication state is ON for database file !AD", 2, + "REPLJNLCNFLCT", "Journaling cannot be turned !AD on database file !AD as the replication state is !AD and must also be turned !AD in the same command", 8, + "JNLDISABLE", "Specified journal option(s) cannot take effect as journaling is DISABLED on database file !AD", 2, + "FILEEXISTS", "File !AD already exists", 2, + "JNLSTATE", "Journaling state for !AD !AD is now !AD", 6, + "REPLSTATE", "Replication state for !AD !AD is now !AD", 6, + "JNLCREATE", "Journal file !AD created for !AD !AD with !AD", 8, + "JNLNOCREATE", "Journal file !AD not created", 2, + "JNLFNF", "Journal file !AD not found", 2, + "PREVJNLLINKCUT", "Previous journal file name link set to NULL in new journal file !AD created for database file !AD", 4, + "PREVJNLLINKSET", "Previous generation journal file name is changed from !AD to !AD", 4, + "FILENAMETOOLONG", "File name too long", 0, + "UNUSEDMSG1131", "JNLCREATERR Last used in V5.4-001", 0, + "JNLTRANS2BIG", "Transaction needs an estimated [!UL blocks] in journal file !AD which exceeds the AUTOSWITCHLIMIT of !UL blocks", 4, + "JNLSWITCHTOOSM", "Journal AUTOSWITCHLIMIT [!UL blocks] is less than Journal ALLOCATION [!UL blocks] for database file !AD", 4, + "JNLSWITCHSZCHG", "Journal AUTOSWITCHLIMIT [!UL blocks] is rounded down to [!UL blocks] to equal the sum of Journal ALLOCATION [!UL blocks] and a multiple of Journal EXTENSION [!UL blocks] for database file !AD", 6, + "NOTRNDMACC", "Only random access files are supported as backup files for non-incremental backup", 0, + "TMPFILENOCRE", "Error in MUPIP BACKUP while trying to create temporary file !AD", 2, + "SHRMEMEXHAUSTED", "Attempt by process to use more shared memory than currently permitted by VMS", 0, + "JNLSENDOPER", "pid = 0x!XL : status = 0x!XL : jpc_status = 0x!XL : jpc_status2 = 0x!XL : iosb.cond = 0x!XW", 5, + "DDPSUBSNUL", "NUL characters in subscripts are not supported by DDP", 0, + "DDPNOCONNECT", "Named volume set, !AD, is not connected", 2, + "DDPCONGEST", "Agent congestion", 0, + "DDPSHUTDOWN", "Server has shut down", 0, + "DDPTOOMANYPROCS", "Maximum process limit of !UL exceeded", 1, + "DDPBADRESPONSE", "DDP invalid response code: !XB; message text follows", 1, + "DDPINVCKT", "Invalid format for CIRCUIT", 0, + "DDPVOLSETCONFIG", "Volume Set Configuration file error", 0, + "DDPCONFGOOD", "Volume Set Configuration entry accepted", 0, + "DDPCONFIGNORE", "Volume Set Configuration line ignored", 0, + "DDPCONFINCOMPL", "Volume Set Configuration entry incomplete", 0, + "DDPCONFBADVOL", "Volume Set Configuration entry : invalid volume", 0, + "DDPCONFBADUCI", "Volume Set Configuration entry : invalid uci", 0, + "DDPCONFBADGLD", "Volume Set Configuration entry : invalid global directory", 0, + "DDPRECSIZNOTNUM", "Maximum record size is not numeric", 0, + "DDPOUTMSG2BIG", "DDP message too big to be accommodated in outbound buffer", 0, + "DDPNOSERVER", "DDP Server not running on local node", 0, + "MUTEXRELEASED", "Process !UL [0x!XL] has released the critical section for database !AD to avoid deadlock. $TLEVEL: !UL t_tries: !UL", 6, + "JNLCRESTATUS", "!AD at line !UL for journal file !AD, database file !AD encountered error", 7, + "ZBREAKFAIL", "Could not set breakpoint at !AD due to insufficient memory", 2, + "DLLVERSION", "Routine !AD in library !AD was compiled with an incompatible version of GT.M. Recompile with the current version and re-link.", 4, + "INVZROENT", "!AD is neither a directory nor an object library(DLL)", 2, + "DDPLOGERR", "!AD: !AD", 4, + "GETSOCKNAMERR", "Getting the socket name failed from getsockname(): (errno==!UL) !AD", 3, + "INVGTMEXIT", "Inappropriate invocation of gtm_exit. gtm_exit cannot be invoked from external calls.", 0, + "CIMAXPARAM", "Exceeded maximum number of parameters in the call-in table entry. An M routine cannot accept more than 32 parameters.", 0, + "CITPNESTED", "Call-ins can not be used inside a TP transaction", 0, + "CIMAXLEVELS", "Too many nested Call-ins. Nested resources exhausted at level !UL.", 1, + "JOBINTRRETHROW", "Job interrupt redelivered", 0, + "STARFILE", "Star(*) argument cannot be specified with !AD", 2, + "NOSTARFILE", "Only star(*) argument can be specified with !AD", 2, + "MUJNLSTAT", "!AD at !AD", 4, + "JNLTPNEST", "Mupip journal command found nested TP transactions for journal file !AD at offset 0x!XL at transaction number 0x!16@XQ", 4, + "REPLOFFJNLON", "Replication state for database file !AD is OFF but journaling state is enabled", 2, + "FILEDELFAIL", "Deletion of file !AD failed", 2, + "INVQUALTIME", "Invalid time qualifier value. Specify as !AD=delta_or_absolute_time.", 2, + "NOTPOSITIVE", "!AD qualifier must be given a value greater than zero", 2, + "INVREDIRQUAL", "Invalid REDIRECT qualifier value. !AD", 2, + "INVERRORLIM", "Invalid ERROR_LIMIT qualifier value. Must be at least zero", 0, + "INVIDQUAL", "Invalid ID qualifier value !AD", 2, + "INVTRNSQUAL", "Invalid TRANSACTION qualifier. Specify only one of TRANSACTION=[NO]SET or TRANSACTION=[NO]KILL.", 0, + "JNLNOBIJBACK", "MUPIP JOURNAL BACKWARD cannot continue as journal file !AD does not have before image journaling", 2, + "SETREG2RESYNC", "Setting resync sequence number 0x!16@XQ to region sequence number 0x!16@XQ for database !AD", 4, + "JNLALIGNTOOSM", "Alignsize !UL (bytes) is too small for a block size of !UL (bytes) for !AD !AD. Using alignsize of !UL (bytes) instead.", 7, + "JNLFILEOPNERR", "Error opening journal file !AD", 2, + "JNLFILECLOSERR", "Error closing journal file !AD", 2, + "REPLSTATEOFF", "ROLLBACK cannot proceed as database !AD does not have replication ON", 2, + "MUJNLPREVGEN", "Previous generation journal file !AD included for database file !AD", 4, + "MUPJNLINTERRUPT", "Database file !AD indicates interrupted MUPIP JOURNAL command. Restore from backup for forward recovery.", 2, + "ROLLBKINTERRUPT", "Database file !AD indicates interrupted ROLLBACK. Reissue the MUPIP JOURNAL ROLLBACK command.", 2, + "RLBKJNSEQ", "Journal seqno of the instance after rollback is !@ZQ [0x!16@XQ]", 2, + "REPLRECFMT", "Replication journal record format error encountered", 0, + "PRIMARYNOTROOT", "Attempted operation not valid on non-root primary instance !AD", 2, + "DBFRZRESETFL", "Freeze release failed on database file !AD", 2, + "JNLCYCLE", "Journal file !AD causes cycle in the journal file generations of database file !AD", 4, + "JNLPREVRECOV", "Journal file has nonzero value in prev_recov_end_of_data field", 0, + "RESOLVESEQNO", "Resolving until sequence number !@ZQ [0x!16@XQ]", 2, + "BOVTNGTEOVTN", "Journal file !AD has beginning transaction [0x!16@XQ] which is greater than end transaction [0x!16@XQ]", 4, + "BOVTMGTEOVTM", "Journal file !AD has beginning timestamp [0x!16@XQ] greater than end timestamp [0x!16@XQ]", 4, + "BEGSEQGTENDSEQ", "Journal file !AD has beginning sequence number [0x!16@XQ] greater than end sequence number [0x!16@XQ]", 4, + "DBADDRALIGN", "Database file !AD, element location 0x!XJ: blk = 0x!XL: [!AD] control 0x!XJ was unaligned relative to base 0x!XJ and element size 0x!XL", 9, + "DBWCVERIFYSTART", "Database file !AD, write cache verification started by pid !UL [0x!XL] at transaction number 0x!16@XQ", 5, + "DBWCVERIFYEND", "Database file !AD, write cache verification finished by pid !UL [0x!XL] at transaction number 0x!16@XQ", 5, + "MUPIPSIG", "!AD (signal !UL) issued from process !UL [0x!XL] to process !UL [0x!XL]", 7, + "HTSHRINKFAIL", "Hash table compaction failed to allocate new smaller table due to lack of memory", 0, + "STPEXPFAIL", "Stringpool expansion failed. It could not expand to !UL bytes.", 1, + "DBBTUWRNG", "The blocks-to-upgrade file-header field is incorrect. Expected 0x!XL, found 0x!XL", 2, + "DBBTUFIXED", "The blocks-to-upgrade file-header field has been changed to the correct value", 0, + "DBMAXREC2BIG", "Maximum record size (!UL) is too large for this block size (!UL) - Maximum is !UL", 3, + "DBCSCNNOTCMPLT", "Specified DBCERTIFY SCAN output file is not complete - Rerun scan", 0, + "DBCBADFILE", "Source file !AD does not appear to have been generated by DBCERTIFY SCAN - rerun SCAN or specify correct file", 2, + "DBCNOEXTND", "Unable to extend database !AD", 2, + "DBCINTEGERR", "Encountered integrity error in database !AD", 2, + "DBMINRESBYTES", "Minimum RESERVED BYTES value required for certification/upgrade is !UL - Currently is !UL", 2, + "DBCNOTSAMEDB", "Database has been moved or restored since DBCERTIFY SCAN - Rerun scan", 0, + "DBCDBCERTIFIED", "Database !AD has been certified for use with !AD", 4, + "DBCMODBLK2BIG", "Block 0x!XL has been modified since DBCERTIFY SCAN but is still too large or now has an earlier TN than in the scan phase - Rerun scan phase", 1, + "DBCREC2BIG", "Record with key !AD is length !UL in block 0x!XL which is greater than the maximum length !UL in database !AD", 7, + "DBCCMDFAIL", "Executed command failed with return code !SL: !AD which executed !AD !AD", 7, + "DBCKILLIP", "Cannot proceed with kill in progress indicator set for database !AD -- Run MUPIP INTEG first", 2, + "DBCNOFINISH", "DBCERTIFY unable to finish all requested actions", 0, + "DYNUPGRDFAIL", "Unable to dynamically upgrade block 0x!XL in database !AD due to lack of free space in block", 3, + "MMNODYNDWNGRD", "Unable to use dynamic downgrade with MM access method for region !AD. Use BG access method for downgrade", 2, + "MMNODYNUPGRD", "Unable to use MM access method for region !AD until all database blocks are upgraded", 2, + "MUDWNGRDNRDY", "Database !AD is not ready to downgrade - still !UL database blocks to downgrade", 3, + "MUDWNGRDTN", "Transaction number 0x!16@XQ in database !AD is too big for MUPIP [REORG] DOWNGRADE. Renew database with MUPIP INTEG TN_RESET", 3, + "MUDWNGRDNOTPOS", "Start VBN value is [!UL] while downgraded GT.M version can support only [!UL]. Downgrade not possible", 2, + "MUUPGRDNRDY", "Database !AD has not been certified as being ready to upgrade to !AD format", 4, + "TNWARN", "Database file !AD has 0x!16@XQ more transactions to go before reaching the transaction number limit (0x!16@XQ). Renew database with MUPIP INTEG TN_RESET", 4, + "TNTOOLARGE", "Database file !AD has reached the transaction number limit (0x!16@XQ). Renew database with MUPIP INTEG TN_RESET", 3, + "SHMPLRECOV", "Shared memory pool block recovery invoked for region !AD", 2, + "MUNOSTRMBKUP", "Database !AD has a block size larger than !UL and thus cannot use stream (incremental) backup", 3, + "EPOCHTNHI", "At the EPOCH record at offset !UL of !AD transaction number [0x!16@XQ] is higher than database transaction number [0x!16@XQ]", 5, + "CHNGTPRSLVTM", "Mupip will change tp_resolve_time from !UL to !UL because expected EPOCH or EOF record was not found in Journal File !AD", 4, + "JNLUNXPCTERR", "Unexpected error encountered for Journal !AD at disk address 0x!XL", 3, + "OMISERVHANG", "GTCM OMI server is hung", 0, + "RSVDBYTE2HIGH", "Record size (!UL) is greater than the maximum allowed for region !AD with Block size (!UL) and Reserved bytes (!UL)", 5, + "BKUPTMPFILOPEN", "Open of backup temporary file !AD failed", 2, + "BKUPTMPFILWRITE", "Write to backup temporary file !AD failed", 2, + "VMSMEMORY2", "Central storage exhausted during allocation of dynamic file descriptor with !UL bytes - check page file quota and page file size", 1, + "LOADBGSZ2", "Load error: BEGIN too large. No records loaded.", 0, + "LOADEDSZ2", "Load error: END too large. No records loaded.", 0, + "REPLINSTMISMTCH", "Process has replication instance file !AD (jnlpool shmid = !UL) open but database !AD is bound to instance file !AD (jnlpool shmid = !UL)", 8, + "REPLINSTREAD", "Error reading [0x!XL] bytes at offset [0x!16@XQ] from replication instance file !AD", 4, + "REPLINSTDBMATCH", "Replication instance file !AD has seqno [0x!16@XQ] while database has a different seqno [0x!16@XQ]", 4, + "REPLINSTNMSAME", "Primary and Secondary instances have the same replication instance name !AD", 2, + "REPLINSTNMUNDEF", "Replication instance name not defined", 0, + "REPLINSTNMLEN", "Replication instance name !AD should be 1 to 15 characters long", 2, + "REPLINSTNOHIST", "History information for !AD not found in replication instance file !AD", 4, + "REPLINSTSECLEN", "Secondary replication instance name !AD should be 1 to 15 characters long", 2, + "REPLINSTSECMTCH", "Secondary replication instance name !AD sent by receiver does not match !AD specified at source server startup", 4, + "REPLINSTSECNONE", "No information found for secondary instance !AD in instance file !AD", 4, + "REPLINSTSECUNDF", "Secondary replication instance name not defined", 0, + "REPLINSTSEQORD", "!AD has seqno [0x!16@XQ] which is less than last record seqno [0x!16@XQ] in replication instance file !AD", 6, + "REPLINSTSTNDALN", "Could not get exclusive access to replication instance file !AD", 2, + "REPLREQROLLBACK", "Replication instance file !AD indicates abnormal shutdown or an incomplete ROLLBACK. Run MUPIP JOURNAL ROLLBACK first", 2, + "UNUSEDMSG1255", "REPLUPGRADEPRI : Last used in V5.4-002B", 0, + "UNUSEDMSG1256", "REPLUPGRADESEC : Last used in V5.4-002B", 0, + "SRCSRVEXISTS", "Source server for secondary instance !AD is already running with pid !UL", 3, + "SRCSRVNOTEXIST", "Source server for secondary instance !AD is not alive", 2, + "SRCSRVTOOMANY", "Cannot start more than !UL source servers in replication instance !AD", 3, + "JNLPOOLBADSLOT", "Source server slot for secondary instance !AD is in an inconsistent state. Pid = [!UL], State = [!UL], SlotIndex = [!UL]", 5, + "NOENDIANCVT", "Unable to convert the endian format of file !AD due to !AD", 4, + "ENDIANCVT", "Converted database file !AD from !AZ endian to !AZ endian on a !AZ endian system", 5, + "DBENDIAN", "Database file !AD is !AZ endian on a !AZ endian system", 4, + "BADCHSET", "!AD is not a valid character mapping in this context", 2, + "BADCASECODE", "!AD is not a valid case conversion code", 2, + "BADCHAR", "$ZCHAR(!AD) is not a valid character in the !AD encoding form", 4, + "DLRCILLEGAL", "!_!AD!/!_!_!_Illegal $CHAR() value !UL", 3, + "NONUTF8LOCALE", "Locale has character encoding (!AD) which is not compatible with UTF-8 character set", 2, + "INVDLRCVAL", "Invalid $CHAR() value !UL", 1, + "DBMISALIGN", "Database file !AD has !UL blocks which does not match alignment rules. Reconstruct the database from a backup or extend it by at least !UL blocks.", 4, + "LOADINVCHSET", "Extract file CHSET (!AD) is incompatible with gtm_chset", 2, + "DLLCHSETM", "Routine !AD in library !AD was compiled with CHSET=M which is different from $ZCHSET. Recompile with CHSET=UTF-8 and re-link.", 4, + "DLLCHSETUTF8", "Routine !AD in library !AD was compiled with CHSET=UTF-8 which is different from $ZCHSET. Recompile with CHSET=M and re-link.", 4, + "BOMMISMATCH", "!AD Byte Order Marker found when !AD character set specified", 4, + "WIDTHTOOSMALL", "WIDTH should be at least 2 when device ICHSET or OCHSET is UTF-8 or UTF-16", 0, + "SOCKMAX", "Attempt to exceed maximum sockets (!UL) for the SOCKET device", 1, + "PADCHARINVALID", "PAD deviceparameter cannot be greater than 127", 0, + "ZCNOPREALLOUTPAR", "Parameter !UL in external call !AD.!AD is an output only parameter requiring pre-allocation", 5, + "SVNEXPECTED", "Special variable expected in this context", 0, + "SVNONEW", "Cannot NEW this special variable", 0, + "ZINTDIRECT", "Attempt to enter direct mode from $ZINTERRUPT", 0, + "ZINTRECURSEIO", "Attempt to do IO to the active device in $ZINTERRUPT", 0, + "MRTMAXEXCEEDED", "Maximum value of !UL for SOCKET device parameter MOREREADTIME exceeded", 1, + "JNLCLOSED", "Journaling closed for database file !AD at transaction number 0x!16@XQ", 3, + "RLBKNOBIMG", "ROLLBACK cannot proceed as database !AD has NOBEFORE_IMAGE journaling", 2, + "RLBKJNLNOBIMG", "Journal file !AD has NOBEFORE_IMAGE journaling", 2, + "RLBKLOSTTNONLY", "ROLLBACK will only create a lost transaction file (database and journal files will not be modified)", 0, + "KILLBYSIGSINFO3", "!AD process !UL has been killed by a signal !UL accessing vaddress 0x!XJ", 5, + "GTMSECSHRTMPPATH", "gtmsecshr path is !AD", 2, + "GTMERREXIT", "GTM image has exited with errors", 0, + "INVMEMRESRV", "Could not allocate GT.M memory reserve (!AD)", 2, + "OPCOMMISSED", "!UL errors and !UL MBFULLs sending prior operator messages", 2, + "COMMITWAITSTUCK", "Pid !UL timed out after waiting !UL minute(s) for !UL concurrent GT.M process(es) to finish commits in database file !AD", 5, + "COMMITWAITPID", "Pid !UL waited !UL minute(s) for pid !UL to finish commits to block 0x!XL in database file !AD", 6, + "UPDREPLSTATEOFF", "Error replicating global ^!AD as it maps to database !AD which has replication turned OFF", 4, + "LITNONGRAPH", "M standard requires graphics in string literals", 0, + "DBFHEADERR8", "Database file !AD: control problem: !AD was 0x!XJ expecting 0x!XJ", 6, + "MMBEFOREJNL", "BEFORE image journaling cannot be set with MM access method in database file !AD", 2, + "MMNOBFORRPL", "Replication cannot be used in database file !AD which uses MM access method and NOBEFORE image journaling", 2, + "KILLABANDONED", "Abandoned kills counter is greater than zero for file !AD, !AD", 4, + "BACKUPKILLIP", "Kill in progress indicator is set for file !AD, backup database could have incorrectly marked busy integrity errors", 2, + "LOGTOOLONG", "Environment variable !AD is too long. Maximum length allowed is !UL bytes.", 3, + "NOALIASLIST", "Parenthetical lists of multiple arguments cannot have a preceding alias introducer or include alias (*) forms", 0, + "ALIASEXPECTED", "Alias or alias container variable expected in this context", 0, + "VIEWLVN", "Invalid local variable name used with VIEW/$VIEW(): !AD", 2, + "DZWRNOPAREN", "$ZWRTACxxx is not allowed inside a parenthesized SET target", 0, + "DZWRNOALIAS", "$ZWRTAC cannot be aliased", 0, + "FREEZEERR", "Error while trying to !AD region !AD", 4, + "CLOSEFAIL", "Error while closing file descriptor !SL", 1, + "CRYPTINIT", "Error initializing encryption library. !AD", 2, + "CRYPTOPFAILED", "Encrypt/Decrypt operation failed. !AD", 2, + "CRYPTDLNOOPEN", "Error loading encryption library. !AD", 2, + "CRYPTNOV4", "!AD is an encrypted database. Cannot downgrade(to V4) with Encryption option enabled.", 2, + "CRYPTNOMM", "!AD is an encrypted database. Cannot support MM access method.", 2, + "CRYPTJNLWRONGHASH", "Encryption key hash mismatch between journal file !AD and corresponding database file !AD", 4, + "CRYPTKEYFETCHFAILED", "Cannot obtain encryption key for !AD. !AD", 4, + "CRYPTKEYFETCHFAILEDNF", "Cannot obtain encryption key. !AD", 2, + "CRYPTHASHGENFAILED", "Error generating encryption hash. !AD", 2, + "CRYPTNOPSWDINTP", "Cannot prompt for password inside a TP transaction.", 0, + "BADTAG", "Unable to use file !AD (CCSID !UL) with CCSID !UL", 4, + "ICUVERLT36", "!AD !UL.!UL. ICU version greater than or equal to 3.6 should be used", 4, + "ICUSYMNOTFOUND", "Symbol !AD not found in the ICU libraries. ICU needs to be built with symbol-renaming disabled or gtm_icu_version environment variable needs to be properly specified", 2, + "STUCKACT", "Process stuck script invoked: !AD : !AD", 4, + "CALLINAFTERXIT", "After a gtm_exit, a process can never create a valid GT.M context", 0, + "LOCKSPACEFULL", "No more room for LOCK slots on database file !AD", 2, + "IOERROR", "Error occured while doing !AD in !AD operation -- called from module !AD at line !UL", 7, + "MAXSSREACHED", "Maximum snapshots - !UL - for region !AD reached. Please wait for the existing snapshots to complete before starting a new one.", 3, + "SNAPSHOTNOV4", "Cannot downgrade (to V4) while snapshots are in progress. Currently !UL snapshots are in progress for region !AD.", 3, + "SSV4NOALLOW", "Database snapshots are supported only on fully upgraded V5 databases. !AD has V4 format blocks.", 2, + "SSTMPDIRSTAT", "Cannot access temporary directory !AD", 2, + "SSTMPCREATE", "Cannot create the temporary file in directory !AD for the requested snapshot", 2, + "JNLFILEDUP", "Journal files !AD and !AD are the same", 4, + "SSPREMATEOF", "Premature end of file while reading block !UL of size: !UL bytes at offset: !UL from !AD", 5, + "SSFILOPERR", "Error while doing !AD operation on file !AD", 4, + "REGSSFAIL", "Process !UL encountered error contributing to the snapshot for region !AD - the snapshot is no longer valid", 3, + "SSSHMCLNUPFAIL", "Error while doing snapshot shared memory cleanup. Operation -- !AD. Identifier -- !UL", 3, + "SSFILCLNUPFAIL", "Error while unlinking snapshot file -- !AD", 2, + "SETINTRIGONLY", "ISV !AD cannot be modified outside of the trigger environment", 2, + "MAXTRIGNEST", "Maximum trigger nesting level (!UL) exceeded", 1, + "TRIGCOMPFAIL", "Compilation of database trigger named !AD failed", 2, + "NOZTRAPINTRIG", "Use of $ZTRAP in a database trigger environment ($ZTLEVEL greater than 0) is not supported", 0, + "ZTWORMHOLE2BIG", "String length of !UL bytes exceeds maximum length of !UL bytes for $ZTWORMHOLE", 2, + "JNLENDIANLITTLE", "Journal file !AD is LITTLE endian on a BIG endian system", 2, + "JNLENDIANBIG", "Journal file !AD is BIG endian on a LITTLE endian system", 2, + "TRIGINVCHSET", "Trigger !AD for global ^!AD was created with CHSET=!AD which is different from the current $ZCHSET of this process", 6, + "TRIGREPLSTATE", "Trigger cannot update replicated database file !AD since triggering update was not replicated", 2, + "GVDATAGETFAIL", "Global variable DATAGET sub-operation (in KILL function) failed. Failure code: !AD.", 2, + "TRIG2NOTRIG", "Sending transaction sequence number 0x!16@XQ which used triggers to a replicator that does not support triggers", 1, + "ZGOTOINVLVL", "ZGOTO in a trigger running in !AD cannot ZGOTO level !UL", 3, + "TRIGTCOMMIT", "TCOMMIT at $ZTLEVEL=!UL not allowed as corresponding TSTART was done at lower $ZTLEVEL=!UL", 2, + "TRIGTLVLCHNG", "Detected a net transaction level ($TLEVEL) change during trigger !AD. Transaction level must be the same at exit as when the trigger started", 2, + "TRIGNAMEUNIQ", "Unable to make trigger name !AD unique beyond !UL versions already loaded", 3, + "ZTRIGINVACT", "Missing or invalid parameter in position !UL given to $ZTRIGGER()", 1, + "UNUSEDMSG1354", "ZTRIGNOTP : Last used in V5.4-001", 0, + "QUITALSINV", "QUIT * return when the extrinsic was not invoked with SET *", 0, + "PROCTERM", "!AD process termination due to !AD (return code !UL) from !AD", 7, + "SRCLNNTDSP", "Source lines exceeding !UL character width are not displayed", 1, + "ARROWNTDSP", "Unable to display ^----- due to length of source line", 0, + "TRIGDEFBAD", "Trigger initialization failed for global ^!AD. Error while processing ^#t(\"!AD\",!AD)", 6, + "TRIGSUBSCRANGE", "Trigger definition for global ^!AD has one or more invalid subscript range(s) : !AD", 4, + "TRIGDATAIGNORE", "Ignoring trigger data !AD. Use MUPIP TRIGGER to load trigger definitions", 2, + "TRIGIS", "!_!_Trigger name: !AD", 2, + "TCOMMITDISALLOW", "TROLLBACK required after an unhandled error in trigger context", 0, + "SSATTACHSHM", "Error while attaching to shared memory identifier !UL", 1, + "TRIGDEFNOSYNC", "Global ^!AD has triggers defined on the !AD instance but none on the !AD instance. Current journal sequence number is 0x!16@XQ", 7, + "TRESTMAX", "TRESTART not allowed in a final TP retry more than once", 0, + "TPLOCKRESTMAX", "Transaction restarts due to unavailability of locks not allowed in a final TP retry more than !UL times", 1, + "GBLEXPECTED", "Global variable reference expected in this context", 0, + "GVZTRIGFAIL", "ZTRIGGER of a global variable failed. Failure code: !AD.", 2, + "UNUSEDMSG1370", "ONLYLDTRIG: Last used in V5.4-001", 0, + "SETINSETTRIGONLY", "ISV !AD can only be modified in a 'SET' type trigger", 2, + "DZTRIGINTRIG", "$ZTRIGGER() is not allowed inside trigger context. Trigger name: !AD", 2, + "SECNODZTRIGINTP", "Sequence number 0x!16@XQ contains $ZTRIGGER() updates made inside a transaction which the current replicating instance does not support. The replicating instance must be upgraded to at least V5.4-002 to support this type of transaction. Cannot continue", 1, + "BOOLSIDEFFECT", "Extrinsic ($$), External call ($&) or $INCREMENT() with potential side effects in Boolean expression", 0, + "DBBADUPGRDSTATE", "Correcting conflicting values for fields describing database version upgrade state in the file header for region !AD (!AD) - make fresh backups with new journal files immediately.", 4, + "WRITEWAITPID", "PID !UL waited !UL minute(s) for PID !UL to finish writing block 0x!XL in database file !AD", 6, + "ZGOCALLOUTIN", "ZGOTO level 0 with entry ref not valid when using call-ins", 0, + "REPLNOXENDIAN", "!AD side is running on a GT.M version that does not support cross-endian replication. Upgrade the !AD side to at least V5.3-003 to support cross-endian replication. Cannot continue", 4, + "REPLXENDIANFAIL", "!AD side encountered error while doing endian conversion at journal sequence number 0x!16@XQ", 3, + "ZGOTOINVLVL2", "ZGOTO 0:entryref is not valid on VMS (UNLINK is a UNIX only feature)", 0, + "GTMSECSHRCHDIRF", "gtmsecshr unable to chdir to its temporary directory (!AD)", 2, + "UNUSEDMSG1382", "FORCTRLINDX: Only used in V5.4-002", 0, + "ZCCLNUPRTNMISNG", "External call: Cleanup routine name missing. Cannot continue", 0, + "ZCINVALIDKEYWORD", "External call: Invalid keyword found. Cannot continue", 0, + "REPLNOMULTILINETRG", "Sequence number 0x!16@XQ contains a trigger definition too large for transmission to the current replicating instance, which does not support multi-line triggers - stopping replication", 1, + "DBSHMNAMEDIFF", "Database file !AD points to shared memory (id = !UL) which points to a different database file !AZ", 4, + "SHMREMOVED", "Removed Shared Memory id !UL corresponding to file !AD", 3, + "DEVICEWRITEONLY", "Cannot read from a write-only device", 0, + "ICUERROR", "ICU returned status !UL which is either unrecognized or inconsistent with the operating context", 1, + "ZDATEBADDATE", "$ZDATE() date argument !AD is less than -365 (the $HOROLOG value for 01-JAN-1840) or greater than 364570088 (the $HOROLOG value for 31-DEC-999999)", 2, + "ZDATEBADTIME", "$ZDATE() time argument !AD is less than 0 or greater than 86399 (the $HOROLOG value for a second before midnight)", 2, + "COREINPROGRESS", "Previous core attempt failed; core generation bypassed", 0, + "MAXSEMGETRETRY", "Failed to get ftok semaphore after !UL tries because it is being continually deleted", 1, + "JNLNOREPL", "Replication not enabled for journal file !AD (database file !AD)", 4, + "JNLRECINCMPL", "Incomplete journal record at disk address 0x!XL for file !AD while attempting to read seqno 0x!16@XQ", 4, + "JNLALLOCGROW", "Increased Journal ALLOCATION from [!UL blocks] to [!UL blocks] to match AUTOSWITCHLIMIT for !AZ !AD", 5, + "INVTRCGRP", "Invalid trace group specified in $gtm_trace_groups: !AD", 2, + "MUINFOUINT6", "!AD : !UL [0x!XL] ; $H=!UL,!UL", 6, + "NOLOCKMATCH", "No matching locks were found in !AD", 2, + "BADREGION", "Region is not BG, MM, or CM", 0, + "LOCKSPACEUSE", "Estimated free lock space: !UL% of !UL pages", 2, + "JIUNHNDINT", "An error during $ZINTERRUPT processing was not handled: !AD", 2, + "GTMASSERT2", "!AD - Assert failed !AD line !UL for expression (!AD)", 7, + "ZTRIGNOTRW", "ZTRIGGER cannot operate on read-only region !AD", 2, + "TRIGMODREGNOTRW", "Trigger(s) cannot be added/changed/deleted because region !AD is read-only", 2, + "INSNOTJOINED", "Replicating Instance !AD is not a member of the same Group as Instance !AD", 4, + "INSROLECHANGE", "Supplementary Instance !AD and non-Supplementary Instance !AD belong to the same Group", 4, + "INSUNKNOWN", "Supplementary Instance !AD has no instance definition for non-Supplementary Instance !AD", 4, + "NORESYNCSUPPLONLY", "NORESYNC only supported for Supplementary Instances", 0, + "NORESYNCUPDATERONLY", "NORESYNC qualifier only allowed on a Supplementary Instance which allows local updates", 0, + "NOSUPPLSUPPL", "Instance !AD is configured to perform local updates so it cannot receive from Supplementary Instance !AD", 4, + "REPL2OLD", "Instance !AD uses a GT.M version that does not support connection with the current version on instance !AD", 4, + "RCVR2MANY", "The instance already has the maximum supportable number of receiver servers [!UL] active", 1, + "RLBKCONFIGBNDRY", "Rollback encountered journal records indicating current source !AD replaced old source !AD; cannot rollback past sequence number 0x!16@XQ", 5, + "SECNOTSUPPLEMENTARY", "!AD is a Supplementary Instance and so cannot act as a source to non-Supplementary Instance !AD ", 4, + "SUPRCVRNEEDSSUPSRC", "Instance !AD is not configured to perform local updates so it cannot act as a receiver for non-Supplementary Instance !AD", 4, + "SYNCTOSAMETYPE", "Source instance !AD and receiver instance !AD must either be both supplementary or both non-supplementary for them to synchronize their state", 4, + "TARGINSRUNNING", "Cannot change the instance definition of instance !AD while it is running", 2, + "UPDSYNC2MTINS", "Can only UPDATERESYNC with an empty instance file", 0, + "UPDSYNCINSTFILE", "Error with instance file name specified in UPDATERESYNC qualifier", 0, + "REUSEINSTNAME", "Error with instance name specified in REUSE qualifier", 0, + "RCVRMANYSTRMS", "Receiver server now connecting to source stream [!2UL] but had previously connected to a different stream [!2UL]", 2, + "RSYNCSTRMVAL", "RSYNC_STRM qualifier can only take on a value from 0 to 15", 0, + "RLBKSTRMSEQ", "Stream journal seqno of the instance after rollback is Stream !2UL : Seqno !@ZQ [0x!16@XQ]", 3, + "RESOLVESEQSTRM", "Resolving until stream sequence number Stream !2UL : Seqno !@ZQ [0x!16@XQ]", 3, + "REPLINSTDBSTRM", "Replication instance file !AD has seqno [0x!16@XQ] for Stream !2UL while database has a different seqno [0x!16@XQ]", 5, + "RESUMESTRMNUM", "Error with stream number specified in RESUME qualifier", 0, + "ORLBKSTART", "ONLINE ROLLBACK started on instance !AD corresponding to !AD", 4, + "ORLBKTERMNTD", "ONLINE ROLLBACK terminated on instance !AD corresponding to !AD with the above errors", 4, + "ORLBKCMPLT", "ONLINE ROLLBACK completed successfully on instance !AD corresponding to !AD", 4, + "ORLBKNOSTP", "ONLINE ROLLBACK proceeding with database updates. MUPIP STOP will no longer be allowed", 0, + "ORLBKFRZPROG", "!AD : waiting for FREEZE on region !AD (!AD) to clear", 6, + "ORLBKFRZOVER", "!AD : FREEZE on region !AD (!AD) cleared", 6, + "ORLBKNOV4BLK", "Region !AD (!AD) has V4 format blocks. Database upgrade required. ONLINE ROLLBACK cannot continue", 4, + "DBROLLEDBACK", "Concurrent ONLINE ROLLBACK detected on one or more regions. The current operation is no longer valid", 0, + "DSEWCREINIT", "Database cache reinitialized by DSE for region !AD", 2, + "RNDWNSKIPCNT", "A total of !UL process(es) skipped database rundown due to a concurrent ONLINE ROLLBACK", 1, + "REPLONLNRLBK", "ONLINE ROLLBACK detected. Starting afresh", 0, + "SRVLCKWT2LNG", "PID !UL is holding the source server lock. Waited for !UL minute(s). Now exiting", 2, + "IGNBMPMRKFREE", "Ignoring bitmap free-up operation for region !AD (!AD) due to concurrent ONLINE ROLLBACK", 4, + "PERMGENFAIL", "Failed to determine access permissions to use for creation of !AD for file !AD", 4, + "PERMGENDIAG", "Permissions: Proc(uid:!UL,gid:!UL), DB File(uid:!UL,gid:!UL,perm:!AD), Lib File(gid:!UL,perm:!AD), Group Mem(opener:!UL,owner:!UL)", 11, + "MUTRUNC1ATIME", "Process with PID !UL already performing truncate in region !AD", 3, + "MUTRUNCBACKINPROG", "Truncate detected concurrent backup in progress for region !AD", 2, + "MUTRUNCERROR", "Truncate of region !AD encountered service error !AD", 4, + "MUTRUNCFAIL", "Truncate failed after reorg", 0, + "MUTRUNCNOSPACE", "Region !AD has insufficient space to meet truncate target percentage of !UL", 3, + "MUTRUNCNOTBG", "Region !AD does not have access method BG ", 2, + "MUTRUNCNOV4", "Region !AD is not fully upgraded from V4 format.", 2, + "MUTRUNCPERCENT", "Truncate threshold percentage should be from 0 to 99", 0, + "MUTRUNCSSINPROG", "Truncate detected concurrent snapshot in progress for region !AD", 2, + "MUTRUNCSUCCESS", "Database file !AD truncated from 0x!XL blocks to 0x!XL at transaction 0x!16@XQ", 5, + "RSYNCSTRMSUPPLONLY", "RSYNC_STRM qualifier only supported for Supplementary Instances", 0, + "STRMNUMIS", "Stream # is !2UL", 1, + "STRMNUMMISMTCH1", "Stream !2UL exists on the receiver instance file but is unknown on the source instance", 1, + "STRMNUMMISMTCH2", "Stream !2UL exists on the source instance file but is unknown on the receiver instance", 1, + "STRMSEQMISMTCH", "Unable to play update on Stream !2UL with seqno [0x!16@XQ] as receiving instance has a different stream seqno [0x!16@XQ]", 3, + "LOCKSPACEINFO", "Region: !AD: processes on queue: !UL/!UL; LOCK slots in use: !UL/!UL; name space!ADfull", 8, + "JRTNULLFAIL", "Applying NULL journal record failed. Failure code: !AD.", 2, +}; + +LITDEF int ERR_ACK = 150372361; +LITDEF int ERR_BREAKZST = 150372371; +LITDEF int ERR_BADACCMTHD = 150372379; +LITDEF int ERR_BADJPIPARAM = 150372386; +LITDEF int ERR_BADSYIPARAM = 150372394; +LITDEF int ERR_BITMAPSBAD = 150372402; +LITDEF int ERR_BREAK = 150372411; +LITDEF int ERR_BREAKDEA = 150372419; +LITDEF int ERR_BREAKZBA = 150372427; +LITDEF int ERR_STATCNT = 150372435; +LITDEF int ERR_BTFAIL = 150372442; +LITDEF int ERR_MUPRECFLLCK = 150372450; +LITDEF int ERR_CMD = 150372458; +LITDEF int ERR_COLON = 150372466; +LITDEF int ERR_COMMA = 150372474; +LITDEF int ERR_COMMAORRPAREXP = 150372482; +LITDEF int ERR_COMMENT = 150372491; +LITDEF int ERR_CTRAP = 150372498; +LITDEF int ERR_CTRLC = 150372507; +LITDEF int ERR_CTRLY = 150372515; +LITDEF int ERR_DBCCERR = 150372522; +LITDEF int ERR_DUPTOKEN = 150372530; +LITDEF int ERR_DBJNLNOTMATCH = 150372538; +LITDEF int ERR_DBFILERR = 150372546; +LITDEF int ERR_DBNOTGDS = 150372554; +LITDEF int ERR_DBOPNERR = 150372562; +LITDEF int ERR_DBRDERR = 150372570; +LITDEF int ERR_CCEDUMPNOW = 150372580; +LITDEF int ERR_DEVPARINAP = 150372586; +LITDEF int ERR_RECORDSTAT = 150372595; +LITDEF int ERR_NOTGBL = 150372602; +LITDEF int ERR_DEVPARPROT = 150372610; +LITDEF int ERR_PREMATEOF = 150372618; +LITDEF int ERR_GVINVALID = 150372626; +LITDEF int ERR_DEVPARTOOBIG = 150372634; +LITDEF int ERR_DEVPARUNK = 150372642; +LITDEF int ERR_DEVPARVALREQ = 150372650; +LITDEF int ERR_DEVPARMNEG = 150372658; +LITDEF int ERR_DSEBLKRDFAIL = 150372666; +LITDEF int ERR_DSEFAIL = 150372674; +LITDEF int ERR_NOTALLREPLON = 150372680; +LITDEF int ERR_BADLKIPARAM = 150372690; +LITDEF int ERR_JNLREADBOF = 150372698; +LITDEF int ERR_DVIKEYBAD = 150372706; +LITDEF int ERR_ENQ = 150372713; +LITDEF int ERR_EQUAL = 150372722; +LITDEF int ERR_ERRORSUMMARY = 150372730; +LITDEF int ERR_ERRWEXC = 150372738; +LITDEF int ERR_ERRWIOEXC = 150372746; +LITDEF int ERR_ERRWZBRK = 150372754; +LITDEF int ERR_ERRWZTRAP = 150372762; +LITDEF int ERR_NUMUNXEOR = 150372770; +LITDEF int ERR_EXPR = 150372778; +LITDEF int ERR_STRUNXEOR = 150372786; +LITDEF int ERR_JNLEXTEND = 150372794; +LITDEF int ERR_FCHARMAXARGS = 150372802; +LITDEF int ERR_FCNSVNEXPECTED = 150372810; +LITDEF int ERR_FNARGINC = 150372818; +LITDEF int ERR_JNLACCESS = 150372826; +LITDEF int ERR_TRANSNOSTART = 150372834; +LITDEF int ERR_FNUMARG = 150372842; +LITDEF int ERR_FOROFLOW = 150372850; +LITDEF int ERR_YDIRTSZ = 150372858; +LITDEF int ERR_JNLSUCCESS = 150372865; +LITDEF int ERR_GBLNAME = 150372874; +LITDEF int ERR_GBLOFLOW = 150372882; +LITDEF int ERR_CORRUPT = 150372890; +LITDEF int ERR_GTMCHECK = 150372900; +LITDEF int ERR_GVDATAFAIL = 150372906; +LITDEF int ERR_EORNOTFND = 150372914; +LITDEF int ERR_GVGETFAIL = 150372922; +LITDEF int ERR_GVIS = 150372931; +LITDEF int ERR_GVKILLFAIL = 150372938; +LITDEF int ERR_GVNAKED = 150372946; +LITDEF int ERR_GVNEXTARG = 150372954; +LITDEF int ERR_GVORDERFAIL = 150372962; +LITDEF int ERR_GVPUTFAIL = 150372970; +LITDEF int ERR_PATTABSYNTAX = 150372978; +LITDEF int ERR_GVSUBOFLOW = 150372986; +LITDEF int ERR_GVUNDEF = 150372994; +LITDEF int ERR_TRANSNEST = 150373002; +LITDEF int ERR_INDEXTRACHARS = 150373010; +LITDEF int ERR_INDMAXNEST = 150373018; +LITDEF int ERR_INDRMAXLEN = 150373026; +LITDEF int ERR_INSFFBCNT = 150373034; +LITDEF int ERR_INTEGERRS = 150373042; +LITDEF int ERR_INVCMD = 150373050; +LITDEF int ERR_INVFCN = 150373058; +LITDEF int ERR_INVOBJ = 150373066; +LITDEF int ERR_INVSVN = 150373074; +LITDEF int ERR_IOEOF = 150373082; +LITDEF int ERR_IONOTOPEN = 150373090; +LITDEF int ERR_MUPIPINFO = 150373099; +LITDEF int ERR_IVTIME = 150373106; +LITDEF int ERR_JOBFAIL = 150373114; +LITDEF int ERR_JOBLABOFF = 150373122; +LITDEF int ERR_JOBPARNOVAL = 150373130; +LITDEF int ERR_JOBPARNUM = 150373138; +LITDEF int ERR_JOBPARSTR = 150373146; +LITDEF int ERR_JOBPARUNK = 150373154; +LITDEF int ERR_JOBPARVALREQ = 150373162; +LITDEF int ERR_JUSTFRACT = 150373170; +LITDEF int ERR_KEY2BIG = 150373178; +LITDEF int ERR_LABELEXPECTED = 150373186; +LITDEF int ERR_LABELMISSING = 150373194; +LITDEF int ERR_LABELUNKNOWN = 150373202; +LITDEF int ERR_DIVZERO = 150373210; +LITDEF int ERR_LKNAMEXPECTED = 150373218; +LITDEF int ERR_JNLRDERR = 150373226; +LITDEF int ERR_LOADRUNNING = 150373234; +LITDEF int ERR_LPARENMISSING = 150373242; +LITDEF int ERR_LSEXPECTED = 150373250; +LITDEF int ERR_LVORDERARG = 150373258; +LITDEF int ERR_MAXFORARGS = 150373266; +LITDEF int ERR_TRANSMINUS = 150373274; +LITDEF int ERR_MAXNRSUBSCRIPTS = 150373282; +LITDEF int ERR_MAXSTRLEN = 150373290; +LITDEF int ERR_JNLDBERR = 150373298; +LITDEF int ERR_JNLFILOPN = 150373306; +LITDEF int ERR_MBXRDONLY = 150373314; +LITDEF int ERR_JNLINVALID = 150373322; +LITDEF int ERR_MBXWRTONLY = 150373330; +LITDEF int ERR_MEMORY = 150373340; +LITDEF int ERR_MTBLKTOOBIG = 150373346; +LITDEF int ERR_MTBLKTOOSM = 150373354; +LITDEF int ERR_MTFIXRECSZ = 150373362; +LITDEF int ERR_MTIS = 150373371; +LITDEF int ERR_MTRDBADBLK = 150373378; +LITDEF int ERR_MTRDONLY = 150373386; +LITDEF int ERR_MTRDTHENWRT = 150373394; +LITDEF int ERR_MTRECGTRBLK = 150373402; +LITDEF int ERR_MTRECTOOBIG = 150373410; +LITDEF int ERR_MTRECTOOSM = 150373418; +LITDEF int ERR_JNLTMQUAL3 = 150373426; +LITDEF int ERR_MULTLAB = 150373434; +LITDEF int ERR_BLKCNT = 150373443; +LITDEF int ERR_CCEDUMPOFF = 150373452; +LITDEF int ERR_NOPLACE = 150373458; +LITDEF int ERR_JNLCLOSE = 150373466; +LITDEF int ERR_NOTPRINCIO = 150373472; +LITDEF int ERR_NOTTOEOFONPUT = 150373482; +LITDEF int ERR_NOZBRK = 150373491; +LITDEF int ERR_NULSUBSC = 150373498; +LITDEF int ERR_NUMOFLOW = 150373506; +LITDEF int ERR_PARFILSPC = 150373514; +LITDEF int ERR_PATCLASS = 150373522; +LITDEF int ERR_PATCODE = 150373530; +LITDEF int ERR_PATLIT = 150373538; +LITDEF int ERR_PATMAXLEN = 150373546; +LITDEF int ERR_LPARENREQD = 150373554; +LITDEF int ERR_PATUPPERLIM = 150373562; +LITDEF int ERR_PCONDEXPECTED = 150373570; +LITDEF int ERR_PRCNAMLEN = 150373578; +LITDEF int ERR_RANDARGNEG = 150373586; +LITDEF int ERR_DBPRIVERR = 150373594; +LITDEF int ERR_REC2BIG = 150373602; +LITDEF int ERR_RHMISSING = 150373610; +LITDEF int ERR_DEVICEREADONLY = 150373618; +LITDEF int ERR_COLLDATAEXISTS = 150373626; +LITDEF int ERR_ROUTINEUNKNOWN = 150373634; +LITDEF int ERR_RPARENMISSING = 150373642; +LITDEF int ERR_RTNNAME = 150373650; +LITDEF int ERR_VIEWGVN = 150373658; +LITDEF int ERR_RTSLOC = 150373667; +LITDEF int ERR_RWARG = 150373674; +LITDEF int ERR_RWFORMAT = 150373682; +LITDEF int ERR_JNLWRTDEFER = 150373691; +LITDEF int ERR_SELECTFALSE = 150373698; +LITDEF int ERR_SPOREOL = 150373706; +LITDEF int ERR_SRCLIN = 150373715; +LITDEF int ERR_SRCLOC = 150373723; +LITDEF int ERR_SRCLOCUNKNOWN = 150373731; +LITDEF int ERR_STACKCRIT = 150373738; +LITDEF int ERR_STACKOFLOW = 150373748; +LITDEF int ERR_STACKUNDERFLO = 150373754; +LITDEF int ERR_STRINGOFLOW = 150373762; +LITDEF int ERR_SVNOSET = 150373770; +LITDEF int ERR_VIEWFN = 150373778; +LITDEF int ERR_TERMASTQUOTA = 150373786; +LITDEF int ERR_TEXTARG = 150373794; +LITDEF int ERR_TMPSTOREMAX = 150373802; +LITDEF int ERR_VIEWCMD = 150373810; +LITDEF int ERR_TXTNEGLIN = 150373818; +LITDEF int ERR_TXTSRCFMT = 150373826; +LITDEF int ERR_UIDMSG = 150373834; +LITDEF int ERR_UIDSND = 150373842; +LITDEF int ERR_UNDEF = 150373850; +LITDEF int ERR_UNIMPLOP = 150373858; +LITDEF int ERR_VAREXPECTED = 150373866; +LITDEF int ERR_VARRECBLKSZ = 150373874; +LITDEF int ERR_MAXARGCNT = 150373882; +LITDEF int ERR_WCFAIL = 150373890; +LITDEF int ERR_VIEWARGCNT = 150373898; +LITDEF int ERR_XKILLCNTEXC = 150373906; +LITDEF int ERR_ZATTACHERR = 150373914; +LITDEF int ERR_ZDATEFMT = 150373922; +LITDEF int ERR_ZEDFILSPEC = 150373930; +LITDEF int ERR_ZFILENMTOOLONG = 150373938; +LITDEF int ERR_ZFILKEYBAD = 150373946; +LITDEF int ERR_ZFILNMBAD = 150373954; +LITDEF int ERR_ZGOTOLTZERO = 150373962; +LITDEF int ERR_ZGOTOTOOBIG = 150373970; +LITDEF int ERR_ZLINKFILE = 150373978; +LITDEF int ERR_ZPARSETYPE = 150373986; +LITDEF int ERR_ZPARSFLDBAD = 150373994; +LITDEF int ERR_ZPIDBADARG = 150374002; +LITDEF int ERR_ZPRIVARGBAD = 150374010; +LITDEF int ERR_ZPRIVSYNTAXERR = 150374018; +LITDEF int ERR_ZPRTLABNOTFND = 150374026; +LITDEF int ERR_VIEWAMBIG = 150374034; +LITDEF int ERR_VIEWNOTFOUND = 150374042; +LITDEF int ERR_ZSETPRVARGBAD = 150374050; +LITDEF int ERR_INVSPECREC = 150374058; +LITDEF int ERR_ZSETPRVSYNTAX = 150374066; +LITDEF int ERR_ZSRCHSTRMCT = 150374074; +LITDEF int ERR_VERSION = 150374082; +LITDEF int ERR_MUNOTALLSEC = 150374088; +LITDEF int ERR_MUSECDEL = 150374099; +LITDEF int ERR_MUSECNOTDEL = 150374107; +LITDEF int ERR_RPARENREQD = 150374114; +LITDEF int ERR_ZGBLDIRACC = 150374122; +LITDEF int ERR_GVNAKEDEXTNM = 150374130; +LITDEF int ERR_EXTGBLDEL = 150374138; +LITDEF int ERR_DSEWCINITCON = 150374147; +LITDEF int ERR_LASTFILCMPLD = 150374155; +LITDEF int ERR_NOEXCNOZTRAP = 150374163; +LITDEF int ERR_UNSDCLASS = 150374170; +LITDEF int ERR_UNSDDTYPE = 150374178; +LITDEF int ERR_ZCUNKTYPE = 150374186; +LITDEF int ERR_ZCUNKMECH = 150374194; +LITDEF int ERR_ZCUNKQUAL = 150374202; +LITDEF int ERR_JNLDBTNNOMATCH = 150374210; +LITDEF int ERR_ZCALLTABLE = 150374218; +LITDEF int ERR_ZCARGMSMTCH = 150374226; +LITDEF int ERR_ZCCONMSMTCH = 150374234; +LITDEF int ERR_ZCOPT0 = 150374242; +LITDEF int ERR_ZCSTATUS = 150374250; +LITDEF int ERR_ZCUSRRTN = 150374258; +LITDEF int ERR_ZCPOSOVR = 150374266; +LITDEF int ERR_ZCINPUTREQ = 150374274; +LITDEF int ERR_JNLTNOUTOFSEQ = 150374282; +LITDEF int ERR_ACTRANGE = 150374290; +LITDEF int ERR_ZCCONVERT = 150374298; +LITDEF int ERR_ZCRTENOTF = 150374306; +LITDEF int ERR_GVRUNDOWN = 150374314; +LITDEF int ERR_LKRUNDOWN = 150374322; +LITDEF int ERR_IORUNDOWN = 150374330; +LITDEF int ERR_FILENOTFND = 150374338; +LITDEF int ERR_MUFILRNDWNFL = 150374347; +LITDEF int ERR_JNLTMQUAL1 = 150374354; +LITDEF int ERR_FORCEDHALT = 150374364; +LITDEF int ERR_LOADEOF = 150374370; +LITDEF int ERR_WILLEXPIRE = 150374379; +LITDEF int ERR_LOADEDBG = 150374386; +LITDEF int ERR_LABELONLY = 150374394; +LITDEF int ERR_MUREORGFAIL = 150374402; +LITDEF int ERR_GVZPREVFAIL = 150374410; +LITDEF int ERR_MULTFORMPARM = 150374418; +LITDEF int ERR_QUITARGUSE = 150374426; +LITDEF int ERR_NAMEEXPECTED = 150374434; +LITDEF int ERR_UNUSEDMSG438 = 150374442; +LITDEF int ERR_NOTEXTRINSIC = 150374450; +LITDEF int ERR_UNUSEDMSG440 = 150374458; +LITDEF int ERR_FMLLSTMISSING = 150374466; +LITDEF int ERR_ACTLSTTOOLONG = 150374474; +LITDEF int ERR_ACTOFFSET = 150374482; +LITDEF int ERR_MAXACTARG = 150374490; +LITDEF int ERR_GTMDUMPFAIL = 150374498; +LITDEF int ERR_JNLTMQUAL2 = 150374506; +LITDEF int ERR_GDINVALID = 150374514; +LITDEF int ERR_ASSERT = 150374524; +LITDEF int ERR_MUFILRNDWNSUC = 150374531; +LITDEF int ERR_LOADEDSZ = 150374538; +LITDEF int ERR_QUITARGLST = 150374546; +LITDEF int ERR_QUITARGREQD = 150374554; +LITDEF int ERR_CRITRESET = 150374562; +LITDEF int ERR_UNKNOWNFOREX = 150374572; +LITDEF int ERR_FSEXP = 150374578; +LITDEF int ERR_WILDCARD = 150374586; +LITDEF int ERR_DIRONLY = 150374594; +LITDEF int ERR_FILEPARSE = 150374602; +LITDEF int ERR_QUALEXP = 150374610; +LITDEF int ERR_BADQUAL = 150374618; +LITDEF int ERR_QUALVAL = 150374626; +LITDEF int ERR_ZROSYNTAX = 150374634; +LITDEF int ERR_COMPILEQUALS = 150374642; +LITDEF int ERR_ZLNOOBJECT = 150374650; +LITDEF int ERR_ZLMODULE = 150374658; +LITDEF int ERR_DBBLEVMX = 150374667; +LITDEF int ERR_DBBLEVMN = 150374675; +LITDEF int ERR_DBBSIZMN = 150374682; +LITDEF int ERR_DBBSIZMX = 150374690; +LITDEF int ERR_DBRSIZMN = 150374698; +LITDEF int ERR_DBRSIZMX = 150374706; +LITDEF int ERR_DBCMPNZRO = 150374714; +LITDEF int ERR_DBSTARSIZ = 150374723; +LITDEF int ERR_DBSTARCMP = 150374731; +LITDEF int ERR_DBCMPMX = 150374739; +LITDEF int ERR_DBKEYMX = 150374746; +LITDEF int ERR_DBKEYMN = 150374754; +LITDEF int ERR_DBCMPBAD = 150374760; +LITDEF int ERR_DBKEYORD = 150374770; +LITDEF int ERR_DBPTRNOTPOS = 150374778; +LITDEF int ERR_DBPTRMX = 150374786; +LITDEF int ERR_DBPTRMAP = 150374795; +LITDEF int ERR_IFBADPARM = 150374802; +LITDEF int ERR_IFNOTINIT = 150374810; +LITDEF int ERR_GTMSECSHRSOCKET = 150374818; +LITDEF int ERR_LOADBGSZ = 150374826; +LITDEF int ERR_LOADFMT = 150374834; +LITDEF int ERR_LOADFILERR = 150374842; +LITDEF int ERR_NOREGION = 150374850; +LITDEF int ERR_PATLOAD = 150374858; +LITDEF int ERR_EXTRACTFILERR = 150374866; +LITDEF int ERR_FREEZE = 150374875; +LITDEF int ERR_NOSELECT = 150374880; +LITDEF int ERR_EXTRFAIL = 150374890; +LITDEF int ERR_LDBINFMT = 150374898; +LITDEF int ERR_NOPREVLINK = 150374906; +LITDEF int ERR_CCEDUMPON = 150374916; +LITDEF int ERR_CCEDMPQUALREQ = 150374922; +LITDEF int ERR_CCEDBDUMP = 150374931; +LITDEF int ERR_CCEDBNODUMP = 150374939; +LITDEF int ERR_CCPMBX = 150374946; +LITDEF int ERR_REQRUNDOWN = 150374954; +LITDEF int ERR_CCPINTQUE = 150374962; +LITDEF int ERR_CCPBADMSG = 150374970; +LITDEF int ERR_CNOTONSYS = 150374978; +LITDEF int ERR_CCPNAME = 150374988; +LITDEF int ERR_CCPNOTFND = 150374994; +LITDEF int ERR_OPRCCPSTOP = 150375003; +LITDEF int ERR_SELECTSYNTAX = 150375012; +LITDEF int ERR_LOADABORT = 150375018; +LITDEF int ERR_FNOTONSYS = 150375026; +LITDEF int ERR_AMBISYIPARAM = 150375034; +LITDEF int ERR_PREVJNLNOEOF = 150375042; +LITDEF int ERR_LKSECINIT = 150375050; +LITDEF int ERR_MTDOSLAB = 150375058; +LITDEF int ERR_MTDOSFOR = 150375066; +LITDEF int ERR_MTINVLAB = 150375074; +LITDEF int ERR_TXTSRCMAT = 150375082; +LITDEF int ERR_CCENOGROUP = 150375088; +LITDEF int ERR_BADDBVER = 150375098; +LITDEF int ERR_LINKVERSION = 150375108; +LITDEF int ERR_TOTALBLKMAX = 150375114; +LITDEF int ERR_LOADCTRLY = 150375123; +LITDEF int ERR_CLSTCONFLICT = 150375130; +LITDEF int ERR_SRCNAM = 150375139; +LITDEF int ERR_LCKGONE = 150375145; +LITDEF int ERR_SUB2LONG = 150375154; +LITDEF int ERR_EXTRACTCTRLY = 150375163; +LITDEF int ERR_CCENOWORLD = 150375168; +LITDEF int ERR_GVQUERYFAIL = 150375178; +LITDEF int ERR_LCKSCANCELLED = 150375186; +LITDEF int ERR_INVNETFILNM = 150375194; +LITDEF int ERR_NETDBOPNERR = 150375202; +LITDEF int ERR_BADSRVRNETMSG = 150375210; +LITDEF int ERR_BADGTMNETMSG = 150375218; +LITDEF int ERR_SERVERERR = 150375226; +LITDEF int ERR_NETFAIL = 150375234; +LITDEF int ERR_NETLCKFAIL = 150375242; +LITDEF int ERR_TTINVFILTER = 150375251; +LITDEF int ERR_MTANSILAB = 150375258; +LITDEF int ERR_MTANSIFOR = 150375266; +LITDEF int ERR_BADTRNPARAM = 150375274; +LITDEF int ERR_DSEONLYBGMM = 150375280; +LITDEF int ERR_DSEINVLCLUSFN = 150375288; +LITDEF int ERR_RDFLTOOSHORT = 150375298; +LITDEF int ERR_TIMRBADVAL = 150375307; +LITDEF int ERR_CCENOSYSLCK = 150375312; +LITDEF int ERR_CCPGRP = 150375324; +LITDEF int ERR_UNSOLCNTERR = 150375330; +LITDEF int ERR_BACKUPCTRL = 150375339; +LITDEF int ERR_NOCCPPID = 150375346; +LITDEF int ERR_CCPJNLOPNERR = 150375354; +LITDEF int ERR_LCKSGONE = 150375361; +LITDEF int ERR_ZLKIDBADARG = 150375370; +LITDEF int ERR_DBFILOPERR = 150375378; +LITDEF int ERR_CCERDERR = 150375386; +LITDEF int ERR_CCEDBCL = 150375395; +LITDEF int ERR_CCEDBNTCL = 150375403; +LITDEF int ERR_CCEWRTERR = 150375410; +LITDEF int ERR_CCEBADFN = 150375418; +LITDEF int ERR_CCERDTIMOUT = 150375426; +LITDEF int ERR_CCPSIGCONT = 150375435; +LITDEF int ERR_CCEBGONLY = 150375442; +LITDEF int ERR_CCENOCCP = 150375451; +LITDEF int ERR_CCECCPPID = 150375459; +LITDEF int ERR_CCECLSTPRCS = 150375467; +LITDEF int ERR_ZSHOWBADFUNC = 150375474; +LITDEF int ERR_NOTALLJNLEN = 150375480; +LITDEF int ERR_ZSHOWGLOSMALL = 150375490; +LITDEF int ERR_NOLBRSRC = 150375498; +LITDEF int ERR_INVZSTEP = 150375506; +LITDEF int ERR_ZSTEPARG = 150375514; +LITDEF int ERR_INVSTRLEN = 150375522; +LITDEF int ERR_RECCNT = 150375531; +LITDEF int ERR_TEXT = 150375539; +LITDEF int ERR_ZWRSPONE = 150375546; +LITDEF int ERR_FILEDEL = 150375555; +LITDEF int ERR_JNLBADLABEL = 150375562; +LITDEF int ERR_JNLREADEOF = 150375570; +LITDEF int ERR_JNLRECFMT = 150375578; +LITDEF int ERR_BLKTOODEEP = 150375586; +LITDEF int ERR_NESTFORMP = 150375594; +LITDEF int ERR_BINHDR = 150375603; +LITDEF int ERR_GOQPREC = 150375611; +LITDEF int ERR_LDGOQFMT = 150375618; +LITDEF int ERR_BEGINST = 150375627; +LITDEF int ERR_INVMVXSZ = 150375636; +LITDEF int ERR_JNLWRTNOWWRTR = 150375642; +LITDEF int ERR_MUPGDERR = 150375650; +LITDEF int ERR_JNLINVALLOC = 150375656; +LITDEF int ERR_JNLINVEXT = 150375664; +LITDEF int ERR_MUPCLIERR = 150375674; +LITDEF int ERR_JNLTMQUAL4 = 150375682; +LITDEF int ERR_JNLBUFFTOOLG = 150375688; +LITDEF int ERR_JNLBUFFTOOSM = 150375696; +LITDEF int ERR_MUNODBNAME = 150375706; +LITDEF int ERR_FILECREATE = 150375715; +LITDEF int ERR_FILENOTCREATE = 150375723; +LITDEF int ERR_JNLPROCSTUCK = 150375731; +LITDEF int ERR_INVGLOBALQUAL = 150375738; +LITDEF int ERR_COLLARGLONG = 150375746; +LITDEF int ERR_NOPINI = 150375754; +LITDEF int ERR_DBNOCRE = 150375762; +LITDEF int ERR_JNLSPACELOW = 150375771; +LITDEF int ERR_DBCOMMITCLNUP = 150375779; +LITDEF int ERR_BFRQUALREQ = 150375786; +LITDEF int ERR_REQDVIEWPARM = 150375794; +LITDEF int ERR_COLLFNMISSING = 150375802; +LITDEF int ERR_JNLACTINCMPLT = 150375808; +LITDEF int ERR_NCTCOLLDIFF = 150375818; +LITDEF int ERR_DLRCUNXEOR = 150375826; +LITDEF int ERR_DLRCTOOBIG = 150375834; +LITDEF int ERR_WCERRNOTCHG = 150375842; +LITDEF int ERR_WCWRNNOTCHG = 150375848; +LITDEF int ERR_ZCWRONGDESC = 150375858; +LITDEF int ERR_MUTNWARN = 150375864; +LITDEF int ERR_JNLNAMLEN = 150375874; +LITDEF int ERR_LCKSTIMOUT = 150375880; +LITDEF int ERR_CTLMNEMAXLEN = 150375890; +LITDEF int ERR_CTLMNEXPECTED = 150375898; +LITDEF int ERR_USRIOINIT = 150375906; +LITDEF int ERR_CRITSEMFAIL = 150375914; +LITDEF int ERR_TERMWRITE = 150375922; +LITDEF int ERR_COLLTYPVERSION = 150375930; +LITDEF int ERR_LVNULLSUBS = 150375938; +LITDEF int ERR_GVREPLERR = 150375946; +LITDEF int ERR_MTIOERR = 150375954; +LITDEF int ERR_RMWIDTHPOS = 150375962; +LITDEF int ERR_OFFSETINV = 150375970; +LITDEF int ERR_JOBPARTOOLONG = 150375978; +LITDEF int ERR_JOBARGMISSING = 150375986; +LITDEF int ERR_RUNPARAMERR = 150375994; +LITDEF int ERR_FNNAMENEG = 150376002; +LITDEF int ERR_ORDER2 = 150376010; +LITDEF int ERR_MUNOUPGRD = 150376018; +LITDEF int ERR_REORGCTRLY = 150376027; +LITDEF int ERR_TSTRTPARM = 150376034; +LITDEF int ERR_TRIGNAMENF = 150376042; +LITDEF int ERR_TRIGZBREAKREM = 150376048; +LITDEF int ERR_TLVLZERO = 150376058; +LITDEF int ERR_TRESTNOT = 150376066; +LITDEF int ERR_TPLOCK = 150376074; +LITDEF int ERR_TPQUIT = 150376082; +LITDEF int ERR_TPFAIL = 150376090; +LITDEF int ERR_TPRETRY = 150376098; +LITDEF int ERR_TPTOODEEP = 150376106; +LITDEF int ERR_ZDEFACTIVE = 150376114; +LITDEF int ERR_ZDEFOFLOW = 150376122; +LITDEF int ERR_MUPRESTERR = 150376130; +LITDEF int ERR_MUBCKNODIR = 150376138; +LITDEF int ERR_TRANS2BIG = 150376146; +LITDEF int ERR_INVBITLEN = 150376154; +LITDEF int ERR_INVBITSTR = 150376162; +LITDEF int ERR_INVBITPOS = 150376170; +LITDEF int ERR_PARNORMAL = 150376177; +LITDEF int ERR_PARBUFSM = 150376186; +LITDEF int ERR_RMWIDTHTOOBIG = 150376194; +LITDEF int ERR_PATTABNOTFND = 150376202; +LITDEF int ERR_OBJFILERR = 150376210; +LITDEF int ERR_SRCFILERR = 150376218; +LITDEF int ERR_NEGFRACPWR = 150376226; +LITDEF int ERR_MTNOSKIP = 150376234; +LITDEF int ERR_CETOOMANY = 150376242; +LITDEF int ERR_CEUSRERROR = 150376250; +LITDEF int ERR_CEBIGSKIP = 150376258; +LITDEF int ERR_CETOOLONG = 150376266; +LITDEF int ERR_CENOINDIR = 150376274; +LITDEF int ERR_COLLATIONUNDEF = 150376282; +LITDEF int ERR_RBWRNNOTCHG = 150376288; +LITDEF int ERR_GTMSECSHRSRVF = 150376298; +LITDEF int ERR_FREEZECTRL = 150376307; +LITDEF int ERR_JNLFLUSH = 150376315; +LITDEF int ERR_CCPSIGDMP = 150376323; +LITDEF int ERR_NOPRINCIO = 150376332; +LITDEF int ERR_INVPORTSPEC = 150376338; +LITDEF int ERR_INVADDRSPEC = 150376346; +LITDEF int ERR_SOCKPARMREQ = 150376354; +LITDEF int ERR_IPADDRREQ = 150376362; +LITDEF int ERR_SOCKWAIT = 150376370; +LITDEF int ERR_SOCKACPT = 150376378; +LITDEF int ERR_SOCKINIT = 150376386; +LITDEF int ERR_OPENCONN = 150376394; +LITDEF int ERR_DEVNOTIMP = 150376402; +LITDEF int ERR_JNLEXTR = 150376410; +LITDEF int ERR_DBREMOTE = 150376418; +LITDEF int ERR_JNLREQUIRED = 150376426; +LITDEF int ERR_TPMIXUP = 150376434; +LITDEF int ERR_HTOFLOW = 150376442; +LITDEF int ERR_RMNOBIGRECORD = 150376450; +LITDEF int ERR_DBBMSIZE = 150376459; +LITDEF int ERR_DBBMBARE = 150376467; +LITDEF int ERR_DBBMINV = 150376475; +LITDEF int ERR_DBBMMSTR = 150376483; +LITDEF int ERR_DBROOTBURN = 150376491; +LITDEF int ERR_REPLSTATEERR = 150376498; +LITDEF int ERR_VMSMEMORY = 150376508; +LITDEF int ERR_DBDIRTSUBSC = 150376515; +LITDEF int ERR_TIMEROVFL = 150376522; +LITDEF int ERR_GTMASSERT = 150376532; +LITDEF int ERR_DBFHEADERR4 = 150376539; +LITDEF int ERR_DBADDRANGE = 150376547; +LITDEF int ERR_DBQUELINK = 150376555; +LITDEF int ERR_DBCRERR = 150376563; +LITDEF int ERR_MUSTANDALONE = 150376571; +LITDEF int ERR_MUNOACTION = 150376578; +LITDEF int ERR_RMBIGSHARE = 150376586; +LITDEF int ERR_TPRESTART = 150376595; +LITDEF int ERR_SOCKWRITE = 150376602; +LITDEF int ERR_DBCNTRLERR = 150376611; +LITDEF int ERR_NOTERMENV = 150376619; +LITDEF int ERR_NOTERMENTRY = 150376627; +LITDEF int ERR_NOTERMINFODB = 150376635; +LITDEF int ERR_INVACCMETHOD = 150376642; +LITDEF int ERR_JNLOPNERR = 150376650; +LITDEF int ERR_JNLRECTYPE = 150376658; +LITDEF int ERR_JNLTRANSGTR = 150376666; +LITDEF int ERR_JNLTRANSLSS = 150376674; +LITDEF int ERR_JNLWRERR = 150376682; +LITDEF int ERR_FILEIDMATCH = 150376690; +LITDEF int ERR_EXTSRCLIN = 150376699; +LITDEF int ERR_EXTSRCLOC = 150376707; +LITDEF int ERR_BIGNOACL = 150376714; +LITDEF int ERR_ERRCALL = 150376722; +LITDEF int ERR_ZCCTENV = 150376730; +LITDEF int ERR_ZCCTOPN = 150376738; +LITDEF int ERR_ZCCTNULLF = 150376746; +LITDEF int ERR_ZCUNAVAIL = 150376754; +LITDEF int ERR_ZCENTNAME = 150376762; +LITDEF int ERR_ZCCOLON = 150376770; +LITDEF int ERR_ZCRTNTYP = 150376778; +LITDEF int ERR_ZCRCALLNAME = 150376786; +LITDEF int ERR_ZCRPARMNAME = 150376794; +LITDEF int ERR_ZCUNTYPE = 150376802; +LITDEF int ERR_ZCMLTSTATUS = 150376810; +LITDEF int ERR_ZCSTATUSRET = 150376818; +LITDEF int ERR_ZCMAXPARAM = 150376826; +LITDEF int ERR_ZCCSQRBR = 150376834; +LITDEF int ERR_ZCPREALLNUMEX = 150376842; +LITDEF int ERR_ZCPREALLVALPAR = 150376850; +LITDEF int ERR_VERMISMATCH = 150376858; +LITDEF int ERR_JNLCNTRL = 150376866; +LITDEF int ERR_TRIGNAMBAD = 150376874; +LITDEF int ERR_BUFRDTIMEOUT = 150376882; +LITDEF int ERR_INVALIDRIP = 150376890; +LITDEF int ERR_BLKSIZ512 = 150376899; +LITDEF int ERR_MUTEXERR = 150376906; +LITDEF int ERR_JNLVSIZE = 150376914; +LITDEF int ERR_MUTEXLCKALERT = 150376920; +LITDEF int ERR_MUTEXFRCDTERM = 150376928; +LITDEF int ERR_GTMSECSHR = 150376938; +LITDEF int ERR_GTMSECSHRSRVFID = 150376944; +LITDEF int ERR_GTMSECSHRSRVFIL = 150376952; +LITDEF int ERR_SOCKACTNA = 150376962; +LITDEF int ERR_PROTNOTSUP = 150376970; +LITDEF int ERR_DELIMSIZNA = 150376978; +LITDEF int ERR_INVCTLMNE = 150376986; +LITDEF int ERR_SOCKLISTEN = 150376994; +LITDEF int ERR_LQLENGTHNA = 150377002; +LITDEF int ERR_ADDRTOOLONG = 150377010; +LITDEF int ERR_UNUSEDMSG760 = 150377018; +LITDEF int ERR_CPBEYALLOC = 150377026; +LITDEF int ERR_DBRDONLY = 150377034; +LITDEF int ERR_DUPTN = 150377040; +LITDEF int ERR_TRESTLOC = 150377050; +LITDEF int ERR_REPLPOOLINST = 150377058; +LITDEF int ERR_ZCVECTORINDX = 150377064; +LITDEF int ERR_REPLNOTON = 150377074; +LITDEF int ERR_JNLMOVED = 150377082; +LITDEF int ERR_EXTRFMT = 150377091; +LITDEF int ERR_CALLERID = 150377099; +LITDEF int ERR_KRNLKILL = 150377108; +LITDEF int ERR_MEMORYRECURSIVE = 150377116; +LITDEF int ERR_FREEZEID = 150377123; +LITDEF int ERR_BLKWRITERR = 150377131; +LITDEF int ERR_STOPTIMEOUT = 150377138; +LITDEF int ERR_TRIGMODINTP = 150377146; +LITDEF int ERR_BCKUPBUFLUSH = 150377154; +LITDEF int ERR_NOFORKCORE = 150377160; +LITDEF int ERR_JNLREAD = 150377170; +LITDEF int ERR_JNLMINALIGN = 150377176; +LITDEF int ERR_JNLDSKALIGN = 150377184; +LITDEF int ERR_JNLPOOLSETUP = 150377194; +LITDEF int ERR_JNLSTATEOFF = 150377202; +LITDEF int ERR_RECVPOOLSETUP = 150377210; +LITDEF int ERR_REPLCOMM = 150377218; +LITDEF int ERR_NOREPLCTDREG = 150377224; +LITDEF int ERR_REPLINFO = 150377235; +LITDEF int ERR_REPLWARN = 150377240; +LITDEF int ERR_REPLERR = 150377250; +LITDEF int ERR_JNLNMBKNOTPRCD = 150377258; +LITDEF int ERR_REPLFILIOERR = 150377266; +LITDEF int ERR_REPLBRKNTRANS = 150377274; +LITDEF int ERR_TTWIDTHTOOBIG = 150377282; +LITDEF int ERR_REPLLOGOPN = 150377290; +LITDEF int ERR_REPLFILTER = 150377298; +LITDEF int ERR_GBLMODFAIL = 150377306; +LITDEF int ERR_TTLENGTHTOOBIG = 150377314; +LITDEF int ERR_TPTIMEOUT = 150377322; +LITDEF int ERR_DEFEREVENT = 150377331; +LITDEF int ERR_JNLFILNOTCHG = 150377338; +LITDEF int ERR_EVENTLOGERR = 150377346; +LITDEF int ERR_UPDATEFILEOPEN = 150377354; +LITDEF int ERR_JNLBADRECFMT = 150377362; +LITDEF int ERR_NULLCOLLDIFF = 150377370; +LITDEF int ERR_MUKILLIP = 150377376; +LITDEF int ERR_JNLRDONLY = 150377386; +LITDEF int ERR_ANCOMPTINC = 150377394; +LITDEF int ERR_ABNCOMPTINC = 150377402; +LITDEF int ERR_GTMSECSHRLOGF = 150377410; +LITDEF int ERR_SOCKNOTFND = 150377418; +LITDEF int ERR_CURRSOCKOFR = 150377426; +LITDEF int ERR_SOCKETEXIST = 150377434; +LITDEF int ERR_LISTENPASSBND = 150377442; +LITDEF int ERR_DBCLNUPINFO = 150377451; +LITDEF int ERR_MUNODWNGRD = 150377458; +LITDEF int ERR_REPLTRANS2BIG = 150377466; +LITDEF int ERR_RDFLTOOLONG = 150377474; +LITDEF int ERR_MUNOFINISH = 150377482; +LITDEF int ERR_DBFILEXT = 150377491; +LITDEF int ERR_JNLFSYNCERR = 150377498; +LITDEF int ERR_FSYNCTIMOUT = 150377506; +LITDEF int ERR_ZCPREALLVALINV = 150377514; +LITDEF int ERR_NEWJNLFILECREAT = 150377523; +LITDEF int ERR_DSKSPACEFLOW = 150377531; +LITDEF int ERR_GVINCRFAIL = 150377538; +LITDEF int ERR_ISOLATIONSTSCHN = 150377546; +LITDEF int ERR_REPLGBL2LONG = 150377554; +LITDEF int ERR_TRACEON = 150377562; +LITDEF int ERR_TOOMANYCLIENTS = 150377570; +LITDEF int ERR_NOEXCLUDE = 150377579; +LITDEF int ERR_GVINCRISOLATION = 150377586; +LITDEF int ERR_EXCLUDEREORG = 150377592; +LITDEF int ERR_REORGINC = 150377602; +LITDEF int ERR_ASC2EBCDICCONV = 150377610; +LITDEF int ERR_GTMSECSHRSTART = 150377618; +LITDEF int ERR_DBVERPERFWARN1 = 150377624; +LITDEF int ERR_FILEIDGBLSEC = 150377634; +LITDEF int ERR_GBLSECNOTGDS = 150377642; +LITDEF int ERR_BADGBLSECVER = 150377650; +LITDEF int ERR_RECSIZENOTEVEN = 150377658; +LITDEF int ERR_BUFFLUFAILED = 150377666; +LITDEF int ERR_MUQUALINCOMP = 150377674; +LITDEF int ERR_DISTPATHMAX = 150377682; +LITDEF int ERR_MAXTRACEHEIGHT = 150377691; +LITDEF int ERR_IMAGENAME = 150377698; +LITDEF int ERR_GTMSECSHRPERM = 150377706; +LITDEF int ERR_GTMDISTUNDEF = 150377714; +LITDEF int ERR_SYSCALL = 150377722; +LITDEF int ERR_MAXGTMPATH = 150377730; +LITDEF int ERR_TROLLBK2DEEP = 150377738; +LITDEF int ERR_INVROLLBKLVL = 150377746; +LITDEF int ERR_OLDBINEXTRACT = 150377752; +LITDEF int ERR_ACOMPTBINC = 150377762; +LITDEF int ERR_NOTREPLICATED = 150377768; +LITDEF int ERR_DBPREMATEOF = 150377778; +LITDEF int ERR_KILLBYSIG = 150377788; +LITDEF int ERR_KILLBYSIGUINFO = 150377796; +LITDEF int ERR_KILLBYSIGSINFO1 = 150377804; +LITDEF int ERR_KILLBYSIGSINFO2 = 150377812; +LITDEF int ERR_SIGILLOPC = 150377820; +LITDEF int ERR_SIGILLOPN = 150377828; +LITDEF int ERR_SIGILLADR = 150377836; +LITDEF int ERR_SIGILLTRP = 150377844; +LITDEF int ERR_SIGPRVOPC = 150377852; +LITDEF int ERR_SIGPRVREG = 150377860; +LITDEF int ERR_SIGCOPROC = 150377868; +LITDEF int ERR_SIGBADSTK = 150377876; +LITDEF int ERR_SIGADRALN = 150377884; +LITDEF int ERR_SIGADRERR = 150377892; +LITDEF int ERR_SIGOBJERR = 150377900; +LITDEF int ERR_SIGINTDIV = 150377908; +LITDEF int ERR_SIGINTOVF = 150377916; +LITDEF int ERR_SIGFLTDIV = 150377924; +LITDEF int ERR_SIGFLTOVF = 150377932; +LITDEF int ERR_SIGFLTUND = 150377940; +LITDEF int ERR_SIGFLTRES = 150377948; +LITDEF int ERR_SIGFLTINV = 150377956; +LITDEF int ERR_SIGMAPERR = 150377964; +LITDEF int ERR_SIGACCERR = 150377972; +LITDEF int ERR_TRNLOGFAIL = 150377978; +LITDEF int ERR_INVDBGLVL = 150377986; +LITDEF int ERR_DBMAXNRSUBS = 150377995; +LITDEF int ERR_GTMSECSHRSCKSEL = 150378002; +LITDEF int ERR_GTMSECSHRTMOUT = 150378011; +LITDEF int ERR_GTMSECSHRRECVF = 150378018; +LITDEF int ERR_GTMSECSHRSENDF = 150378026; +LITDEF int ERR_SIZENOTVALID8 = 150378034; +LITDEF int ERR_GTMSECSHROPCMP = 150378040; +LITDEF int ERR_GTMSECSHRSUIDF = 150378048; +LITDEF int ERR_GTMSECSHRSGIDF = 150378056; +LITDEF int ERR_GTMSECSHRSSIDF = 150378064; +LITDEF int ERR_GTMSECSHRFORKF = 150378074; +LITDEF int ERR_DBFSYNCERR = 150378082; +LITDEF int ERR_SECONDAHEAD = 150378090; +LITDEF int ERR_SCNDDBNOUPD = 150378098; +LITDEF int ERR_MUINFOUINT4 = 150378107; +LITDEF int ERR_NLMISMATCHCALC = 150378114; +LITDEF int ERR_GTMSECSHRLOGSWH = 150378122; +LITDEF int ERR_GTMSECSHRDEFLOG = 150378131; +LITDEF int ERR_DBBADNSUB = 150378138; +LITDEF int ERR_DBBADKYNM = 150378146; +LITDEF int ERR_DBBADPNTR = 150378154; +LITDEF int ERR_DBBNPNTR = 150378162; +LITDEF int ERR_DBINCLVL = 150378170; +LITDEF int ERR_DBBFSTAT = 150378178; +LITDEF int ERR_DBBDBALLOC = 150378186; +LITDEF int ERR_DBMRKFREE = 150378194; +LITDEF int ERR_DBMRKBUSY = 150378200; +LITDEF int ERR_DBBSIZZRO = 150378210; +LITDEF int ERR_DBSZGT64K = 150378218; +LITDEF int ERR_DBNOTMLTP = 150378226; +LITDEF int ERR_DBTNTOOLG = 150378235; +LITDEF int ERR_DBBPLMLT512 = 150378242; +LITDEF int ERR_DBBPLMGT2K = 150378250; +LITDEF int ERR_MUINFOUINT8 = 150378259; +LITDEF int ERR_DBBPLNOT512 = 150378266; +LITDEF int ERR_MUINFOSTR = 150378275; +LITDEF int ERR_DBUNDACCMT = 150378283; +LITDEF int ERR_DBTNNEQ = 150378291; +LITDEF int ERR_MUPGRDSUCC = 150378297; +LITDEF int ERR_DBDSRDFMTCHNG = 150378307; +LITDEF int ERR_DBFGTBC = 150378312; +LITDEF int ERR_DBFSTBC = 150378322; +LITDEF int ERR_DBFSTHEAD = 150378330; +LITDEF int ERR_DBCREINCOMP = 150378338; +LITDEF int ERR_DBFLCORRP = 150378346; +LITDEF int ERR_DBHEADINV = 150378354; +LITDEF int ERR_DBINCRVER = 150378362; +LITDEF int ERR_DBINVGBL = 150378370; +LITDEF int ERR_DBKEYGTIND = 150378378; +LITDEF int ERR_DBGTDBMAX = 150378386; +LITDEF int ERR_DBKGTALLW = 150378394; +LITDEF int ERR_DBLTSIBL = 150378402; +LITDEF int ERR_DBLRCINVSZ = 150378410; +LITDEF int ERR_MUREUPDWNGRDEND = 150378419; +LITDEF int ERR_DBLOCMBINC = 150378424; +LITDEF int ERR_DBLVLINC = 150378432; +LITDEF int ERR_DBMBSIZMX = 150378440; +LITDEF int ERR_DBMBSIZMN = 150378450; +LITDEF int ERR_DBMBTNSIZMX = 150378459; +LITDEF int ERR_DBMBMINCFRE = 150378464; +LITDEF int ERR_DBMBPINCFL = 150378472; +LITDEF int ERR_DBMBPFLDLBM = 150378480; +LITDEF int ERR_DBMBPFLINT = 150378488; +LITDEF int ERR_DBMBPFLDIS = 150378496; +LITDEF int ERR_DBMBPFRDLBM = 150378504; +LITDEF int ERR_DBMBPFRINT = 150378512; +LITDEF int ERR_DBMAXKEYEXC = 150378522; +LITDEF int ERR_DBMXRSEXCMIN = 150378530; +LITDEF int ERR_DBMAXRSEXBL = 150378538; +LITDEF int ERR_DBREADBM = 150378546; +LITDEF int ERR_DBCOMPTOOLRG = 150378554; +LITDEF int ERR_DBVERPERFWARN2 = 150378560; +LITDEF int ERR_DBRBNTOOLRG = 150378570; +LITDEF int ERR_DBRBNLBMN = 150378578; +LITDEF int ERR_DBRBNNEG = 150378586; +LITDEF int ERR_DBRLEVTOOHI = 150378594; +LITDEF int ERR_DBRLEVLTONE = 150378602; +LITDEF int ERR_DBSVBNMIN = 150378610; +LITDEF int ERR_DBTTLBLK0 = 150378618; +LITDEF int ERR_DBNOTDB = 150378626; +LITDEF int ERR_DBTOTBLK = 150378634; +LITDEF int ERR_DBTN = 150378643; +LITDEF int ERR_DBNOREGION = 150378650; +LITDEF int ERR_DBTNRESETINC = 150378656; +LITDEF int ERR_DBTNLTCTN = 150378666; +LITDEF int ERR_DBTNRESET = 150378674; +LITDEF int ERR_MUTEXRSRCCLNUP = 150378683; +LITDEF int ERR_SEMWT2LONG = 150378690; +LITDEF int ERR_REPLINSTOPEN = 150378698; +LITDEF int ERR_REPLINSTCLOSE = 150378706; +LITDEF int ERR_JNLNOTFOUND = 150378715; +LITDEF int ERR_DBCRERR8 = 150378723; +LITDEF int ERR_NUMPROCESSORS = 150378728; +LITDEF int ERR_DBADDRANGE8 = 150378739; +LITDEF int ERR_RNDWNSEMFAIL = 150378747; +LITDEF int ERR_GTMSECSHRSHUTDN = 150378755; +LITDEF int ERR_NOSPACECRE = 150378762; +LITDEF int ERR_LOWSPACECRE = 150378768; +LITDEF int ERR_WAITDSKSPACE = 150378779; +LITDEF int ERR_OUTOFSPACE = 150378788; +LITDEF int ERR_JNLPVTINFO = 150378795; +LITDEF int ERR_NOSPACEEXT = 150378802; +LITDEF int ERR_WCBLOCKED = 150378808; +LITDEF int ERR_REPLJNLCLOSED = 150378818; +LITDEF int ERR_RENAMEFAIL = 150378824; +LITDEF int ERR_FILERENAME = 150378835; +LITDEF int ERR_JNLBUFINFO = 150378843; +LITDEF int ERR_JNLQIOLOCKED = 150378850; +LITDEF int ERR_JNLEOFPREZERO = 150378858; +LITDEF int ERR_TPNOTACID = 150378867; +LITDEF int ERR_JNLSETDATA2LONG = 150378874; +LITDEF int ERR_JNLNEWREC = 150378882; +LITDEF int ERR_REPLFTOKSEM = 150378890; +LITDEF int ERR_GETCWD = 150378898; +LITDEF int ERR_EXTRIOERR = 150378906; +LITDEF int ERR_EXTRCLOSEERR = 150378914; +LITDEF int ERR_TRUNCATE = 150378922; +LITDEF int ERR_REPLEXITERR = 150378930; +LITDEF int ERR_MUDESTROYSUC = 150378939; +LITDEF int ERR_DBRNDWN = 150378946; +LITDEF int ERR_MUDESTROYFAIL = 150378955; +LITDEF int ERR_NOTALLDBOPN = 150378964; +LITDEF int ERR_MUSELFBKUP = 150378970; +LITDEF int ERR_DBDANGER = 150378976; +LITDEF int ERR_TRUNCATEFAIL = 150378986; +LITDEF int ERR_TCGETATTR = 150378994; +LITDEF int ERR_TCSETATTR = 150379002; +LITDEF int ERR_IOWRITERR = 150379010; +LITDEF int ERR_REPLINSTWRITE = 150379018; +LITDEF int ERR_DBBADFREEBLKCTR = 150379027; +LITDEF int ERR_REQ2RESUME = 150379035; +LITDEF int ERR_TIMERHANDLER = 150379040; +LITDEF int ERR_FREEMEMORY = 150379050; +LITDEF int ERR_MUREPLSECDEL = 150379059; +LITDEF int ERR_MUREPLSECNOTDEL = 150379067; +LITDEF int ERR_MUJPOOLRNDWNSUC = 150379075; +LITDEF int ERR_MURPOOLRNDWNSUC = 150379083; +LITDEF int ERR_MUJPOOLRNDWNFL = 150379091; +LITDEF int ERR_MURPOOLRNDWNFL = 150379099; +LITDEF int ERR_MUREPLPOOL = 150379107; +LITDEF int ERR_REPLACCSEM = 150379114; +LITDEF int ERR_JNLFLUSHNOPROG = 150379122; +LITDEF int ERR_REPLINSTCREATE = 150379130; +LITDEF int ERR_SUSPENDING = 150379139; +LITDEF int ERR_SOCKBFNOTEMPTY = 150379146; +LITDEF int ERR_ILLESOCKBFSIZE = 150379154; +LITDEF int ERR_NOSOCKETINDEV = 150379162; +LITDEF int ERR_SETSOCKOPTERR = 150379170; +LITDEF int ERR_GETSOCKOPTERR = 150379178; +LITDEF int ERR_NOSUCHPROC = 150379187; +LITDEF int ERR_DSENOFINISH = 150379194; +LITDEF int ERR_LKENOFINISH = 150379202; +LITDEF int ERR_NOCHLEFT = 150379212; +LITDEF int ERR_MULOGNAMEDEF = 150379218; +LITDEF int ERR_BUFOWNERSTUCK = 150379226; +LITDEF int ERR_ACTIVATEFAIL = 150379234; +LITDEF int ERR_DBRNDWNWRN = 150379240; +LITDEF int ERR_DLLNOOPEN = 150379250; +LITDEF int ERR_DLLNORTN = 150379258; +LITDEF int ERR_DLLNOCLOSE = 150379266; +LITDEF int ERR_FILTERNOTALIVE = 150379274; +LITDEF int ERR_FILTERCOMM = 150379282; +LITDEF int ERR_FILTERBADCONV = 150379290; +LITDEF int ERR_PRIMARYISROOT = 150379298; +LITDEF int ERR_GVQUERYGETFAIL = 150379306; +LITDEF int ERR_DBCREC2BIGINBLK = 150379314; +LITDEF int ERR_MERGEDESC = 150379322; +LITDEF int ERR_MERGEINCOMPL = 150379328; +LITDEF int ERR_DBNAMEMISMATCH = 150379338; +LITDEF int ERR_DBIDMISMATCH = 150379346; +LITDEF int ERR_DEVOPENFAIL = 150379354; +LITDEF int ERR_IPCNOTDEL = 150379363; +LITDEF int ERR_XCVOIDRET = 150379370; +LITDEF int ERR_MURAIMGFAIL = 150379378; +LITDEF int ERR_REPLINSTUNDEF = 150379386; +LITDEF int ERR_REPLINSTACC = 150379394; +LITDEF int ERR_NOJNLPOOL = 150379402; +LITDEF int ERR_NORECVPOOL = 150379410; +LITDEF int ERR_FTOKERR = 150379418; +LITDEF int ERR_REPLREQRUNDOWN = 150379426; +LITDEF int ERR_BLKCNTEDITFAIL = 150379435; +LITDEF int ERR_SEMREMOVED = 150379443; +LITDEF int ERR_REPLINSTFMT = 150379450; +LITDEF int ERR_SEMKEYINUSE = 150379458; +LITDEF int ERR_XTRNTRANSERR = 150379466; +LITDEF int ERR_XTRNTRANSDLL = 150379474; +LITDEF int ERR_XTRNRETVAL = 150379482; +LITDEF int ERR_XTRNRETSTR = 150379490; +LITDEF int ERR_INVECODEVAL = 150379498; +LITDEF int ERR_SETECODE = 150379506; +LITDEF int ERR_INVSTACODE = 150379514; +LITDEF int ERR_REPEATERROR = 150379522; +LITDEF int ERR_NOCANONICNAME = 150379530; +LITDEF int ERR_NOSUBSCRIPT = 150379538; +LITDEF int ERR_SYSTEMVALUE = 150379546; +LITDEF int ERR_SIZENOTVALID4 = 150379554; +LITDEF int ERR_STRNOTVALID = 150379562; +LITDEF int ERR_RECNOCREJNL = 150379571; +LITDEF int ERR_ERRWETRAP = 150379578; +LITDEF int ERR_TRACINGON = 150379587; +LITDEF int ERR_CITABENV = 150379594; +LITDEF int ERR_CITABOPN = 150379602; +LITDEF int ERR_CIENTNAME = 150379610; +LITDEF int ERR_CIRTNTYP = 150379618; +LITDEF int ERR_CIRCALLNAME = 150379626; +LITDEF int ERR_CIRPARMNAME = 150379634; +LITDEF int ERR_CIDIRECTIVE = 150379642; +LITDEF int ERR_CIPARTYPE = 150379650; +LITDEF int ERR_CIUNTYPE = 150379658; +LITDEF int ERR_CINOENTRY = 150379666; +LITDEF int ERR_JNLINVSWITCHLMT = 150379674; +LITDEF int ERR_SETZDIR = 150379682; +LITDEF int ERR_JOBACTREF = 150379690; +LITDEF int ERR_ECLOSTMID = 150379696; +LITDEF int ERR_ZFF2MANY = 150379706; +LITDEF int ERR_JNLFSYNCLSTCK = 150379715; +LITDEF int ERR_DELIMWIDTH = 150379722; +LITDEF int ERR_DBBMLCORRUPT = 150379730; +LITDEF int ERR_DLCKAVOIDANCE = 150379738; +LITDEF int ERR_WRITERSTUCK = 150379746; +LITDEF int ERR_PATNOTFOUND = 150379754; +LITDEF int ERR_INVZDIRFORM = 150379762; +LITDEF int ERR_ZDIROUTOFSYNC = 150379768; +LITDEF int ERR_GBLNOEXIST = 150379779; +LITDEF int ERR_MAXBTLEVEL = 150379786; +LITDEF int ERR_JNLSTRESTFL = 150379794; +LITDEF int ERR_JNLALIGNSZCHG = 150379803; +LITDEF int ERR_MAXTRACELEVEL = 150379811; +LITDEF int ERR_GVFAILCORE = 150379818; +LITDEF int ERR_DBCDBNOCERTIFY = 150379826; +LITDEF int ERR_DBFRZRESETSUC = 150379835; +LITDEF int ERR_JNLFILEXTERR = 150379842; +LITDEF int ERR_JOBEXAMDONE = 150379851; +LITDEF int ERR_JOBEXAMFAIL = 150379858; +LITDEF int ERR_JOBINTRRQST = 150379866; +LITDEF int ERR_ERRWZINTR = 150379874; +LITDEF int ERR_CLIERR = 150379882; +LITDEF int ERR_REPLNOBEFORE = 150379888; +LITDEF int ERR_REPLJNLCNFLCT = 150379896; +LITDEF int ERR_JNLDISABLE = 150379904; +LITDEF int ERR_FILEEXISTS = 150379914; +LITDEF int ERR_JNLSTATE = 150379923; +LITDEF int ERR_REPLSTATE = 150379931; +LITDEF int ERR_JNLCREATE = 150379939; +LITDEF int ERR_JNLNOCREATE = 150379946; +LITDEF int ERR_JNLFNF = 150379955; +LITDEF int ERR_PREVJNLLINKCUT = 150379963; +LITDEF int ERR_PREVJNLLINKSET = 150379971; +LITDEF int ERR_FILENAMETOOLONG = 150379978; +LITDEF int ERR_UNUSEDMSG1131 = 150379986; +LITDEF int ERR_JNLTRANS2BIG = 150379994; +LITDEF int ERR_JNLSWITCHTOOSM = 150380002; +LITDEF int ERR_JNLSWITCHSZCHG = 150380011; +LITDEF int ERR_NOTRNDMACC = 150380018; +LITDEF int ERR_TMPFILENOCRE = 150380026; +LITDEF int ERR_SHRMEMEXHAUSTED = 150380034; +LITDEF int ERR_JNLSENDOPER = 150380043; +LITDEF int ERR_DDPSUBSNUL = 150380050; +LITDEF int ERR_DDPNOCONNECT = 150380058; +LITDEF int ERR_DDPCONGEST = 150380066; +LITDEF int ERR_DDPSHUTDOWN = 150380074; +LITDEF int ERR_DDPTOOMANYPROCS = 150380082; +LITDEF int ERR_DDPBADRESPONSE = 150380090; +LITDEF int ERR_DDPINVCKT = 150380098; +LITDEF int ERR_DDPVOLSETCONFIG = 150380106; +LITDEF int ERR_DDPCONFGOOD = 150380113; +LITDEF int ERR_DDPCONFIGNORE = 150380121; +LITDEF int ERR_DDPCONFINCOMPL = 150380128; +LITDEF int ERR_DDPCONFBADVOL = 150380138; +LITDEF int ERR_DDPCONFBADUCI = 150380146; +LITDEF int ERR_DDPCONFBADGLD = 150380154; +LITDEF int ERR_DDPRECSIZNOTNUM = 150380162; +LITDEF int ERR_DDPOUTMSG2BIG = 150380170; +LITDEF int ERR_DDPNOSERVER = 150380178; +LITDEF int ERR_MUTEXRELEASED = 150380186; +LITDEF int ERR_JNLCRESTATUS = 150380192; +LITDEF int ERR_ZBREAKFAIL = 150380203; +LITDEF int ERR_DLLVERSION = 150380210; +LITDEF int ERR_INVZROENT = 150380218; +LITDEF int ERR_DDPLOGERR = 150380226; +LITDEF int ERR_GETSOCKNAMERR = 150380234; +LITDEF int ERR_INVGTMEXIT = 150380242; +LITDEF int ERR_CIMAXPARAM = 150380250; +LITDEF int ERR_CITPNESTED = 150380258; +LITDEF int ERR_CIMAXLEVELS = 150380266; +LITDEF int ERR_JOBINTRRETHROW = 150380274; +LITDEF int ERR_STARFILE = 150380282; +LITDEF int ERR_NOSTARFILE = 150380290; +LITDEF int ERR_MUJNLSTAT = 150380299; +LITDEF int ERR_JNLTPNEST = 150380304; +LITDEF int ERR_REPLOFFJNLON = 150380314; +LITDEF int ERR_FILEDELFAIL = 150380320; +LITDEF int ERR_INVQUALTIME = 150380330; +LITDEF int ERR_NOTPOSITIVE = 150380338; +LITDEF int ERR_INVREDIRQUAL = 150380346; +LITDEF int ERR_INVERRORLIM = 150380354; +LITDEF int ERR_INVIDQUAL = 150380362; +LITDEF int ERR_INVTRNSQUAL = 150380370; +LITDEF int ERR_JNLNOBIJBACK = 150380378; +LITDEF int ERR_SETREG2RESYNC = 150380387; +LITDEF int ERR_JNLALIGNTOOSM = 150380392; +LITDEF int ERR_JNLFILEOPNERR = 150380402; +LITDEF int ERR_JNLFILECLOSERR = 150380410; +LITDEF int ERR_REPLSTATEOFF = 150380418; +LITDEF int ERR_MUJNLPREVGEN = 150380427; +LITDEF int ERR_MUPJNLINTERRUPT = 150380434; +LITDEF int ERR_ROLLBKINTERRUPT = 150380442; +LITDEF int ERR_RLBKJNSEQ = 150380451; +LITDEF int ERR_REPLRECFMT = 150380460; +LITDEF int ERR_PRIMARYNOTROOT = 150380466; +LITDEF int ERR_DBFRZRESETFL = 150380474; +LITDEF int ERR_JNLCYCLE = 150380482; +LITDEF int ERR_JNLPREVRECOV = 150380490; +LITDEF int ERR_RESOLVESEQNO = 150380499; +LITDEF int ERR_BOVTNGTEOVTN = 150380506; +LITDEF int ERR_BOVTMGTEOVTM = 150380514; +LITDEF int ERR_BEGSEQGTENDSEQ = 150380522; +LITDEF int ERR_DBADDRALIGN = 150380531; +LITDEF int ERR_DBWCVERIFYSTART = 150380539; +LITDEF int ERR_DBWCVERIFYEND = 150380547; +LITDEF int ERR_MUPIPSIG = 150380555; +LITDEF int ERR_HTSHRINKFAIL = 150380560; +LITDEF int ERR_STPEXPFAIL = 150380570; +LITDEF int ERR_DBBTUWRNG = 150380576; +LITDEF int ERR_DBBTUFIXED = 150380587; +LITDEF int ERR_DBMAXREC2BIG = 150380594; +LITDEF int ERR_DBCSCNNOTCMPLT = 150380602; +LITDEF int ERR_DBCBADFILE = 150380610; +LITDEF int ERR_DBCNOEXTND = 150380618; +LITDEF int ERR_DBCINTEGERR = 150380626; +LITDEF int ERR_DBMINRESBYTES = 150380634; +LITDEF int ERR_DBCNOTSAMEDB = 150380642; +LITDEF int ERR_DBCDBCERTIFIED = 150380651; +LITDEF int ERR_DBCMODBLK2BIG = 150380658; +LITDEF int ERR_DBCREC2BIG = 150380666; +LITDEF int ERR_DBCCMDFAIL = 150380674; +LITDEF int ERR_DBCKILLIP = 150380682; +LITDEF int ERR_DBCNOFINISH = 150380690; +LITDEF int ERR_DYNUPGRDFAIL = 150380698; +LITDEF int ERR_MMNODYNDWNGRD = 150380706; +LITDEF int ERR_MMNODYNUPGRD = 150380714; +LITDEF int ERR_MUDWNGRDNRDY = 150380722; +LITDEF int ERR_MUDWNGRDTN = 150380730; +LITDEF int ERR_MUDWNGRDNOTPOS = 150380738; +LITDEF int ERR_MUUPGRDNRDY = 150380746; +LITDEF int ERR_TNWARN = 150380752; +LITDEF int ERR_TNTOOLARGE = 150380762; +LITDEF int ERR_SHMPLRECOV = 150380771; +LITDEF int ERR_MUNOSTRMBKUP = 150380776; +LITDEF int ERR_EPOCHTNHI = 150380786; +LITDEF int ERR_CHNGTPRSLVTM = 150380795; +LITDEF int ERR_JNLUNXPCTERR = 150380802; +LITDEF int ERR_OMISERVHANG = 150380811; +LITDEF int ERR_RSVDBYTE2HIGH = 150380818; +LITDEF int ERR_BKUPTMPFILOPEN = 150380826; +LITDEF int ERR_BKUPTMPFILWRITE = 150380834; +LITDEF int ERR_VMSMEMORY2 = 150380842; +LITDEF int ERR_LOADBGSZ2 = 150380850; +LITDEF int ERR_LOADEDSZ2 = 150380858; +LITDEF int ERR_REPLINSTMISMTCH = 150380866; +LITDEF int ERR_REPLINSTREAD = 150380874; +LITDEF int ERR_REPLINSTDBMATCH = 150380882; +LITDEF int ERR_REPLINSTNMSAME = 150380890; +LITDEF int ERR_REPLINSTNMUNDEF = 150380898; +LITDEF int ERR_REPLINSTNMLEN = 150380906; +LITDEF int ERR_REPLINSTNOHIST = 150380914; +LITDEF int ERR_REPLINSTSECLEN = 150380922; +LITDEF int ERR_REPLINSTSECMTCH = 150380930; +LITDEF int ERR_REPLINSTSECNONE = 150380938; +LITDEF int ERR_REPLINSTSECUNDF = 150380946; +LITDEF int ERR_REPLINSTSEQORD = 150380954; +LITDEF int ERR_REPLINSTSTNDALN = 150380962; +LITDEF int ERR_REPLREQROLLBACK = 150380970; +LITDEF int ERR_UNUSEDMSG1255 = 150380978; +LITDEF int ERR_UNUSEDMSG1256 = 150380986; +LITDEF int ERR_SRCSRVEXISTS = 150380994; +LITDEF int ERR_SRCSRVNOTEXIST = 150381002; +LITDEF int ERR_SRCSRVTOOMANY = 150381010; +LITDEF int ERR_JNLPOOLBADSLOT = 150381016; +LITDEF int ERR_NOENDIANCVT = 150381026; +LITDEF int ERR_ENDIANCVT = 150381035; +LITDEF int ERR_DBENDIAN = 150381042; +LITDEF int ERR_BADCHSET = 150381050; +LITDEF int ERR_BADCASECODE = 150381058; +LITDEF int ERR_BADCHAR = 150381066; +LITDEF int ERR_DLRCILLEGAL = 150381074; +LITDEF int ERR_NONUTF8LOCALE = 150381082; +LITDEF int ERR_INVDLRCVAL = 150381090; +LITDEF int ERR_DBMISALIGN = 150381098; +LITDEF int ERR_LOADINVCHSET = 150381106; +LITDEF int ERR_DLLCHSETM = 150381114; +LITDEF int ERR_DLLCHSETUTF8 = 150381122; +LITDEF int ERR_BOMMISMATCH = 150381130; +LITDEF int ERR_WIDTHTOOSMALL = 150381138; +LITDEF int ERR_SOCKMAX = 150381146; +LITDEF int ERR_PADCHARINVALID = 150381154; +LITDEF int ERR_ZCNOPREALLOUTPAR = 150381162; +LITDEF int ERR_SVNEXPECTED = 150381170; +LITDEF int ERR_SVNONEW = 150381178; +LITDEF int ERR_ZINTDIRECT = 150381186; +LITDEF int ERR_ZINTRECURSEIO = 150381194; +LITDEF int ERR_MRTMAXEXCEEDED = 150381202; +LITDEF int ERR_JNLCLOSED = 150381210; +LITDEF int ERR_RLBKNOBIMG = 150381218; +LITDEF int ERR_RLBKJNLNOBIMG = 150381227; +LITDEF int ERR_RLBKLOSTTNONLY = 150381235; +LITDEF int ERR_KILLBYSIGSINFO3 = 150381244; +LITDEF int ERR_GTMSECSHRTMPPATH = 150381251; +LITDEF int ERR_GTMERREXIT = 150381258; +LITDEF int ERR_INVMEMRESRV = 150381264; +LITDEF int ERR_OPCOMMISSED = 150381275; +LITDEF int ERR_COMMITWAITSTUCK = 150381282; +LITDEF int ERR_COMMITWAITPID = 150381290; +LITDEF int ERR_UPDREPLSTATEOFF = 150381298; +LITDEF int ERR_LITNONGRAPH = 150381304; +LITDEF int ERR_DBFHEADERR8 = 150381315; +LITDEF int ERR_MMBEFOREJNL = 150381320; +LITDEF int ERR_MMNOBFORRPL = 150381328; +LITDEF int ERR_KILLABANDONED = 150381336; +LITDEF int ERR_BACKUPKILLIP = 150381344; +LITDEF int ERR_LOGTOOLONG = 150381354; +LITDEF int ERR_NOALIASLIST = 150381362; +LITDEF int ERR_ALIASEXPECTED = 150381370; +LITDEF int ERR_VIEWLVN = 150381378; +LITDEF int ERR_DZWRNOPAREN = 150381386; +LITDEF int ERR_DZWRNOALIAS = 150381394; +LITDEF int ERR_FREEZEERR = 150381402; +LITDEF int ERR_CLOSEFAIL = 150381410; +LITDEF int ERR_CRYPTINIT = 150381418; +LITDEF int ERR_CRYPTOPFAILED = 150381426; +LITDEF int ERR_CRYPTDLNOOPEN = 150381434; +LITDEF int ERR_CRYPTNOV4 = 150381442; +LITDEF int ERR_CRYPTNOMM = 150381450; +LITDEF int ERR_CRYPTJNLWRONGHASH = 150381458; +LITDEF int ERR_CRYPTKEYFETCHFAILED = 150381466; +LITDEF int ERR_CRYPTKEYFETCHFAILEDNF = 150381474; +LITDEF int ERR_CRYPTHASHGENFAILED = 150381482; +LITDEF int ERR_CRYPTNOPSWDINTP = 150381490; +LITDEF int ERR_BADTAG = 150381498; +LITDEF int ERR_ICUVERLT36 = 150381506; +LITDEF int ERR_ICUSYMNOTFOUND = 150381514; +LITDEF int ERR_STUCKACT = 150381523; +LITDEF int ERR_CALLINAFTERXIT = 150381530; +LITDEF int ERR_LOCKSPACEFULL = 150381538; +LITDEF int ERR_IOERROR = 150381546; +LITDEF int ERR_MAXSSREACHED = 150381554; +LITDEF int ERR_SNAPSHOTNOV4 = 150381562; +LITDEF int ERR_SSV4NOALLOW = 150381570; +LITDEF int ERR_SSTMPDIRSTAT = 150381578; +LITDEF int ERR_SSTMPCREATE = 150381586; +LITDEF int ERR_JNLFILEDUP = 150381594; +LITDEF int ERR_SSPREMATEOF = 150381602; +LITDEF int ERR_SSFILOPERR = 150381610; +LITDEF int ERR_REGSSFAIL = 150381618; +LITDEF int ERR_SSSHMCLNUPFAIL = 150381626; +LITDEF int ERR_SSFILCLNUPFAIL = 150381634; +LITDEF int ERR_SETINTRIGONLY = 150381642; +LITDEF int ERR_MAXTRIGNEST = 150381650; +LITDEF int ERR_TRIGCOMPFAIL = 150381658; +LITDEF int ERR_NOZTRAPINTRIG = 150381666; +LITDEF int ERR_ZTWORMHOLE2BIG = 150381674; +LITDEF int ERR_JNLENDIANLITTLE = 150381682; +LITDEF int ERR_JNLENDIANBIG = 150381690; +LITDEF int ERR_TRIGINVCHSET = 150381698; +LITDEF int ERR_TRIGREPLSTATE = 150381706; +LITDEF int ERR_GVDATAGETFAIL = 150381714; +LITDEF int ERR_TRIG2NOTRIG = 150381720; +LITDEF int ERR_ZGOTOINVLVL = 150381730; +LITDEF int ERR_TRIGTCOMMIT = 150381738; +LITDEF int ERR_TRIGTLVLCHNG = 150381746; +LITDEF int ERR_TRIGNAMEUNIQ = 150381754; +LITDEF int ERR_ZTRIGINVACT = 150381762; +LITDEF int ERR_UNUSEDMSG1354 = 150381770; +LITDEF int ERR_QUITALSINV = 150381778; +LITDEF int ERR_PROCTERM = 150381784; +LITDEF int ERR_SRCLNNTDSP = 150381795; +LITDEF int ERR_ARROWNTDSP = 150381803; +LITDEF int ERR_TRIGDEFBAD = 150381810; +LITDEF int ERR_TRIGSUBSCRANGE = 150381818; +LITDEF int ERR_TRIGDATAIGNORE = 150381827; +LITDEF int ERR_TRIGIS = 150381835; +LITDEF int ERR_TCOMMITDISALLOW = 150381842; +LITDEF int ERR_SSATTACHSHM = 150381850; +LITDEF int ERR_TRIGDEFNOSYNC = 150381856; +LITDEF int ERR_TRESTMAX = 150381866; +LITDEF int ERR_TPLOCKRESTMAX = 150381874; +LITDEF int ERR_GBLEXPECTED = 150381882; +LITDEF int ERR_GVZTRIGFAIL = 150381890; +LITDEF int ERR_UNUSEDMSG1370 = 150381898; +LITDEF int ERR_SETINSETTRIGONLY = 150381906; +LITDEF int ERR_DZTRIGINTRIG = 150381914; +LITDEF int ERR_SECNODZTRIGINTP = 150381922; +LITDEF int ERR_BOOLSIDEFFECT = 150381928; +LITDEF int ERR_DBBADUPGRDSTATE = 150381936; +LITDEF int ERR_WRITEWAITPID = 150381946; +LITDEF int ERR_ZGOCALLOUTIN = 150381954; +LITDEF int ERR_REPLNOXENDIAN = 150381962; +LITDEF int ERR_REPLXENDIANFAIL = 150381970; +LITDEF int ERR_ZGOTOINVLVL2 = 150381978; +LITDEF int ERR_GTMSECSHRCHDIRF = 150381986; +LITDEF int ERR_UNUSEDMSG1382 = 150381994; +LITDEF int ERR_ZCCLNUPRTNMISNG = 150382002; +LITDEF int ERR_ZCINVALIDKEYWORD = 150382010; +LITDEF int ERR_REPLNOMULTILINETRG = 150382018; +LITDEF int ERR_DBSHMNAMEDIFF = 150382026; +LITDEF int ERR_SHMREMOVED = 150382035; +LITDEF int ERR_DEVICEWRITEONLY = 150382042; +LITDEF int ERR_ICUERROR = 150382050; +LITDEF int ERR_ZDATEBADDATE = 150382058; +LITDEF int ERR_ZDATEBADTIME = 150382066; +LITDEF int ERR_COREINPROGRESS = 150382074; +LITDEF int ERR_MAXSEMGETRETRY = 150382082; +LITDEF int ERR_JNLNOREPL = 150382090; +LITDEF int ERR_JNLRECINCMPL = 150382098; +LITDEF int ERR_JNLALLOCGROW = 150382107; +LITDEF int ERR_INVTRCGRP = 150382114; +LITDEF int ERR_MUINFOUINT6 = 150382123; +LITDEF int ERR_NOLOCKMATCH = 150382131; +LITDEF int ERR_BADREGION = 150382138; +LITDEF int ERR_LOCKSPACEUSE = 150382147; +LITDEF int ERR_JIUNHNDINT = 150382154; +LITDEF int ERR_GTMASSERT2 = 150382164; +LITDEF int ERR_ZTRIGNOTRW = 150382170; +LITDEF int ERR_TRIGMODREGNOTRW = 150382178; +LITDEF int ERR_INSNOTJOINED = 150382186; +LITDEF int ERR_INSROLECHANGE = 150382194; +LITDEF int ERR_INSUNKNOWN = 150382202; +LITDEF int ERR_NORESYNCSUPPLONLY = 150382210; +LITDEF int ERR_NORESYNCUPDATERONLY = 150382218; +LITDEF int ERR_NOSUPPLSUPPL = 150382226; +LITDEF int ERR_REPL2OLD = 150382234; +LITDEF int ERR_RCVR2MANY = 150382242; +LITDEF int ERR_RLBKCONFIGBNDRY = 150382250; +LITDEF int ERR_SECNOTSUPPLEMENTARY = 150382258; +LITDEF int ERR_SUPRCVRNEEDSSUPSRC = 150382266; +LITDEF int ERR_SYNCTOSAMETYPE = 150382274; +LITDEF int ERR_TARGINSRUNNING = 150382282; +LITDEF int ERR_UPDSYNC2MTINS = 150382290; +LITDEF int ERR_UPDSYNCINSTFILE = 150382298; +LITDEF int ERR_REUSEINSTNAME = 150382306; +LITDEF int ERR_RCVRMANYSTRMS = 150382314; +LITDEF int ERR_RSYNCSTRMVAL = 150382322; +LITDEF int ERR_RLBKSTRMSEQ = 150382331; +LITDEF int ERR_RESOLVESEQSTRM = 150382339; +LITDEF int ERR_REPLINSTDBSTRM = 150382346; +LITDEF int ERR_RESUMESTRMNUM = 150382354; +LITDEF int ERR_ORLBKSTART = 150382363; +LITDEF int ERR_ORLBKTERMNTD = 150382370; +LITDEF int ERR_ORLBKCMPLT = 150382379; +LITDEF int ERR_ORLBKNOSTP = 150382387; +LITDEF int ERR_ORLBKFRZPROG = 150382395; +LITDEF int ERR_ORLBKFRZOVER = 150382403; +LITDEF int ERR_ORLBKNOV4BLK = 150382410; +LITDEF int ERR_DBROLLEDBACK = 150382418; +LITDEF int ERR_DSEWCREINIT = 150382427; +LITDEF int ERR_RNDWNSKIPCNT = 150382435; +LITDEF int ERR_REPLONLNRLBK = 150382442; +LITDEF int ERR_SRVLCKWT2LNG = 150382450; +LITDEF int ERR_IGNBMPMRKFREE = 150382459; +LITDEF int ERR_PERMGENFAIL = 150382466; +LITDEF int ERR_PERMGENDIAG = 150382475; +LITDEF int ERR_MUTRUNC1ATIME = 150382483; +LITDEF int ERR_MUTRUNCBACKINPROG = 150382491; +LITDEF int ERR_MUTRUNCERROR = 150382498; +LITDEF int ERR_MUTRUNCFAIL = 150382506; +LITDEF int ERR_MUTRUNCNOSPACE = 150382515; +LITDEF int ERR_MUTRUNCNOTBG = 150382522; +LITDEF int ERR_MUTRUNCNOV4 = 150382530; +LITDEF int ERR_MUTRUNCPERCENT = 150382538; +LITDEF int ERR_MUTRUNCSSINPROG = 150382547; +LITDEF int ERR_MUTRUNCSUCCESS = 150382555; +LITDEF int ERR_RSYNCSTRMSUPPLONLY = 150382562; +LITDEF int ERR_STRMNUMIS = 150382571; +LITDEF int ERR_STRMNUMMISMTCH1 = 150382578; +LITDEF int ERR_STRMNUMMISMTCH2 = 150382586; +LITDEF int ERR_STRMSEQMISMTCH = 150382594; +LITDEF int ERR_LOCKSPACEINFO = 150382603; +LITDEF int ERR_JRTNULLFAIL = 150382610; + +GBLDEF err_ctl merrors_ctl = { + 246, + "GTM", + &merrors[0], + 1282}; diff --git a/fis-gtm-src-extras/pro/obj/omi_sx_play.c b/fis-gtm-src-extras/pro/obj/omi_sx_play.c new file mode 100644 index 0000000..1bbc615 --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/omi_sx_play.c @@ -0,0 +1,490 @@ +/**************************************************************** + * * + * Copyright 2001, 2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* + * omi_srvc_xct.c --- + * + * Process a client's transaction. + * + */ + +#include "mdef.h" + +#include + +#include "gtm_stdio.h" +#include "gtm_unistd.h" +#include "gtm_string.h" +#include "gtm_time.h" /* for time() */ +#include "gtmio.h" +#include "have_crit.h" + +#include "omi.h" +#include "gtcm.h" +#include "error.h" + +#ifndef lint +static char rcsid[] = "$Header:$"; +#endif + +GBLREF int4 omi_errno; +GBLREF char *omi_pklog; +GBLREF char *omi_oprlist[]; +GBLREF char *omi_errlist[]; +GBLREF char *omi_pklog_addr; +GBLREF int history; +GBLREF boolean_t servtime_expired; + +static omi_op omi_dispatch_table[OMI_OP_MAX] = +{ + 0, + omi_prc_conn, + omi_prc_stat, + omi_prc_disc, + 0, 0, 0, 0, 0, 0, + omi_prc_set, +/* omi_prc_setp*/0, +/* omi_prc_sete*/0, + omi_prc_kill, +/* omi_prc_incr*/0, + 0, 0, 0, 0, 0, + omi_prc_get, + omi_prc_def, + omi_prc_ordr, + omi_prc_next, + omi_prc_qry, + omi_prc_rord, +/* omi_prc_rqry*/0, + 0, 0, 0, + omi_prc_lock, + omi_prc_unlk, + omi_prc_unlc, + omi_prc_unla +}; + +int omi_srvc_xact (omi_conn *cptr) +{ + extern int4 omi_nxact, omi_nerrs, omi_brecv, omi_bsent, gtcm_stime; + extern int4 gtcm_ltime, omi_nxact2; + + omi_vi mlen, xlen; + omi_li nxact; + omi_si hlen; + omi_req_hdr rh; + omi_err_hdr eh; + int4 rv, blen; + int bunches, xblk, i, fatal; + char buff[OMI_BUFSIZ], *bptr, *xend, *bend; + +#ifdef BSD_TCP + int cc, save_errno; + +/* If true, an error occurred */ + cc =(int)(&cptr->buff[cptr->bsiz] - &cptr->bptr[cptr->blen]); + while (!servtime_expired && (cc = (int)(read(cptr->fd, &cptr->bptr[cptr->blen], cc))) < 0 && errno == EINTR) + ; + save_errno = errno; + if (servtime_expired) + return -1; + if (cc < 0) + { + if (errno == ETIMEDOUT) + { + OMI_DBG((omi_debug, "%s: connection %d to %s timed out.\n", + SRVR_NAME, cptr->stats.id, gtcm_hname(&cptr->stats.sin))); + } + else if (errno == ECONNRESET) + { + OMI_DBG((omi_debug, "%s: connection %d to %s closed by remote client.\n", + SRVR_NAME, cptr->stats.id, gtcm_hname(&cptr->stats.sin))); + } + else + { + char msg[256]; + SPRINTF(msg, "Attempted read from connection %d to %s failed", + cptr->stats.id, gtcm_hname(&cptr->stats.sin)); + gtcm_rep_err(msg, save_errno); + } + return -1; + } + +/* If true, the connection has closed */ + else if (cc == 0) + { + return -1; + } + +/* Buffer in use between &cptr->bptr[0] and &cptr->buff[cptr->bsiz] */ + cptr->blen += cc; + cptr->stats.bytes_recv += cc; + omi_brecv += cc; +#else /* defined(BSD_TCP) */ + +#ifdef FILE_TCP + int cc; + + cc = (int)(&cptr->buff[cptr->bsiz] - &cptr->bptr[cptr->blen]); +/* If true, an error occurred */ + if ((cc = (int)read(cptr->fd, &cptr->bptr[cptr->blen], 4)) <= 0) + { + return -1; + } + cptr->blen += 4; + cptr->xptr = cptr->bptr; + OMI_VI_READ(&mlen, cptr->xptr); + if ((cc = (int)read(cptr->fd, &cptr->bptr[cptr->blen], mlen.value)) <= 0) + { + return -1; + } + cptr->blen += cc; + cptr->stats.bytes_recv += cc + 4; + omi_brecv += cc + 4; +#else /* defined(FILE_TCP) */ + return -1; +#endif /* !defined(FILE_TCP) */ +#endif /* !defined(BSD_TCP) */ + +/* If true, we don't have all of the transaction length yet */ + if (cptr->blen < OMI_VI_SIZ) + { +/* If true, push the piece we have to the beginning of the buffer */ + if (cptr->bptr != cptr->buff) + { + memmove(cptr->buff, cptr->bptr, cptr->blen); + cptr->bptr = cptr->buff; + } + return 0; + } + +/* Place the transaction pointer so we can move through the data */ + cptr->xptr = cptr->bptr; + + OMI_VI_READ(&mlen, cptr->xptr); + + if (mlen.value + 4 > OMI_BUFSIZ) + { + char msg[256]; + + SPRINTF(msg, "OMI packet length (%d) larger than max (%d)", mlen.value+4, OMI_BUFSIZ); + gtcm_cpktdmp((char *)cptr->bptr, cptr->blen, msg); + return -1; + } + +/* If true, we don't have the full transaction yet */ + if (cptr->blen < mlen.value + 4) + { +/* If true, push the piece we have to the beginning of the buffer */ + if (cptr->bptr != cptr->buff) + { + memmove(cptr->buff, cptr->bptr, cptr->blen); + cptr->bptr = cptr->buff; + } + return 0; + } + +/* We have the whole transaction in the buffer, decompose it. */ + if (history) + { + init_omi_hist(cptr->stats.id); + save_omi_req(cptr->bptr, cptr->blen); + } + + +#ifdef DEBUG +/* + * if (omi_pklog && !INV_FD_P(cptr->pklog)) + * if (!omi_pklog_addr || (!strcmp(omi_pklog_addr, strchr(cptr->stats.addr, '@')+1))) + * omi_dump_pkt(cptr); + */ +#endif /* defined(DEBUG) */ + +/* This is set to indicate a fatal error in a bunch */ + fatal = 0; +/* This is set to indicate we processed an xblk */ + xblk = 0; + +/* If true, we need to worry about bunches */ + if ((bunches = (cptr->exts & OMI_XTF_BUNCH))) + { + OMI_LI_READ(&nxact, cptr->xptr); + bptr = buff + OMI_VI_SIZ + OMI_LI_SIZ; + if (nxact.value * (OMI_RH_SIZ + 1) > mlen.value) /* || nxact.value < 0 */ /* is commented as it is always FALSE */ + { + char msg[256]; + + SPRINTF(msg, "invalid OMI packet (invalid nxact)"); + gtcm_cpktdmp((char *)cptr->bptr, cptr->blen, msg); + return -1; + } + } + else + { + nxact.value = 1; + bptr = buff; + xlen = mlen; + } + +/* This is the end of the response buffer (for the *_prc_*() routines) */ + bend = ARRAYTOP(buff); + +/* Loop through the transaction(s) */ + for (i = nxact.value; i > 0; i--) + { + + if (bunches) + OMI_VI_READ(&xlen, cptr->xptr); + +/* This pointer marks the end of this transaction */ + xend = cptr->xptr + xlen.value; + +/* Check the size of the operation-independent header */ + OMI_SI_READ(&hlen, cptr->xptr); +/* Operation class and type */ + OMI_LI_READ(&rh.op_class, cptr->xptr); + OMI_SI_READ(&rh.op_type, cptr->xptr); +/* User and Group */ + OMI_LI_READ(&rh.user, cptr->xptr); + OMI_LI_READ(&rh.group, cptr->xptr); +/* Sequence number */ + OMI_LI_READ(&rh.seq, cptr->xptr); +/* Reference ID */ + OMI_LI_READ(&rh.ref, cptr->xptr); + +/* Initialize in case of an error */ + eh.type = 0; +/* Sanity check the transaction */ + if (xlen.value > mlen.value || hlen.value != OMI_RH_SIZ) + { + eh.type = OMI_ER_PR_INVMSGFMT; + fatal = -1; + } + else if (cptr->state == OMI_ST_DISC && rh.op_type.value != OMI_CONNECT) + { + char msg[256]; + SPRINTF(msg, "Request (%x) sent before session was established", + rh.op_type.value); + eh.type = OMI_ER_SE_NOSESS; + } + else if (cptr->state == OMI_ST_CONN && rh.op_type.value == OMI_CONNECT) + { + eh.type = OMI_ER_SE_CONNREQ; + fatal = 1; + } + else if (rh.op_class.value != 1) + { + if (!(cptr->exts & OMI_XTF_RC && rh.op_class.value == 2)) + { + eh.type = OMI_ER_PR_INVMSGFMT; + fatal = -1; + } + } + + else if (rh.op_type.value >= OMI_OP_MAX) + { + cptr->stats.xact[0]++; + eh.type = OMI_ER_PR_INVOPTYPE; + } + else if (!omi_dispatch_table[rh.op_type.value]) + { + cptr->stats.xact[rh.op_type.value]++; + eh.type = OMI_ER_PR_INVOPTYPE; + } + +/* Report any errors */ + if (eh.type != OMI_ER_NO_ERROR || fatal) + { + if (eh.type == OMI_ER_NO_ERROR) + eh.type = OMI_ER_PR_INVMSGFMT; + eh.class = 1; + eh.modifier = 0; + omi_buff_rsp(&rh, &eh, 0, bptr, 0); + bptr += OMI_HDR_SIZ; + cptr->xptr = xend; + cptr->stats.errs[eh.type]++; + omi_nerrs++; + OMI_DBG((omi_debug, "gtcm_server: %6d: Error (PD): %s\n", + cptr->stats.id, omi_errlist[eh.type])); + if (fatal < 0) + break; + continue; + } + + /* start counting server up time with the first transaction */ + if (!omi_nxact) + gtcm_stime = (int4)time(0); + +/* If true, this is an RC request; service it in the RC code */ + if (cptr->exts & OMI_XTF_RC && rh.op_class.value == 2) + { +#ifdef GTCM_RC + omi_nxact++; + omi_nxact2++; + if ((rv = rc_srvc_xact(cptr, xend)) >= 0) + { + xblk = 1; + blen = rv + OMI_HDR_SIZ; + bptr = cptr->bptr; + bend = &cptr->buff[cptr->bsiz]; + } +#else /* defined(RC) */ + fatal = 1; + rv = -OMI_ER_PR_INVMSGFMT; +#endif /* !defined(GTCM_RC) */ + } + +/* Otherwise, deal with the OMI/EMI request */ + else + { +/* Update the stats, do the operation */ + cptr->stats.xact[rh.op_type.value]++; + omi_nxact++; + omi_nxact2++; +/* OMI_DBG((omi_debug, "gtcm_server: %6d: %s\n", cptr->stats.id, + * omi_oprlist[rh.op_type.value]));*/ + omi_errno = OMI_ER_NO_ERROR; +/* Service the transaction(s) */ + rv = (*omi_dispatch_table[rh.op_type.value])(cptr, xend, bptr + OMI_HDR_SIZ, bend); + +/* If true (or true if) an exception is raised */ + if (omi_errno != OMI_ER_NO_ERROR) + rv = -omi_errno; + } + +/* If true, an error occurred servicing this transaction */ + if (rv < 0) + { + eh.class = 1; + eh.type = -rv; + eh.modifier = 0; + omi_buff_rsp(&rh, &eh, 0, bptr, 0); + bptr += OMI_HDR_SIZ; + cptr->xptr = xend; + cptr->stats.errs[eh.type]++; + omi_nerrs++; + OMI_DBG((omi_debug, "gtcm_server: %6d: Error (AD): %s\n", + cptr->stats.id, omi_errlist[eh.type])); + omi_dump_pkt(cptr); + + } + else + { + if (cptr->xptr != xend) + { +/* Only report this if we're not doing RC */ + if (!(cptr->exts & OMI_XTF_RC && rh.op_class.value == 2)) + NON_IA64_ONLY(OMI_DBG((omi_debug, "gtcm_server: xptr != xend (%d)\n", xend - cptr->xptr))); + IA64_ONLY(OMI_DBG((omi_debug, "gtcm_server: xptr != xend (%ld)\n", xend - cptr->xptr))); + cptr->xptr = xend; + } + omi_buff_rsp(&rh, (omi_err_hdr *)0, 0, bptr, rv); + bptr += OMI_HDR_SIZ + rv; + } + if (bptr >= bend) + { + gtcm_rep_err("Buffer overrun error", -1); + return -1; + } + } + +/* If true, this was not an RC XBLK, so we need to calculate the + * size of the response */ + if (!xblk) + { + blen = (int)(bptr - buff); + bptr = buff; + if (bunches) + { + OMI_VI_WRIT(blen - OMI_VI_SIZ, bptr); + OMI_LI_WRIT(nxact.value, bptr); + bptr = buff; + } + } + else + bptr = cptr->bptr; + +/* Send the response(s) back to the client */ + if (history) + save_omi_rsp(bptr, blen); + +#ifdef BSD_TCP +/* Write out the response (in pieces if necessary) */ + while (blen > 0) + { + while(!servtime_expired && (cc = (int)(write(cptr->fd, bptr, blen))) < 0) + ; + save_errno = errno; + if (cc < 0) + { + if (errno == ETIMEDOUT) + { + OMI_DBG((omi_debug, "%s: connection %d to %s timed out.\n", + SRVR_NAME, cptr->stats.id, gtcm_hname(&cptr->stats.sin))); + } + else if (errno == ECONNRESET) + { + OMI_DBG((omi_debug, "%s: connection %d to %s closed by remote client.\n", + SRVR_NAME, cptr->stats.id, gtcm_hname(&cptr->stats.sin))); + } + else if (errno == EPIPE) + { + OMI_DBG((omi_debug, "%s: remote client no longer attached to connection %d, %s.\n", + SRVR_NAME, cptr->stats.id, gtcm_hname(&cptr->stats.sin))); + } + else if (errno == EINTR) + continue; + else + { + char msg[256]; + SPRINTF(msg, "Write attempt to connection %d failed", cptr->stats.id); + gtcm_rep_err(msg, save_errno); + } + return -1; + } + bptr += cc; + blen -= cc; + cptr->stats.bytes_send += cc; + omi_bsent += cc; + } +#else /* defined(BSD_TCP) */ + +#ifdef FILE_TCP + bptr += blen; + cptr->stats.bytes_send += blen; + omi_bsent += blen; + blen -= blen; +#endif /* defined(FILE_TCP) */ +#endif /* !defined(BSD_TCP) */ + +/* If true, a fatal error occurred with the last transaction */ +/* also exitt if we received a disconnect request */ + if (fatal || rh.op_type.value == OMI_DISCONNECT) + { + return -1; + } + +/* Get ready for the next transaction */ + cptr->bptr += mlen.value + 4; + cptr->blen -= mlen.value + 4; + if (cptr->xptr > cptr->bptr) + { + gtcm_rep_err("buffer size error", errno); + return -1; + } + +/* If true, move the partial buffer to the beginning of the buffer */ + if (cptr->blen > 0 && cptr->bptr != cptr->buff) + memmove(cptr->buff, cptr->bptr, cptr->blen); +/* Reset to the beginning of the buffer */ + cptr->bptr = cptr->buff; + + return 0; + +} diff --git a/fis-gtm-src-extras/pro/obj/ttt.c b/fis-gtm-src-extras/pro/obj/ttt.c new file mode 100644 index 0000000..9814a07 --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/ttt.c @@ -0,0 +1,674 @@ +/**************************************************************** + * * + * Copyright 2001, 2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#include "mdef.h" +#include "vxi.h" +#include "vxt.h" +#include "xfer_enum.h" +LITDEF short ttt[4087] = { + +/* 0 */ 0,0,0,0,307,3537,3010,549, +/* 8 */ 2329,2995,3025,2010,403,3487,2131,3111, +/* 16 */ 2208,2199,3720,3757,2172,2181,2247,2193, +/* 24 */ 2238,2217,2154,755,770,782,794,836, +/* 32 */ 854,869,898,934,949,964,982,1141, +/* 40 */ 1054,1087,1120,1198,1249,1579,1612,1627, +/* 48 */ 1657,1723,1753,1777,1840,1861,1876,3552, +/* 56 */ 3574,0,0,0,0,564,0,505, +/* 64 */ 0,1996,0,3097,0,0,0,0, +/* 72 */ 0,0,339,415,2307,2313,2743,2770, +/* 80 */ 2788,2891,2829,2820,2906,3626,3710,3046, +/* 88 */ 0,3076,3177,3140,3125,3155,3501,3353, +/* 96 */ 3632,3644,3659,3683,3692,3677,3668,3386, +/* 104 */ 3753,3766,3788,3825,3837,3858,3882,3948, +/* 112 */ 0,0,2939,2289,3229,4036,643,4039, +/* 120 */ 697,2800,3195,519,525,4042,2405,2497, +/* 128 */ 2379,472,2428,2517,2163,2460,2527,4045, +/* 136 */ 2274,2265,4049,1267,4050,335,331,3377, +/* 144 */ 427,4054,4057,4060,3062,4063,4066,4069, +/* 152 */ 4072,4075,4078,3523,0,2915,2583,2564, +/* 160 */ 1540,2555,2325,2145,2866,2031,722,2856, +/* 168 */ 0,0,2344,3701,3729,1471,3653,2440, +/* 176 */ 2024,534,3849,1825,2256,1183,322,3181, +/* 184 */ 606,675,587,653,3813,1102,3781,3039, +/* 192 */ 2283,2930,3053,625,994,2870,4081,2507, +/* 200 */ 3900,3918,3933,496,2885,3173,1957,3975, +/* 208 */ 3960,1285,3515,578,1642,1711,2472,4084, +/* 216 */ 3586,2543,731,812,3212,3741,3610,3596, +/* 224 */ 3603,3592,707,883,2392,2415,1036,2366, +/* 232 */ 1024,2226,1009,1069,2484,1441,1384,1369, +/* 240 */ 1423,1339,1351,1396,1324,1408,1456,0, +/* 248 */ 3473,0,910,919,3332,1852,3311,2353, +/* 256 */ 2450,2965,2971,2983,2951,1222,1234,1156, +/* 264 */ 1168,1210,3564,1687,1888,0,1297,1483, +/* 272 */ 1561,3407,1594,1672,1699,1810,1789,3449, +/* 280 */ 1735,3428,1921,1495,1510,1984,1903,3239, +/* 288 */ 3251,3263,3275,2779,2794,1528,436,1312, +/* 296 */ 1939,634,3287,3299,3969,3981,3990,4007, +/* 304 */ 4021,4027,3804,VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL, +/* 312 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,3,VXT_XFER, +/* 320 */ SIZEOF(char *) * (short int)xf_add,VXT_END, +/* 322 */ VXT_IREPL,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_bindparm, +/* 330 */ VXT_END, +/* 331 */ VXI_INCL,VXT_VAL,1,VXT_END, +/* 335 */ VXI_CLRL,VXT_VAL,0,VXT_END, +/* 339 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_break,VXT_END, +/* 343 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_callb,VXI_BRB,VXT_JMP, +/* 351 */ 1,VXT_END, +/* 353 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_calll,VXI_JMP,VXT_JMP, +/* 361 */ 1,VXT_END, +/* 363 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_callw,VXI_BRW,VXT_JMP, +/* 371 */ 1,VXT_END, +/* 373 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_callspb,VXI_BRB,VXT_JMP, +/* 381 */ 1,VXT_END, +/* 383 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_callspl,VXI_JMP,VXT_JMP, +/* 391 */ 1,VXT_END, +/* 393 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_callspw,VXI_BRW,VXT_JMP, +/* 401 */ 1,VXT_END, +/* 403 */ VXT_IREPAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_VAL, +/* 411 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_cat,VXT_END, +/* 415 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 423 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_close,VXT_END, +/* 427 */ VXI_BICB2,VXT_LIT,1,VXT_REG,0x5A,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_dt_false, +/* 435 */ VXT_END, +/* 436 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_clralsvars, +/* 444 */ VXT_END, +/* 445 */ VXI_TSTL,VXT_VAL,1,VXT_END, +/* 449 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_mval2bool, +/* 457 */ VXT_END, +/* 458 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_mval2mint, +/* 466 */ VXI_MOVL,VXT_REG,0x50,VXT_VAL,0,VXT_END, +/* 472 */ VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 480 */ SIZEOF(char *) * (short int)xf_commarg,VXT_END, +/* 482 */ VXI_MOVAB,VXT_VAL,0,VXT_REG,0x50,VXI_MOVL,VXT_VAL,1, +/* 490 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_mint2mval,VXT_END, +/* 496 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_mval2num, +/* 504 */ VXT_END, +/* 505 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x50,VXI_MOVAB,VXT_VAL,2, +/* 513 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_contain,VXT_END, +/* 519 */ VXI_MOVL,VXT_REG,0x6C,VXT_ADDR,0,VXT_END, +/* 525 */ VXI_MOVAB,VXT_VAL,0,VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_currtn, +/* 533 */ VXT_END, +/* 534 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL, +/* 542 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_cvtparm,VXT_END, +/* 549 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 557 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_div,VXT_END, +/* 564 */ VXI_MOVAB,VXT_VAL,2,VXT_REG,0x51,VXI_MOVAB,VXT_VAL,1, +/* 572 */ VXT_REG,0x50,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_equ,VXT_END, +/* 578 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x50,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_equnul, +/* 586 */ VXT_END, +/* 587 */ VXT_IREPAB,VXT_VAL,5,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 595 */ 3,VXI_PUSHL,VXT_VAL,2,VXI_PUSHL,VXT_LIT,0,VXI_JSB, +/* 603 */ VXT_XFER,SIZEOF(char *) * (short int)xf_exfun,VXT_END, +/* 606 */ VXT_IREPAB,VXT_VAL,5,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 614 */ 3,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_JSB, +/* 622 */ VXT_XFER,SIZEOF(char *) * (short int)xf_exfun,VXT_END, +/* 625 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_exfunret, +/* 633 */ VXT_END, +/* 634 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_exfunretals, +/* 642 */ VXT_END, +/* 643 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 651 */ SIZEOF(char *) * (short int)xf_extcall,VXT_END, +/* 653 */ VXT_IREPAB,VXT_VAL,5,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 661 */ 3,VXI_PUSHL,VXT_LIT,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB, +/* 669 */ VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_extexfun,VXT_END, +/* 675 */ VXT_IREPAB,VXT_VAL,5,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 683 */ 3,VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB, +/* 691 */ VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_extexfun,VXT_END, +/* 697 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 705 */ SIZEOF(char *) * (short int)xf_extjmp,VXT_END, +/* 707 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 715 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_exp,VXT_END, +/* 722 */ VXT_IREPL,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_fetch, +/* 730 */ VXT_END, +/* 731 */ VXT_IREPAB,VXT_VAL,6,VXI_PUSHL,VXT_VAL,5,VXI_PUSHL,VXT_VAL, +/* 739 */ 4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL, +/* 747 */ VXT_LIT,0,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnfgncal,VXT_END, +/* 755 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHL,VXT_VAL, +/* 763 */ 2,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnascii,VXT_END, +/* 770 */ VXT_IREPL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_VAL, +/* 778 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnchar,VXT_END, +/* 782 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 790 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fndata,VXT_END, +/* 794 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHL,VXT_VAL, +/* 802 */ 2,VXI_PUSHL,VXT_VAL,3,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 810 */ SIZEOF(char *) * (short int)xf_fnextract,VXT_END, +/* 812 */ VXT_IREPAB,VXT_VAL,6,VXI_PUSHL,VXT_VAL,5,VXI_PUSHL,VXT_VAL, +/* 820 */ 4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB, +/* 828 */ VXT_VAL,0,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnfgncal,VXT_END, +/* 836 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 844 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 852 */ SIZEOF(char *) * (short int)xf_fnfind,VXT_END, +/* 854 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 862 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnfnumber,VXT_END, +/* 869 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x51,VXI_MOVAB,VXT_VAL,0, +/* 877 */ VXT_REG,0x50,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_fnget,VXT_END, +/* 883 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 891 */ 0,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnget2,VXT_END, +/* 898 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT, +/* 906 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fngvget,VXT_END, +/* 910 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_fngvget1, +/* 918 */ VXT_END, +/* 919 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 927 */ 0,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fngvget2,VXT_END, +/* 934 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 942 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnincr,VXT_END, +/* 949 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 957 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnj2,VXT_END, +/* 964 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 972 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 980 */ SIZEOF(char *) * (short int)xf_fnj3,VXT_END, +/* 982 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 990 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnlength,VXT_END, +/* 994 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1002 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnlvname,VXT_END, +/* 1009 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL, +/* 1017 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnlvnameo2,VXT_END, +/* 1024 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1032 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnlvprvname,VXT_END, +/* 1036 */ VXT_IREPAB,VXT_VAL,4,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHL,VXT_VAL, +/* 1044 */ 3,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_VAL,2,VXT_XFER, +/* 1052 */ SIZEOF(char *) * (short int)xf_fnname,VXT_END, +/* 1054 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1062 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnnext,VXT_END, +/* 1069 */ VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL, +/* 1077 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1085 */ SIZEOF(char *) * (short int)xf_fno2,VXT_END, +/* 1087 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1095 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnorder,VXT_END, +/* 1102 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 1110 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1118 */ SIZEOF(char *) * (short int)xf_fnp1,VXT_END, +/* 1120 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 1128 */ 3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 1136 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_fnpiece,VXT_END, +/* 1141 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1149 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnpopulation,VXT_END, +/* 1156 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1164 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnqlength,VXT_END, +/* 1168 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1176 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnqsubscript,VXT_END, +/* 1183 */ VXT_IREPAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1191 */ 0,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnquery,VXT_END, +/* 1198 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1206 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnrandom,VXT_END, +/* 1210 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1218 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnreverse,VXT_END, +/* 1222 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1230 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnstack1,VXT_END, +/* 1234 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL, +/* 1242 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnstack2,VXT_END, +/* 1249 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 1257 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1265 */ SIZEOF(char *) * (short int)xf_fntext,VXT_END, +/* 1267 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 1275 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1283 */ SIZEOF(char *) * (short int)xf_fntranslate,VXT_END, +/* 1285 */ VXT_IREPAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_VAL, +/* 1293 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnview,VXT_END, +/* 1297 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHL,VXT_VAL, +/* 1305 */ 2,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzascii,VXT_END, +/* 1312 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1320 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzahandle,VXT_END, +/* 1324 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 1332 */ 0,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitand,VXT_END, +/* 1339 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT, +/* 1347 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitcoun,VXT_END, +/* 1351 */ VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1359 */ 1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1367 */ SIZEOF(char *) * (short int)xf_fnzbitfind,VXT_END, +/* 1369 */ VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 1377 */ 0,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitget,VXT_END, +/* 1384 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT, +/* 1392 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitlen,VXT_END, +/* 1396 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT, +/* 1404 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitnot,VXT_END, +/* 1408 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 1416 */ 0,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitor,VXT_END, +/* 1423 */ VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1431 */ 1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1439 */ SIZEOF(char *) * (short int)xf_fnzbitset,VXT_END, +/* 1441 */ VXI_PUSHL,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 1449 */ 0,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitstr,VXT_END, +/* 1456 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 1464 */ 0,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzbitxor,VXT_END, +/* 1471 */ VXT_IREPAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_VAL, +/* 1479 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzcall,VXT_END, +/* 1483 */ VXT_IREPL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_VAL, +/* 1491 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzchar,VXT_END, +/* 1495 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1503 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzconvert2,VXT_END, +/* 1510 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 1518 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1526 */ SIZEOF(char *) * (short int)xf_fnzconvert3,VXT_END, +/* 1528 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1536 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzdata,VXT_END, +/* 1540 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,4,VXI_PUSHAB,VXT_VAL, +/* 1548 */ 3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 1556 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzdate,VXT_END, +/* 1561 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHL,VXT_VAL, +/* 1569 */ 2,VXI_PUSHL,VXT_VAL,3,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1577 */ SIZEOF(char *) * (short int)xf_fnzextract,VXT_END, +/* 1579 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1587 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzfile,VXT_END, +/* 1594 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 1602 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1610 */ SIZEOF(char *) * (short int)xf_fnzfind,VXT_END, +/* 1612 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1620 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fngetdvi,VXT_END, +/* 1627 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL, +/* 1635 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fngetjpi,VXT_END, +/* 1642 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL, +/* 1650 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fngetlki,VXT_END, +/* 1657 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1665 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fngetsyi,VXT_END, +/* 1672 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1680 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzj2,VXT_END, +/* 1687 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1695 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzjobexam,VXT_END, +/* 1699 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1707 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzlength,VXT_END, +/* 1711 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1719 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzlkid,VXT_END, +/* 1723 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1731 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzm,VXT_END, +/* 1735 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 1743 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1751 */ SIZEOF(char *) * (short int)xf_fnzp1,VXT_END, +/* 1753 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,5,VXI_PUSHAB,VXT_VAL, +/* 1761 */ 4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB, +/* 1769 */ VXT_VAL,1,VXI_CALLS,VXT_LIT,6,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzparse,VXT_END, +/* 1777 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1785 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzpid,VXT_END, +/* 1789 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 1797 */ 3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 1805 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzpiece,VXT_END, +/* 1810 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1818 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzpopulation,VXT_END, +/* 1825 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1833 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzprevious,VXT_END, +/* 1840 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1848 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzpriv,VXT_END, +/* 1852 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzqgblmod, +/* 1860 */ VXT_END, +/* 1861 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 1869 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzsearch,VXT_END, +/* 1876 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1884 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzsetprv,VXT_END, +/* 1888 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHL,VXT_VAL, +/* 1896 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzsigproc,VXT_END, +/* 1903 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 1911 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1919 */ SIZEOF(char *) * (short int)xf_fnzsubstr,VXT_END, +/* 1921 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 1929 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1937 */ SIZEOF(char *) * (short int)xf_fnztranslate,VXT_END, +/* 1939 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 1947 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,4,VXT_XFER, +/* 1955 */ SIZEOF(char *) * (short int)xf_fnztrigger,VXT_END, +/* 1957 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,6,VXI_PUSHAB,VXT_VAL, +/* 1965 */ 5,VXI_PUSHAB,VXT_VAL,4,VXI_PUSHL,VXT_VAL,3,VXI_PUSHAB, +/* 1973 */ VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,7, +/* 1981 */ VXT_XFER,SIZEOF(char *) * (short int)xf_fnztrnlnm,VXT_END, +/* 1984 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 1992 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_fnzwidth,VXT_END, +/* 1996 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x50,VXI_MOVAB,VXT_VAL,2, +/* 2004 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_follow,VXT_END, +/* 2010 */ VXI_MOVAB,VXT_VAL,0,VXT_REG,0x50,VXI_MOVAB,VXT_VAL,1, +/* 2018 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_forcenum,VXT_END, +/* 2024 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_forchk1,VXT_END, +/* 2031 */ VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 2039 */ 1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_forinit,VXT_END, +/* 2044 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_forlcldob,VXI_BRB,VXT_JMP, +/* 2052 */ 1,VXT_END, +/* 2054 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_forlcldol,VXI_JMP,VXT_JMP, +/* 2062 */ 1,VXT_END, +/* 2064 */ VXI_PUSHL,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_forlcldow,VXI_BRW,VXT_JMP, +/* 2072 */ 1,VXT_END, +/* 2074 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_JMP,1,VXI_PUSHAB,VXT_VAL, +/* 2082 */ 4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_JSB, +/* 2090 */ VXT_XFER,SIZEOF(char *) * (short int)xf_forloop,VXT_END, +/* 2093 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_JMP,1,VXI_PUSHAB,VXT_VAL, +/* 2101 */ 4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_JSB, +/* 2109 */ VXT_XFER,SIZEOF(char *) * (short int)xf_forloop,VXT_END, +/* 2112 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_JMP,1,VXI_PUSHAB,VXT_VAL, +/* 2120 */ 4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_JSB, +/* 2128 */ VXT_XFER,SIZEOF(char *) * (short int)xf_forloop,VXT_END, +/* 2131 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_getindx, +/* 2139 */ VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0,VXT_END, +/* 2145 */ VXI_MOVAB,VXT_VAL,0,VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_gettruth, +/* 2153 */ VXT_END, +/* 2154 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvdata, +/* 2162 */ VXT_END, +/* 2163 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvextnam, +/* 2171 */ VXT_END, +/* 2172 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvget, +/* 2180 */ VXT_END, +/* 2181 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_LIT, +/* 2189 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_gvincr,VXT_END, +/* 2193 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_gvkill,VXT_END, +/* 2199 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvnaked, +/* 2207 */ VXT_END, +/* 2208 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvname, +/* 2216 */ VXT_END, +/* 2217 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvnext, +/* 2225 */ VXT_END, +/* 2226 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT, +/* 2234 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_gvo2,VXT_END, +/* 2238 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvorder, +/* 2246 */ VXT_END, +/* 2247 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvput, +/* 2255 */ VXT_END, +/* 2256 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvquery, +/* 2264 */ VXT_END, +/* 2265 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvrectarg, +/* 2273 */ VXT_END, +/* 2274 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_gvsavtarg, +/* 2282 */ VXT_END, +/* 2283 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_gvzwithdraw,VXT_END, +/* 2289 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXT_IREPAB,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 2297 */ 3,VXI_PUSHL,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER, +/* 2305 */ SIZEOF(char *) * (short int)xf_gvzwrite,VXT_END, +/* 2307 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_halt,VXT_END, +/* 2313 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 2321 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_hang,VXT_END, +/* 2325 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_hardret,VXT_END, +/* 2329 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 2337 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_idiv,VXT_END, +/* 2344 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_igetsrc, +/* 2352 */ VXT_END, +/* 2353 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 2361 */ 1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_inddevparms,VXT_END, +/* 2366 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 2374 */ 0,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indfnname,VXT_END, +/* 2379 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 2387 */ 1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indfun,VXT_END, +/* 2392 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 2400 */ 0,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indget,VXT_END, +/* 2405 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 2413 */ SIZEOF(char *) * (short int)xf_indglvn,VXT_END, +/* 2415 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 2423 */ 0,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indincr,VXT_END, +/* 2428 */ VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indlvadr,VXI_MOVL,VXT_REG, +/* 2436 */ 0x50,VXT_ADDR,0,VXT_END, +/* 2440 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 2448 */ SIZEOF(char *) * (short int)xf_indlvarg,VXT_END, +/* 2450 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_JSB,VXT_XFER, +/* 2458 */ SIZEOF(char *) * (short int)xf_indmerge,VXT_END, +/* 2460 */ VXT_IREPAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_VAL, +/* 2468 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_indname,VXT_END, +/* 2472 */ VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indlvnamadr,VXI_MOVL,VXT_REG, +/* 2480 */ 0x50,VXT_ADDR,0,VXT_END, +/* 2484 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 2492 */ 0,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indo2,VXT_END, +/* 2497 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 2505 */ SIZEOF(char *) * (short int)xf_indpat,VXT_END, +/* 2507 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 2515 */ SIZEOF(char *) * (short int)xf_indrzshow,VXT_END, +/* 2517 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 2525 */ SIZEOF(char *) * (short int)xf_indset,VXT_END, +/* 2527 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 2535 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_indtext,VXT_END, +/* 2543 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL, +/* 2551 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_iocontrol,VXT_END, +/* 2555 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_iretmvad, +/* 2563 */ VXT_END, +/* 2564 */ VXI_PUSHAB,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_iretmval,VXT_END, +/* 2571 */ VXI_BRB,VXT_JMP,1,VXT_END, +/* 2575 */ VXI_JMP,VXT_JMP,1,VXT_END, +/* 2579 */ VXI_BRW,VXT_JMP,1,VXT_END, +/* 2583 */ VXI_JMP,VXT_VAL,1,VXT_END, +/* 2587 */ VXI_BEQL,VXT_JMP,1,VXT_END, +/* 2591 */ VXI_BNEQ,VXT_LIT,6,VXI_JMP,VXT_JMP,1,VXT_END, +/* 2598 */ VXI_BNEQ,VXT_LIT,3,VXI_BRW,VXT_JMP,1,VXT_END, +/* 2605 */ VXI_BGEQ,VXT_JMP,1,VXT_END, +/* 2609 */ VXI_BLSS,VXT_LIT,6,VXI_JMP,VXT_JMP,1,VXT_END, +/* 2616 */ VXI_BLSS,VXT_LIT,3,VXI_BRW,VXT_JMP,1,VXT_END, +/* 2623 */ VXI_BGTR,VXT_JMP,1,VXT_END, +/* 2627 */ VXI_BLEQ,VXT_LIT,6,VXI_JMP,VXT_JMP,1,VXT_END, +/* 2634 */ VXI_BLEQ,VXT_LIT,3,VXI_BRW,VXT_JMP,1,VXT_END, +/* 2641 */ VXI_BLEQ,VXT_JMP,1,VXT_END, +/* 2645 */ VXI_BGTR,VXT_LIT,6,VXI_JMP,VXT_JMP,1,VXT_END, +/* 2652 */ VXI_BGTR,VXT_LIT,3,VXI_BRW,VXT_JMP,1,VXT_END, +/* 2659 */ VXI_BLSS,VXT_JMP,1,VXT_END, +/* 2663 */ VXI_BGEQ,VXT_LIT,6,VXI_JMP,VXT_JMP,1,VXT_END, +/* 2670 */ VXI_BGEQ,VXT_LIT,3,VXI_BRW,VXT_JMP,1,VXT_END, +/* 2677 */ VXI_BNEQ,VXT_JMP,1,VXT_END, +/* 2681 */ VXI_BNEQ,VXT_LIT,6,VXI_JMP,VXT_JMP,1,VXT_END, +/* 2688 */ VXI_BEQL,VXT_LIT,3,VXI_BRW,VXT_JMP,1,VXT_END, +/* 2695 */ VXI_BLBC,VXT_REG,0x5A,VXT_JMP,1,VXT_END, +/* 2701 */ VXI_BLBS,VXT_REG,0x5A,VXT_LIT,6,VXI_JMP,VXT_JMP,1, +/* 2709 */ VXT_END, +/* 2710 */ VXI_BLBS,VXT_REG,0x5A,VXT_LIT,3,VXI_BRW,VXT_JMP,1, +/* 2718 */ VXT_END, +/* 2719 */ VXI_BLBS,VXT_REG,0x5A,VXT_JMP,1,VXT_END, +/* 2725 */ VXI_BLBC,VXT_REG,0x5A,VXT_LIT,6,VXI_JMP,VXT_JMP,1, +/* 2733 */ VXT_END, +/* 2734 */ VXI_BLBC,VXT_REG,0x5A,VXT_LIT,3,VXI_BRW,VXT_JMP,1, +/* 2742 */ VXT_END, +/* 2743 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXT_IREPAB,VXT_VAL,7,VXI_PUSHL,VXT_VAL, +/* 2751 */ 6,VXI_PUSHAB,VXT_VAL,5,VXI_PUSHAB,VXT_VAL,4,VXI_PUSHL, +/* 2759 */ VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1, +/* 2767 */ VXT_XFER,SIZEOF(char *) * (short int)xf_job,VXT_END, +/* 2770 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_kill, +/* 2778 */ VXT_END, +/* 2779 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_killalias, +/* 2787 */ VXT_END, +/* 2788 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_killall,VXT_END, +/* 2794 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_killaliasall,VXT_END, +/* 2800 */ VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 2808 */ 3,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_labaddr,VXI_MOVL,VXT_REG, +/* 2816 */ 0x50,VXT_ADDR,0,VXT_END, +/* 2820 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_lckdecr, +/* 2828 */ VXT_END, +/* 2829 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_lckincr, +/* 2837 */ VXT_END, +/* 2838 */ VXI_MOVAB,VXT_JMP,1,VXT_ADDR,0,VXT_END, +/* 2844 */ VXI_MOVAB,VXT_JMP,1,VXT_ADDR,0,VXT_END, +/* 2850 */ VXI_MOVAB,VXT_JMP,1,VXT_ADDR,0,VXT_END, +/* 2856 */ VXT_IREPL,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 2864 */ SIZEOF(char *) * (short int)xf_linefetch,VXT_END, +/* 2866 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_linestart,VXT_END, +/* 2870 */ VXT_IREPAB,VXT_VAL,4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 2878 */ 2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_lkname,VXT_END, +/* 2885 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_lkinit,VXT_END, +/* 2891 */ VXT_IREPAB,VXT_VAL,4,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 2899 */ 2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_lkname,VXT_END, +/* 2906 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_lock, +/* 2914 */ VXT_END, +/* 2915 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXT_IREPAB,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 2923 */ 2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_lvpatwrite,VXT_END, +/* 2930 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_lvzwithdraw, +/* 2938 */ VXT_END, +/* 2939 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL, +/* 2947 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_lvzwrite,VXT_END, +/* 2951 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_m_srchindx, +/* 2959 */ VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0,VXT_END, +/* 2965 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_merge,VXT_END, +/* 2971 */ VXI_PUSHL,VXT_LIT,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 2979 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_merge_arg,VXT_END, +/* 2983 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 2991 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_merge_arg,VXT_END, +/* 2995 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 3003 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_flt_mod,VXT_END, +/* 3010 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 3018 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_mul,VXT_END, +/* 3025 */ VXI_MOVAB,VXT_VAL,0,VXT_REG,0x50,VXI_MOVAB,VXT_VAL,1, +/* 3033 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_neg,VXT_END, +/* 3039 */ VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_newintrinsic,VXT_END, +/* 3046 */ VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_newvar,VXT_END, +/* 3053 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_nullexp, +/* 3061 */ VXT_END, +/* 3062 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x50,VXI_MOVAB,VXT_VAL,2, +/* 3070 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_numcmp,VXT_END, +/* 3076 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 3084 */ 3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 3092 */ VXT_LIT,4,VXT_XFER,SIZEOF(char *) * (short int)xf_open,VXT_END, +/* 3097 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x50,VXI_MOVAB,VXT_VAL,2, +/* 3105 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_pattern,VXT_END, +/* 3111 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_putindx, +/* 3119 */ VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0,VXT_END, +/* 3125 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHL,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 3133 */ 0,VXI_CALLS,VXT_LIT,2,VXT_XFER,SIZEOF(char *) * (short int)xf_rdone,VXT_END, +/* 3140 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHL,VXT_VAL,1,VXI_PUSHAB,VXT_VAL, +/* 3148 */ 0,VXI_CALLS,VXT_LIT,2,VXT_XFER,SIZEOF(char *) * (short int)xf_read,VXT_END, +/* 3155 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHL,VXT_VAL,2,VXI_PUSHL,VXT_VAL, +/* 3163 */ 1,VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,3,VXT_XFER, +/* 3171 */ SIZEOF(char *) * (short int)xf_readfl,VXT_END, +/* 3173 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXT_END, +/* 3177 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_ret,VXT_END, +/* 3181 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x50,VXI_MOVL,VXT_VAL,2, +/* 3189 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_retarg,VXT_END, +/* 3195 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3203 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_rhdaddr,VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0, +/* 3211 */ VXT_END, +/* 3212 */ VXI_PUSHL,VXT_LIT,0,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3220 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_rhdaddr,VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0, +/* 3228 */ VXT_END, +/* 3229 */ VXI_PUSHL,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 3237 */ SIZEOF(char *) * (short int)xf_rterror,VXT_END, +/* 3239 */ VXI_PUSHL,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_LIT, +/* 3247 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_setals2als,VXT_END, +/* 3251 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_LIT, +/* 3259 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_setalsin2alsct,VXT_END, +/* 3263 */ VXI_PUSHL,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_LIT, +/* 3271 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_setalsctin2als,VXT_END, +/* 3275 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_LIT, +/* 3283 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_setalsct2alsct,VXT_END, +/* 3287 */ VXI_PUSHL,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_LIT, +/* 3295 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_setfnretin2als,VXT_END, +/* 3299 */ VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,2,VXI_CALLS,VXT_LIT, +/* 3307 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_setfnretin2alsct,VXT_END, +/* 3311 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 3319 */ 2,VXI_PUSHAB,VXT_VAL,4,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 3327 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_setextract,VXT_END, +/* 3332 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 3340 */ 4,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 3348 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_setp1,VXT_END, +/* 3353 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 3361 */ 3,VXI_PUSHAB,VXT_VAL,5,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB, +/* 3369 */ VXT_VAL,1,VXI_CALLS,VXT_LIT,6,VXT_XFER,SIZEOF(char *) * (short int)xf_setpiece,VXT_END, +/* 3377 */ VXI_BISB2,VXT_LIT,1,VXT_REG,0x5A,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_dt_true, +/* 3385 */ VXT_END, +/* 3386 */ VXI_PUSHL,VXT_VAL,5,VXI_PUSHAB,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 3394 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_PUSHAB,VXT_VAL,3,VXI_CALLS, +/* 3402 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_setzbrk,VXT_END, +/* 3407 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 3415 */ 2,VXI_PUSHAB,VXT_VAL,4,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 3423 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_setzextract,VXT_END, +/* 3428 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 3436 */ 4,VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS, +/* 3444 */ VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_setzp1,VXT_END, +/* 3449 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,4,VXI_PUSHL,VXT_VAL, +/* 3457 */ 3,VXI_PUSHAB,VXT_VAL,5,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB, +/* 3465 */ VXT_VAL,1,VXI_CALLS,VXT_LIT,6,VXT_XFER,SIZEOF(char *) * (short int)xf_setzpiece,VXT_END, +/* 3473 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x50,VXI_MOVAB,VXT_VAL,2, +/* 3481 */ VXT_REG,0x51,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_sorts_after,VXT_END, +/* 3487 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_srchindx, +/* 3495 */ VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0,VXT_END, +/* 3501 */ VXI_MOVAB,VXT_VAL,2,VXT_REG,0x51,VXI_MOVAB,VXT_VAL,1, +/* 3509 */ VXT_REG,0x50,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_sto,VXT_END, +/* 3515 */ VXI_MOVC3,VXT_LIT,16,VXT_VAL,2,VXT_VAL,1,VXT_END, +/* 3523 */ VXI_MOVAB,VXT_VAL,1,VXT_REG,0x51,VXI_MOVAB,VXT_VAL,0, +/* 3531 */ VXT_REG,0x50,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_sto,VXT_END, +/* 3537 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 3545 */ 1,VXI_CALLS,VXT_LIT,3,VXT_XFER,SIZEOF(char *) * (short int)xf_sub,VXT_END, +/* 3552 */ VXI_PUSHAB,VXT_VAL,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3560 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_svget,VXT_END, +/* 3564 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 3572 */ SIZEOF(char *) * (short int)xf_psvput,VXT_END, +/* 3574 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3582 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_svput,VXT_END, +/* 3586 */ VXI_MOVL,VXT_REG,0x50,VXT_REG,0x5A,VXT_END, +/* 3592 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_tcommit,VXT_END, +/* 3596 */ VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_trollback,VXT_END, +/* 3603 */ VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_trestart,VXT_END, +/* 3610 */ VXT_IREPAB,VXT_VAL,4,VXI_PUSHL,VXT_VAL,3,VXI_PUSHAB,VXT_VAL, +/* 3618 */ 2,VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_tstart,VXT_END, +/* 3626 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_unlock,VXT_END, +/* 3632 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3640 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_use,VXT_END, +/* 3644 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_view, +/* 3652 */ VXT_END, +/* 3653 */ VXI_CMPL,VXT_VAL,1,VXT_VAL,2,VXT_END, +/* 3659 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_write, +/* 3667 */ VXT_END, +/* 3668 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_wteol, +/* 3676 */ VXT_END, +/* 3677 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_wtff,VXT_END, +/* 3683 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_wtone, +/* 3691 */ VXT_END, +/* 3692 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_wttab, +/* 3700 */ VXT_END, +/* 3701 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_xkill, +/* 3709 */ VXT_END, +/* 3710 */ VXT_IREPAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER, +/* 3718 */ SIZEOF(char *) * (short int)xf_xnew,VXT_END, +/* 3720 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_zallocate, +/* 3728 */ VXT_END, +/* 3729 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3737 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_zattach,VXT_END, +/* 3741 */ VXI_PUSHL,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3749 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_zcompile,VXT_END, +/* 3753 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_zcont,VXT_END, +/* 3757 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_zdeallocate, +/* 3765 */ VXT_END, +/* 3766 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL, +/* 3774 */ 1,VXI_CALLS,VXT_LIT,2,VXT_XFER,SIZEOF(char *) * (short int)xf_zedit,VXT_END, +/* 3781 */ VXI_PUSHL,VXT_VAL,1,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_zg1,VXT_END, +/* 3788 */ VXI_PUSHL,VXT_VAL,1,VXI_PUSHL,VXT_VAL,4,VXI_PUSHAB,VXT_VAL, +/* 3796 */ 3,VXI_PUSHAB,VXT_VAL,2,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_zgoto,VXT_END, +/* 3804 */ VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_zhalt, +/* 3812 */ VXT_END, +/* 3813 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3821 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_zhelp,VXT_END, +/* 3825 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3833 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_zlink,VXT_END, +/* 3837 */ VXT_IREPAB,VXT_VAL,3,VXI_PUSHL,VXT_VAL,2,VXI_CALLS,VXT_VAL, +/* 3845 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_zmess,VXT_END, +/* 3849 */ VXI_PUSHAB,VXT_VAL,0,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_zprevious, +/* 3857 */ VXT_END, +/* 3858 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHL,VXT_VAL,5,VXI_PUSHAB,VXT_VAL, +/* 3866 */ 4,VXI_PUSHL,VXT_VAL,3,VXI_PUSHAB,VXT_VAL,2,VXI_PUSHAB, +/* 3874 */ VXT_VAL,1,VXI_CALLS,VXT_LIT,5,VXT_XFER,SIZEOF(char *) * (short int)xf_zprint,VXT_END, +/* 3882 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHL,VXT_LIT,0,VXI_PUSHL,VXT_VAL, +/* 3890 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,3,VXT_XFER, +/* 3898 */ SIZEOF(char *) * (short int)xf_zshow,VXT_END, +/* 3900 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_VAL,3,VXI_PUSHL,VXT_VAL, +/* 3908 */ 2,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT,3,VXT_XFER, +/* 3916 */ SIZEOF(char *) * (short int)xf_zshow,VXT_END, +/* 3918 */ VXI_PUSHL,VXT_LIT,0,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3926 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_zstep,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_zcont,VXT_END, +/* 3933 */ VXI_PUSHAB,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3941 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_zstep,VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_zcont,VXT_END, +/* 3948 */ VXI_JSB,VXT_XFER,SIZEOF(char *) * (short int)xf_restartpc,VXI_PUSHAB,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3956 */ 1,VXT_XFER,SIZEOF(char *) * (short int)xf_zsystem,VXT_END, +/* 3960 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_ztcommit, +/* 3968 */ VXT_END, +/* 3969 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_ztrigger,VXT_END, +/* 3975 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_ztstart,VXT_END, +/* 3981 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_zwritesvn, +/* 3989 */ VXT_END, +/* 3990 */ VXI_PUSHL,VXT_VAL,2,VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT, +/* 3998 */ 2,VXT_XFER,SIZEOF(char *) * (short int)xf_rfrshindx,VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0, +/* 4006 */ VXT_END, +/* 4007 */ VXT_IREPAB,VXT_VAL,2,VXI_CALLS,VXT_VAL,1,VXT_XFER,SIZEOF(char *) * (short int)xf_savputindx, +/* 4015 */ VXI_MOVL,VXT_REG,0x50,VXT_ADDR,0,VXT_END, +/* 4021 */ VXI_CALLS,VXT_LIT,0,VXT_XFER,SIZEOF(char *) * (short int)xf_forfreeindx,VXT_END, +/* 4027 */ VXI_PUSHL,VXT_VAL,1,VXI_CALLS,VXT_LIT,1,VXT_XFER,SIZEOF(char *) * (short int)xf_fornestlvl, +/* 4035 */ VXT_END, +/* 4036 */ 343,363,353,2571,2579,2575,2838,2850, +/* 4044 */ 2844,0,0,0,482,458,449,0, +/* 4052 */ 0,445,2074,2112,2093,2719,2734,2725, +/* 4060 */ 2695,2710,2701,2587,2598,2591,2677,2688, +/* 4068 */ 2681,2623,2634,2627,2641,2652,2645,2659, +/* 4076 */ 2670,2663,2605,2616,2609,2044,2064,2054, +/* 4084 */ 373,393,383}; diff --git a/fis-gtm-src-extras/pro/obj/xfer_desc.i b/fis-gtm-src-extras/pro/obj/xfer_desc.i new file mode 100644 index 0000000..e07c3bc --- /dev/null +++ b/fis-gtm-src-extras/pro/obj/xfer_desc.i @@ -0,0 +1,275 @@ +/* Generated by gen_xfer_desc.csh */ +#define GTM_C_RTN 1 +#define GTM_ASM_RTN 2 +#define GTM_C_VAR_ARGS_RTN 3 +#define DEFINE_XFER_TABLE_DESC char xfer_table_desc[] = \ +{ \ +GTM_ASM_RTN, /* op_sto */ \ +GTM_C_VAR_ARGS_RTN, /* op_cat */ \ +GTM_ASM_RTN, /* op_linefetch */ \ +GTM_ASM_RTN, /* op_linestart */ \ +GTM_ASM_RTN, /* mval2bool */ \ +GTM_C_VAR_ARGS_RTN, /* op_zbfetch */ \ +GTM_C_VAR_ARGS_RTN, /* op_zbstart */ \ +GTM_C_RTN, /* op_fnpiece */ \ +GTM_ASM_RTN, /* op_equ */ \ +GTM_C_RTN, /* op_write */ \ +GTM_C_RTN, /* op_kill */ \ +GTM_C_RTN, /* op_add */ \ +GTM_C_VAR_ARGS_RTN, /* op_getindx */ \ +GTM_C_VAR_ARGS_RTN, /* op_putindx */ \ +GTM_C_VAR_ARGS_RTN, /* op_gvnaked */ \ +GTM_ASM_RTN, /* opp_ret */ \ +GTM_ASM_RTN, /* op_numcmp */ \ +GTM_C_RTN, /* op_fnextract */ \ +GTM_C_VAR_ARGS_RTN, /* op_gvname */ \ +GTM_ASM_RTN, /* mval2mint */ \ +GTM_ASM_RTN, /* op_contain */ \ +GTM_C_RTN, /* op_wteol */ \ +GTM_C_RTN, /* op_gvget */ \ +GTM_C_VAR_ARGS_RTN, /* op_sub */ \ +GTM_C_RTN, /* op_fndata */ \ +GTM_C_VAR_ARGS_RTN, /* op_callw */ \ +GTM_ASM_RTN, /* op_extcall */ \ +GTM_ASM_RTN, /* op_forcenum */ \ +GTM_C_VAR_ARGS_RTN, /* op_srchindx */ \ +GTM_ASM_RTN, /* opp_newvar */ \ +GTM_ASM_RTN, /* op_extjmp */ \ +GTM_C_RTN, /* op_gvput */ \ +GTM_C_RTN, /* op_gvdata */ \ +GTM_C_RTN, /* op_fnlength */ \ +GTM_C_RTN, /* op_svget */ \ +GTM_ASM_RTN, /* opp_rterror */ \ +GTM_ASM_RTN, /* opp_commarg */ \ +GTM_C_RTN, /* op_gvnext */ \ +GTM_C_RTN, /* op_wttab */ \ +GTM_C_RTN, /* op_gvkill */ \ +GTM_C_RTN, /* op_read */ \ +GTM_ASM_RTN, /* op_neg */ \ +GTM_ASM_RTN, /* op_follow */ \ +GTM_C_RTN, /* op_wtone */ \ +GTM_C_VAR_ARGS_RTN, /* op_callb */ \ +GTM_ASM_RTN, /* mint2mval */ \ +GTM_ASM_RTN, /* op_forinit */ \ +GTM_ASM_RTN, /* op_forloop */ \ +GTM_C_RTN, /* flt_mod */ \ +GTM_C_RTN, /* op_fntext */ \ +GTM_C_RTN, /* op_fnnext */ \ +GTM_C_RTN, /* op_idiv */ \ +GTM_C_RTN, /* op_fnj2 */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnchar */ \ +GTM_C_RTN, /* op_fnfind */ \ +GTM_ASM_RTN, /* opp_indset */ \ +GTM_C_RTN, /* op_fnascii */ \ +GTM_C_RTN, /* op_halt */ \ +GTM_C_RTN, /* op_mul */ \ +GTM_ASM_RTN, /* opp_indtext */ \ +GTM_ASM_RTN, /* opp_indglvn */ \ +GTM_C_RTN, /* op_killall */ \ +GTM_C_RTN, /* op_use */ \ +GTM_C_RTN, /* op_div */ \ +GTM_C_RTN, /* op_fnj3 */ \ +GTM_C_VAR_ARGS_RTN, /* op_forlcldol */ \ +GTM_C_VAR_ARGS_RTN, /* op_forlcldow */ \ +GTM_C_RTN, /* op_unlock */ \ +GTM_C_RTN, /* op_wtff */ \ +GTM_ASM_RTN, /* opp_break */ \ +GTM_C_VAR_ARGS_RTN, /* op_calll */ \ +GTM_C_RTN, /* op_close */ \ +GTM_ASM_RTN, /* op_currtn */ \ +GTM_C_RTN, /* op_lock */ \ +GTM_C_VAR_ARGS_RTN, /* gtm_fetch */ \ +GTM_C_RTN, /* op_fnfnumber */ \ +GTM_ASM_RTN, /* op_fnget */ \ +GTM_C_RTN, /* op_fngetdvi */ \ +GTM_C_RTN, /* op_fngetjpi */ \ +GTM_C_RTN, /* op_fngetsyi */ \ +GTM_C_RTN, /* op_fngvget */ \ +GTM_C_RTN, /* op_fnorder */ \ +GTM_C_RTN, /* op_fnrandom */ \ +GTM_C_RTN, /* op_fnzfile */ \ +GTM_C_RTN, /* op_fnzm */ \ +GTM_C_RTN, /* op_fnzparse */ \ +GTM_C_RTN, /* op_fnzpid */ \ +GTM_C_RTN, /* op_fnzpriv */ \ +GTM_C_RTN, /* op_fnzsearch */ \ +GTM_C_RTN, /* op_fnzsetprv */ \ +GTM_ASM_RTN, /* op_gettruth */ \ +GTM_C_RTN, /* op_zallocate */ \ +GTM_C_RTN, /* op_gvorder */ \ +GTM_C_RTN, /* op_hang */ \ +GTM_ASM_RTN, /* opp_hardret */ \ +GTM_ASM_RTN, /* opp_indfun */ \ +GTM_ASM_RTN, /* opp_indlvadr */ \ +GTM_C_VAR_ARGS_RTN, /* op_indname */ \ +GTM_ASM_RTN, /* opp_indpat */ \ +GTM_ASM_RTN, /* op_iretmvad */ \ +GTM_ASM_RTN, /* opp_iretmval */ \ +GTM_C_VAR_ARGS_RTN, /* op_job */ \ +GTM_C_RTN, /* op_labaddr */ \ +GTM_C_RTN, /* op_incrlock */ \ +GTM_C_RTN, /* op_decrlock */ \ +GTM_C_VAR_ARGS_RTN, /* op_lvpatwrite */ \ +GTM_C_VAR_ARGS_RTN, /* op_lvzwrite */ \ +GTM_C_RTN, /* op_open */ \ +GTM_C_RTN, /* op_fnpopulation */ \ +GTM_C_RTN, /* op_rdone */ \ +GTM_C_RTN, /* op_readfl */ \ +GTM_C_RTN, /* op_rhdaddr */ \ +GTM_C_RTN, /* op_setpiece */ \ +GTM_C_RTN, /* op_setzbrk */ \ +GTM_C_RTN, /* op_svput */ \ +GTM_C_VAR_ARGS_RTN, /* op_view */ \ +GTM_ASM_RTN, /* opp_xnew */ \ +GTM_ASM_RTN, /* opp_zcont */ \ +GTM_ASM_RTN, /* opp_zgoto */ \ +GTM_C_RTN, /* op_zlink */ \ +GTM_C_VAR_ARGS_RTN, /* op_zmess */ \ +GTM_C_RTN, /* op_zprint */ \ +GTM_C_RTN, /* op_zshow */ \ +GTM_C_RTN, /* op_zsystem */ \ +GTM_C_RTN, /* op_gvsavtarg */ \ +GTM_C_RTN, /* op_gvrectarg */ \ +GTM_C_RTN, /* op_igetsrc */ \ +GTM_C_RTN, /* op_fnzdate */ \ +GTM_C_RTN, /* op_fntranslate */ \ +GTM_C_VAR_ARGS_RTN, /* op_xkill */ \ +GTM_C_RTN, /* op_lkinit */ \ +GTM_C_RTN, /* op_zattach */ \ +GTM_C_RTN, /* op_zedit */ \ +GTM_ASM_RTN, /* op_restartpc */ \ +GTM_C_VAR_ARGS_RTN, /* op_gvextnam */ \ +GTM_C_RTN, /* op_fnzcall */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnview */ \ +GTM_C_RTN, /* op_zdeallocate */ \ +GTM_ASM_RTN, /* opp_indlvarg */ \ +GTM_ASM_RTN, /* op_forchk1 */ \ +GTM_C_RTN, /* op_cvtparm */ \ +GTM_C_RTN, /* op_zprevious */ \ +GTM_C_RTN, /* op_fnzprevious */ \ +GTM_C_RTN, /* op_gvquery */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnquery */ \ +GTM_C_VAR_ARGS_RTN, /* op_bindparm */ \ +GTM_ASM_RTN, /* op_retarg */ \ +GTM_ASM_RTN, /* op_exfun */ \ +GTM_ASM_RTN, /* op_extexfun */ \ +GTM_ASM_RTN, /* op_zhelp */ \ +GTM_C_RTN, /* op_fnp1 */ \ +GTM_ASM_RTN, /* opp_zg1 */ \ +GTM_ASM_RTN, /* opp_newintrinsic */ \ +GTM_C_RTN, /* op_gvzwithdraw */ \ +GTM_C_RTN, /* op_lvzwithdraw */ \ +GTM_ASM_RTN, /* op_pattern */ \ +GTM_C_RTN, /* op_nullexp */ \ +GTM_C_RTN, /* op_exfunret */ \ +GTM_C_RTN, /* op_fnlvname */ \ +GTM_C_VAR_ARGS_RTN, /* op_forlcldob */ \ +GTM_ASM_RTN, /* opp_indrzshow */ \ +GTM_C_VAR_ARGS_RTN, /* op_gvzwrite */ \ +GTM_C_RTN, /* op_zstep */ \ +GTM_ASM_RTN, /* mval2num */ \ +GTM_C_VAR_ARGS_RTN, /* op_lkname */ \ +GTM_C_RTN, /* op_fnztrnlnm */ \ +GTM_C_RTN, /* op_ztcommit */ \ +GTM_C_RTN, /* op_ztstart */ \ +GTM_ASM_RTN, /* op_equnul */ \ +GTM_C_RTN, /* op_fngetlki */ \ +GTM_C_RTN, /* op_fnzlkid */ \ +GTM_ASM_RTN, /* opp_indlvnamadr */ \ +GTM_C_VAR_ARGS_RTN, /* op_callspb */ \ +GTM_C_VAR_ARGS_RTN, /* op_callspw */ \ +GTM_C_VAR_ARGS_RTN, /* op_callspl */ \ +GTM_C_VAR_ARGS_RTN, /* op_iocontrol */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnfgncal */ \ +GTM_C_RTN, /* op_zcompile */ \ +GTM_ASM_RTN, /* opp_tcommit */ \ +GTM_ASM_RTN, /* opp_trollback */ \ +GTM_ASM_RTN, /* opp_trestart */ \ +GTM_ASM_RTN, /* opp_tstart */ \ +GTM_C_RTN, /* op_exp */ \ +GTM_C_RTN, /* op_fnget2 */ \ +GTM_ASM_RTN, /* opp_indget */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnname */ \ +GTM_ASM_RTN, /* opp_indfnname */ \ +GTM_C_RTN, /* op_fnlvprvname */ \ +GTM_C_RTN, /* op_gvo2 */ \ +GTM_C_RTN, /* op_fnlvnameo2 */ \ +GTM_C_RTN, /* op_fno2 */ \ +GTM_ASM_RTN, /* opp_indo2 */ \ +GTM_C_RTN, /* op_get_msf */ \ +GTM_C_RTN, /* op_dt_get */ \ +GTM_C_RTN, /* op_dt_store */ \ +GTM_C_RTN, /* op_dt_false */ \ +GTM_C_RTN, /* op_dt_true */ \ +GTM_C_RTN, /* op_fnzbitstr */ \ +GTM_C_RTN, /* op_fnzbitlen */ \ +GTM_C_RTN, /* op_fnzbitget */ \ +GTM_C_RTN, /* op_fnzbitset */ \ +GTM_C_RTN, /* op_fnzbitcoun */ \ +GTM_C_RTN, /* op_fnzbitfind */ \ +GTM_C_RTN, /* op_fnzbitnot */ \ +GTM_C_RTN, /* op_fnzbitand */ \ +GTM_C_RTN, /* op_fnzbitor */ \ +GTM_C_RTN, /* op_fnzbitxor */ \ +GTM_C_RTN, /* op_fgnlookup */ \ +GTM_ASM_RTN, /* op_sorts_after */ \ +GTM_C_RTN, /* op_fnzqgblmod */ \ +GTM_C_RTN, /* op_fngvget1 */ \ +GTM_C_RTN, /* op_fngvget2 */ \ +GTM_C_RTN, /* op_setp1 */ \ +GTM_C_RTN, /* op_setextract */ \ +GTM_ASM_RTN, /* opp_inddevparms */ \ +GTM_C_RTN, /* op_merge */ \ +GTM_C_RTN, /* op_merge_arg */ \ +GTM_ASM_RTN, /* opp_indmerge */ \ +GTM_C_VAR_ARGS_RTN, /* op_m_srchindx */ \ +GTM_C_RTN, /* op_fnstack1 */ \ +GTM_C_RTN, /* op_fnstack2 */ \ +GTM_C_RTN, /* op_fnqlength */ \ +GTM_C_RTN, /* op_fnqsubscript */ \ +GTM_C_RTN, /* op_fnreverse */ \ +GTM_ASM_RTN, /* opp_svput */ \ +GTM_C_RTN, /* op_fnzjobexam */ \ +GTM_C_RTN, /* op_fnzsigproc */ \ +GTM_C_RTN, /* op_fnincr */ \ +GTM_C_RTN, /* op_gvincr */ \ +GTM_ASM_RTN, /* opp_indincr */ \ +GTM_C_RTN, /* op_setzextract */ \ +GTM_C_RTN, /* op_setzp1 */ \ +GTM_C_RTN, /* op_setzpiece */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnzascii */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnzchar */ \ +GTM_ASM_RTN, /* op_fnzextract */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnzfind */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnzj2 */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnzlength */ \ +GTM_C_RTN, /* op_fnzpopulation */ \ +GTM_C_RTN, /* op_fnzpiece */ \ +GTM_C_RTN, /* op_fnzp1 */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnztranslate */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnzconvert2 */ \ +GTM_C_VAR_ARGS_RTN, /* op_fnzconvert3 */ \ +GTM_C_RTN, /* op_fnzwidth */ \ +GTM_C_RTN, /* op_fnzsubstr */ \ +GTM_C_RTN, /* op_setals2als */ \ +GTM_C_RTN, /* op_setalsin2alsct */ \ +GTM_C_RTN, /* op_setalsctin2als */ \ +GTM_C_RTN, /* op_setalsct2alsct */ \ +GTM_C_RTN, /* op_killalias */ \ +GTM_C_RTN, /* op_killaliasall */ \ +GTM_C_RTN, /* op_fnzdata */ \ +GTM_C_RTN, /* op_clralsvars */ \ +GTM_C_RTN, /* op_fnzahandle */ \ +GTM_C_RTN, /* op_fnztrigger */ \ +GTM_C_RTN, /* op_exfunretals */ \ +GTM_C_RTN, /* op_setfnretin2als */ \ +GTM_C_RTN, /* op_setfnretin2alsct */ \ +GTM_C_RTN, /* op_zwritesvn */ \ +GTM_C_RTN, /* op_ztrigger */ \ +GTM_C_VAR_ARGS_RTN, /* op_rfrshindx */ \ +GTM_C_VAR_ARGS_RTN, /* op_savputindx */ \ +GTM_C_RTN, /* op_forfreeindx */ \ +GTM_C_RTN, /* op_fornestlvl */ \ +GTM_C_RTN, /* op_zhalt */ \ +0} + diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_dbk_ref.c b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_dbk_ref.c new file mode 100644 index 0000000..d618ec1 --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_dbk_ref.c @@ -0,0 +1,419 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#define _FILE_OFFSET_BITS 64 /* Needed to compile gpgme client progs also with large file support */ + +#include +#include +#include +#include +#include +#include +#include +#include /* gpgme functions */ +#include /* gcry*_err_t */ +#include "gtmxc_types.h" /* xc_string, xc_status_t and other callin interfaces xc_fileid */ +#include "gtmcrypt_interface.h" /* Function prototypes for gtmcrypt*.* functions */ +#include "gtmcrypt_ref.h" +#include "gtmcrypt_dbk_ref.h" +#include "gtmcrypt_pk_ref.h" +#include "gtmcrypt_sym_ref.h" + +int num_entries; +db_key_map *db_map_root; +db_key_map **fast_lookup_entry; +extern char err_string[ERR_STRLEN]; +extern int can_prompt_passwd; + +/* Cleanup the db key entries and also remove the plain text passwd stored there */ +void gc_dbk_scrub_entries() +{ + db_key_map *temp, *temp1; + + temp = GC_DBK_GET_FIRST_ENTRY(); + /* Walk through the linked list and free each member of the structure.*/ + while (NULL != temp) + { +# ifdef USE_GCRYPT + if (temp->encr_key_handle) + gcry_cipher_close(temp->encr_key_handle); + if (temp->decr_key_handle) + gcry_cipher_close(temp->decr_key_handle); +# endif + temp1 = GC_DBK_GET_NEXT_ENTRY(temp); + GC_FREE_DB_KEY_MAP(temp); /* Note, this will memset the key_string to 0 before free'ing */ + temp = temp1; + } + if (NULL != fast_lookup_entry) + GC_FREE(fast_lookup_entry); +} + +/* Find out whether the db key file is modified since last time */ +xc_status_t gc_dbk_is_db_key_file_modified() +{ + struct stat stat_info; + char *gtm_dbkeys; + int status; + static time_t last_modified = 0; + + GC_GETENV(gtm_dbkeys, GTM_DBKEYS, status); + if (GC_FAILURE == status) + { + GC_ENV_UNSET_ERROR(GTM_DBKEYS); + return GC_FAILURE; + } + if (0 != stat(gtm_dbkeys, &stat_info) || (last_modified != stat_info.st_mtime)) + { + last_modified = stat_info.st_mtime; + return TRUE; + } + return FALSE; +} + +/* Given a xc_fileid, containing a unique description of the dat file, the function searches for it's + * entry in the linked list. On unsuccessful search, returns NULL. + */ +db_key_map* gc_dbk_get_entry_by_fileid(xc_fileid_ptr_t fileid) +{ + db_key_map *cur = db_map_root; + + while (NULL != cur) + { + if (!cur->fileid_dirty && (!cur->sym_key_dirty) && (gtm_is_file_identical_fptr(fileid, (cur->fileid)))) + break; + cur = (db_key_map *)cur->next; + } + return cur; +} + +/* Given a hash of the symmetric key, the function searches for the entry in the linked list that matches with the + * given hash + */ +db_key_map* gc_dbk_get_entry_by_hash(xc_string_t *hash) +{ + db_key_map *cur = db_map_root; + + assert(hash); + assert(hash->length); + + while (NULL != cur) + { + if (hash->length == cur->hash.length && (0 == memcmp(hash->address, cur->hash.address, hash->length))) + break; + cur = (db_key_map *)cur->next; + } + return cur; +} + +dbkeyfile_line_type gc_dbk_get_line_info (char *buf, char *data) +{ + dbkeyfile_line_type line_type = ERROR_LINE_INFO; + + if (!memcmp(buf, DAT_LINE_INDICATOR, DAT_LINE_INDICATOR_SIZE)) + { + strcpy(data, &buf[DAT_LINE_INDICATOR_SIZE]); /* The rest of the line is a file name */ + if ('\n' == data[strlen(data) - 1]) data[strlen(data) - 1] = '\0'; + line_type = DAT_LINE_INFO; + } else if (!memcmp(buf, KEY_LINE_INDICATOR, KEY_LINE_INDICATOR_SIZE)) + { + strcpy(data, &buf[KEY_LINE_INDICATOR_SIZE]); /* The rest of the line is a file name */ + if ('\n' == data[strlen(data) - 1]) data[strlen(data) - 1] = '\0'; + line_type = KEY_LINE_INFO; + } + return line_type; +} + +xc_status_t gc_dbk_load_gtm_dbkeys(FILE **gtm_dbkeys) +{ + char *ptr, dbkeys_filename[GTM_PATH_MAX]; + int status; + FILE *dbkeys_fp; + struct stat stat_buf; + + GC_GETENV(ptr, GTM_DBKEYS, status); + if (GC_SUCCESS == status) + { + if (0 == strlen(ptr)) + { + snprintf(err_string, ERR_STRLEN, "%s", "Environment variable gtm_dbkeys set to empty string"); + return GC_FAILURE; + } + if (0 == stat(ptr, &stat_buf)) /* See if the environment variable points to a proper path */ + { + if (S_ISDIR(stat_buf.st_mode)) /* if directory */ + snprintf(dbkeys_filename, GTM_PATH_MAX, "%s/%s", ptr, DOT_GTM_DBKEYS); + else if (S_ISREG(stat_buf.st_mode)) /* if file */ + snprintf(dbkeys_filename, GTM_PATH_MAX, "%s", ptr); + else + { + snprintf(err_string, ERR_STRLEN, "Unknown file type : %s", ptr); + return GC_FAILURE; + } + } else /* error if env variable present but couldn't stat */ + { + snprintf(err_string, ERR_STRLEN, "Cannot find DB keys file - %s", ptr); + return GC_FAILURE; + } + } else /* if env variable is undefined, then look for $HOME/.gtm_dbkeys */ + { + GC_GETENV(ptr, "HOME", status); + snprintf(dbkeys_filename, GTM_PATH_MAX, "%s/%s", ptr, DOT_GTM_DBKEYS); + if (0 != stat(dbkeys_filename, &stat_buf)) + { + snprintf(err_string, + ERR_STRLEN, + "Environment variable gtm_dbkeys undefined. Cannot find %s/.gtm_dbkeys", + ptr); + return GC_FAILURE; + } + } + /* At this point we would have at least one form of the gtm_dbkeys in dbkeys_filename */ + status = GC_SUCCESS; + if (NULL != (dbkeys_fp = fopen(dbkeys_filename, "r"))) + *gtm_dbkeys = dbkeys_fp; + else + { + snprintf(err_string, ERR_STRLEN, "Cannot open DB keys file - %s", dbkeys_filename); + status = GC_FAILURE; + } + return status; +} +/* Initialize the linked list with minimal things. For each pair of entries in the db key file, load the + * file names into the linked list and validate the format of the entries. Returns error if the format is + * not the one that's expected. This is a fatal error and program will not continue on encountering this + * error. Another fatal error is the 'gtm_dbkeys' env variable not set + */ +xc_status_t gc_dbk_load_entries_from_file() +{ + FILE *dbkeys_fp = NULL; + db_key_map *node = NULL; + int current_state; + int start = TRUE, count = 0, status, all_done = FALSE; + int looking_for_dat_entry = 1, looking_for_key_entry = 2; + int line_no = 0; + char *prefix = "Error parsing database key file"; + char buf[GTM_PATH_MAX], data[GTM_PATH_MAX]; + dbkeyfile_line_type line_type; + /* Check for $gtm_dbkeys */ + if (0 != gc_dbk_load_gtm_dbkeys(&dbkeys_fp)) + return GC_FAILURE; + + /* Read the file and parse the contents and fill a mapping table */ + /* Note the format of this dbkeys will be like this - + dat + key + dat + key + */ + /* To start with we are looking for a dat entry */ + current_state = looking_for_dat_entry; + GC_DBK_SET_FIRST_ENTRY(NULL); + while (!feof(dbkeys_fp)) + { + + memset(buf, 0, GTM_PATH_MAX); + memset(data, 0, GTM_PATH_MAX); + + /* Skip past empty lines */ + while (1) + { + if (!fgets(buf, GTM_PATH_MAX, dbkeys_fp)) + { + /* If EOF is reached but the line_no din't move beyond 0, it means we have no entries + * in the db key file. */ + if (0 == line_no) + { + fclose(dbkeys_fp); + snprintf(err_string, + ERR_STRLEN, + "%s. %s", + prefix, + "No entries found in DB keys file."); + return GC_FAILURE; + } + /* At the end if we are looking for a key entry, then the last dat entry is unmatched*/ + if (current_state == looking_for_key_entry) + { + fclose(dbkeys_fp); + snprintf(err_string, + ERR_STRLEN, + "%s. No matching KEY entry found for DAT entry at line: %d", + prefix, + line_no); + return GC_FAILURE; + } + all_done = TRUE; + break; + } + if (buf[0] != '\0' && (buf[0] != '\n')) /* Non-Empty line */ + { + buf[strlen(buf) - 1] = '\0'; + break; + } + else + line_no++; + } + if (all_done) break; + /* Figure out what kind of line are we going to deal with. */ + line_type = gc_dbk_get_line_info(buf, data); + switch(line_type) + { + case DAT_LINE_INFO: + line_no++; + /* We should have seen a key before seeing the next dat file */ + if (current_state == looking_for_key_entry && (FALSE == start)) + { + fclose(dbkeys_fp); + snprintf(err_string, + ERR_STRLEN, + "%s. At line %d: No matching KEY entry found for %s", + prefix, + line_no, + buf); + return GC_FAILURE; + } + /* Now that we have seen a dat file, we will now be looking for a key entry */ + current_state = looking_for_key_entry; + start = FALSE; + GC_NEW_DB_KEYMAP(node); + GC_COPY_TO_XC_STRING(&node->db_name, data, strlen(data)); + node->next = (struct db_key_map*) db_map_root; + GC_DBK_SET_FIRST_ENTRY(node); + break; + + case KEY_LINE_INFO: + line_no++; + /* We should have seen a dat file before seeing a key file */ + if (!node && (current_state == looking_for_dat_entry)) + { + fclose(dbkeys_fp); + snprintf(err_string, + ERR_STRLEN, + "%s. At line %d: No matching DAT entry found for %s", + prefix, + line_no, + buf); + return GC_FAILURE; + } + /* Now that we have seen a key file, we will now be looking for a dat entry */ + current_state = looking_for_dat_entry; + num_entries++; + GC_COPY_TO_XC_STRING(&node->key_filename, data, strlen(data)); + break; + + default: + line_no++; + fclose(dbkeys_fp); + snprintf(err_string, + ERR_STRLEN, + "%s. At line %d: %s does not start with 'dat '/'key '", + prefix, + line_no, + buf); + return GC_FAILURE; + } + } + GC_MALLOC(fast_lookup_entry, (SIZEOF(fast_lookup_entry) * num_entries), db_key_map*); + node = GC_DBK_GET_FIRST_ENTRY(); + while (NULL != node) + { + node->index = count; + fast_lookup_entry[count] = node; + count++; + node = GC_DBK_GET_NEXT_ENTRY(node); + } + assert(count == num_entries); + fclose(dbkeys_fp); + return GC_SUCCESS; +} + +xc_status_t gc_dbk_fill_sym_key_and_hash(xc_fileid_ptr_t req_fileid, char *req_hash) +{ + db_key_map *cur; + int status, concerns_current_file; + xc_fileid_ptr_t db_fileid; + + cur = GC_DBK_GET_FIRST_ENTRY(); + while (NULL != cur) + { + db_fileid = NULL; + if (TRUE == cur->fileid_dirty) + { + if (TRUE == gtm_filename_to_id_fptr(&(cur->db_name), &db_fileid)) + { + cur->fileid_dirty = FALSE; + cur->fileid = db_fileid; + } + } + if (TRUE == cur->sym_key_dirty) /* Need to fill sym key value */ + { + /* Before decrypting the key, let's see if the gtm_passwd in the environment has changed since + * the last time we read from the environment. This way if the user had originally entered a wrong + * password and if he is in MUMPS and changes the password through a external call then we should + * be using the new password rather than the old one which might still be hanging in the environment. */ + gc_pk_crypt_prompt_passwd_if_needed(can_prompt_passwd); + GC_PK_GET_DECRYPTED_KEY(cur->key_string, status); + + /* If we failed because of a gtm_passwd being wrong we wouldn't want to continue any further although it + * might not concern for the current file. */ + if (GPG_ERR_BAD_PASSPHRASE == status) + return GC_FAILURE; + + concerns_current_file = (NULL != req_fileid && (gtm_is_file_identical_fptr(cur->fileid, req_fileid))); + /* Eventhough we may have an encountered error in the above decryption, we report only when it is concerned + * with the current dat file being used. For other files, we silently ignore the error, with a hope that by + * the time the database file is accessed, db key file would have been updated appropriately by the user. + */ + if (0 != status && concerns_current_file) + return GC_FAILURE; + + /* It could be possible that the decryption din't return any error but plain_text_length happens to + * be zero. So, we verify it and return error in case the length is zero. Again we make sure that we return + * the error only when it concerned with the current dat file. + */ + if (0 == cur->key_string.length && concerns_current_file) + { + snprintf(err_string, ERR_STRLEN, "Symmetric key %s found to be empty", cur->key_filename.address); + return GC_FAILURE; + } + + /* If we fall through here, it means that we have encountered an error for a database which is not of + * concern at this moment. So, we continue with the next database. */ + if (0 != status) + { + cur = GC_DBK_GET_NEXT_ENTRY(cur); + continue; + } + + /* If everything is fine, compute the hash for the key */ + GC_PK_COMPUTE_HASH(cur->hash, cur->key_string); + GC_SYM_CREATE_HANDLES(cur); + cur->sym_key_dirty = FALSE; + + /* If we have found a matching entry for the hash/fileid that we requested for, return immediately with + * GC_SUCCESS */ + if (concerns_current_file + || (NULL != req_hash && (0 == memcmp(cur->hash.address, req_hash, GTMCRYPT_HASH_LEN)))) + return GC_SUCCESS; + } + cur = GC_DBK_GET_NEXT_ENTRY(cur); + } + return GC_SUCCESS; +} + +void gc_dbk_get_hash(db_key_map *entry, xc_string_t *hash) +{ + /*Make sure the reference block that is being passed is already allocated */ + assert(hash->address); + assert(NULL != entry); + memcpy(hash->address, entry->hash.address, GTMCRYPT_HASH_LEN); + hash->length = GTMCRYPT_HASH_LEN; +} diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_dbk_ref.h b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_dbk_ref.h new file mode 100644 index 0000000..db87684 --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_dbk_ref.h @@ -0,0 +1,117 @@ +/**************************************************************** + * * + * Copyright 2009, 2010 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#ifndef GTMCRYPT_DBK_REF_H +#define GTMCRYPT_DBK_REF_H + +typedef struct +{ + xc_string_t db_name, key_filename; /* name of the database and corresponding key found in the db key file */ + xc_string_t key_string, hash; /* plain text key and it's hash */ + xc_fileid_ptr_t fileid; /* if valid, unique file id representation of the database path */ + int fileid_dirty, sym_key_dirty; /* indicates if the db and the key file are valid accessible path */ + int index; /* A positive integer (initialized to -1) indicating the ith entry in the db key + * file. This value is returned to the caller and subsequently passed to the + * plugin to get the key for the corresponding database. */ + struct db_key_map *next; /* Pointer to the next entry in the linked list */ + crypt_key_t encr_key_handle, decr_key_handle; /* Pointer to the actual key handles typedef'ed to the underlying + * encryption library. */ +}db_key_map; + + +void gc_dbk_scrub_entries(void); +xc_status_t gc_dbk_is_db_key_file_modified(void); +db_key_map* gc_dbk_get_entry_by_fileid(xc_fileid_ptr_t fileid); +db_key_map* gc_dbk_get_entry_by_hash(xc_string_t *hash); +dbkeyfile_line_type gc_dbk_get_line_info (char *buf, char *data); +xc_status_t gc_dbk_load_gtm_dbkeys(FILE **gtm_dbkeys); +xc_status_t gc_dbk_load_entries_from_file(void); +xc_status_t gc_dbk_fill_sym_key_and_hash(xc_fileid_ptr_t req_fileid, char *req_hash); +void gc_dbk_get_hash(db_key_map *entry, xc_string_t *hash); + + +#define GC_FREE_DB_KEY_MAP(X) \ +{ \ + GC_FREE((X)->db_name.address); \ + GC_FREE((X)->key_filename.address); \ + memset((X)->key_string.address, 0, GTM_KEY_MAX);\ + GC_FREE((X)->key_string.address); \ + GC_FREE((X)->hash.address); \ + gtm_xcfileid_free_fptr((X)->fileid); \ + GC_FREE(X); \ +} + +#define GC_NEW_DB_KEYMAP(X) \ +{ \ + GC_MALLOC(X, SIZEOF(db_key_map), db_key_map); \ + memset(X, 0, SIZEOF(db_key_map)); \ + GC_MALLOC(X->db_name.address, GTM_PATH_MAX, char); \ + memset((X)->db_name.address, 0, GTM_PATH_MAX); \ + GC_MALLOC(X->key_filename.address, GTM_PATH_MAX, char); \ + memset((X)->key_filename.address, 0, GTM_PATH_MAX); \ + GC_MALLOC(X->key_string.address, GTM_PATH_MAX, char); \ + memset((X)->key_string.address, 0, GTM_KEY_MAX); \ + GC_MALLOC(X->hash.address, GTMCRYPT_HASH_LEN, char); \ + memset((X)->hash.address, 0, GTMCRYPT_HASH_LEN); \ + (X)->fileid_dirty = TRUE; \ + (X)->sym_key_dirty = TRUE; \ + (X)->fileid = NULL; \ + (X)->index = 0; \ +} + +#define GC_DBK_LOAD_KEY_FILE \ +{ \ + if (0 != gc_dbk_load_entries_from_file()) \ + return GC_FAILURE; \ +} + +/* After the preliminary search, if we haven't found our entry in the in-memory linked list for the + * given hash/fileid, we try reloading the db key file(if it has been changed since last time) and then + * we re-organize our in-memory linked list and try to search again. + */ +#define GC_DBK_RELOAD_IF_NEEDED(entry, RC, fileid, req_hash) \ +{ \ + if (NULL == entry) \ + { \ + if (TRUE == gc_dbk_is_db_key_file_modified()) \ + GC_DBK_LOAD_KEY_FILE; \ + RC = gc_dbk_fill_sym_key_and_hash(fileid, req_hash); \ + } \ +} + +#define GC_DBK_GET_ENTRY_FROM_HANDLE(handle, entry, ret) \ +{ \ + int idx; \ + \ + idx = (int)handle; \ + if (idx < 0 || (idx > num_entries)) \ + { \ + snprintf(err_string, ERR_STRLEN, "%s", "Encryption handle corrupted."); \ + entry = NULL; \ + return ret; \ + } else \ + entry = (db_key_map *)fast_lookup_entry[idx]; \ +} + +#define GC_DBK_FILENAME_TO_ID(filename, fileid) \ +{ \ + if (TRUE != gtm_filename_to_id_fptr(filename, &fileid)) \ + { \ + snprintf(err_string, ERR_STRLEN, "database file %s not found", filename->address); \ + return GC_FAILURE; \ + } \ +} + +#define GC_DBK_SET_FIRST_ENTRY(cur) db_map_root = (db_key_map *)cur +#define GC_DBK_GET_FIRST_ENTRY() db_map_root +#define GC_DBK_GET_NEXT_ENTRY(cur) (db_key_map *) cur->next + +#endif /* GTMCRYPT_DBK_REF_H */ diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_interface.h b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_interface.h new file mode 100644 index 0000000..22f52dc --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_interface.h @@ -0,0 +1,24 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license If you do not know the terms of * + * the license, please stop and do not read further * + * * + y***************************************************************/ + +#ifndef GTMCRYPT_INTERFACE_H +#define GTMCRYPT_INTERFACE_H + +xc_status_t gtmcrypt_init(int); +xc_status_t gtmcrypt_close(void); +xc_status_t gtmcrypt_hash_gen(gtmcrypt_key_t, xc_string_t *); +xc_status_t gtmcrypt_encode(gtmcrypt_key_t, xc_string_t *, xc_string_t *); +xc_status_t gtmcrypt_decode(gtmcrypt_key_t, xc_string_t *, xc_string_t *); +xc_status_t gtmcrypt_getkey_by_hash(xc_string_t *, gtmcrypt_key_t *); +xc_status_t gtmcrypt_getkey_by_name(xc_string_t *, gtmcrypt_key_t *); +char *gtmcrypt_strerror(void); + +#endif /* GTMCRYPT_INTERFACE_H */ diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_pk_ref.c b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_pk_ref.c new file mode 100644 index 0000000..340c87c --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_pk_ref.c @@ -0,0 +1,382 @@ +/**************************************************************** + * * + * Copyright 2009, 2010 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#define _FILE_OFFSET_BITS 64 /* Needed to compile gpgme client progs also with large file support */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include /* gpgme functions */ +#include /* gcry*_err_t */ +#include +#include "gtmxc_types.h" /* xc_string, xc_status_t and other callin interfaces xc_fileid */ +#include "gtmcrypt_interface.h" /* Function prototypes for gtmcrypt*.* functions */ +#include "gtmcrypt_ref.h" +#include "gtmcrypt_pk_ref.h" + +static char *gtm_passwd; +static char *gtm_passwd_env; +int can_prompt_passwd; +gpgme_ctx_t pk_crypt_ctx; + +extern char err_string[ERR_STRLEN]; + +/* Take a masked/unmasked passwd and convert it to the other form by doing an XOR operation. + * MASKING: + * The original gtm_passwd value is XOR'ed with the inode number of mumps executable and the + * the value of the env variable $USER (which contains the username of the current user logged in). + * This information is then converted to the hex form for easy viewing and set into the environment + * UNMASKING: + * The gtm_passwd set in the environment is un hexed (after masking, the passwd is set in the hex + * form). This gtm_passwd value is then XOR'ed with the inode number of the executable and the + * env variable $USER (which contains the username of the current user). This information is then + * stored in the gtm_passwd variable for future access. Note the environment variable ($gtm_passwd) still + * contains only the masked password and hence safety of the passwd is still guarenteed. + + Note that always, if the username and(or) the inode number is lesser than the length of the un hexed gtm_passwd, + the position of their values are left and right justified with respect to the gtm_passwd value. A typical example + is shown below. + + * G T M P A S S W D */ +/* ^ ^ ^ ^ ^ ^ ^ ^ ^ */ +/* U S E R 0 0 0 0 0 */ +/* ^ ^ ^ ^ ^ ^ ^ ^ ^ */ +/* 0 0 0 0 I N O D E */ +/* ----------------- */ + +int gc_pk_mask_unmask_passwd(char *in, char *out, int len) +{ + char *ptr; + char tmp[GTM_PASSPHRASE_MAX], inode[GTM_PASSPHRASE_MAX], user[GTM_PASSPHRASE_MAX], mumps_ex[GTM_PATH_MAX]; + int passwd_len, ilen, status, i; + struct stat stat_info; + + passwd_len = len < GTM_PASSPHRASE_MAX ? len : GTM_PASSPHRASE_MAX; + memset(inode, 0, passwd_len); + memset(user, 0, passwd_len); + memset(mumps_ex, 0, GTM_PATH_MAX); + GC_GETENV(ptr, "USER", status); + if (GC_SUCCESS == status) + { + strncpy(user, ptr, passwd_len); + GC_GETENV(ptr, "gtm_dist", status); + if (GC_SUCCESS == status) + { + sprintf(mumps_ex, "%s/%s", ptr, "mumps"); + if (0 == stat(mumps_ex, &stat_info)) + { + sprintf(tmp, "%ld", (long) stat_info.st_ino); + ilen = (int)strlen(tmp); + if (ilen < passwd_len) + strncpy(inode + (passwd_len - ilen), tmp, ilen); + else + strncpy(inode, tmp, passwd_len); + } else + { + sprintf(err_string, "Cannot find MUMPS executable in %s", ptr); + return GC_FAILURE; + } + for (i = 0; i < passwd_len; i++) + out[i] = in[i] ^ inode[i] ^ user[i]; + return GC_SUCCESS; + } else + GC_ENV_UNSET_ERROR("gtm_dist"); + } + GC_ENV_UNSET_ERROR("USER"); + return GC_FAILURE; +} + +int gc_pk_mask_unmask_passwd_interlude(int nparm, gtm_string_t *in, gtm_string_t *out, int len) +{ + out->length=len; + return gc_pk_mask_unmask_passwd(in->address, out->address, len); +} + +void gc_pk_scrub_passwd() +{ + /* Nullify the key strings, so that any generated cores will not contain the unencrypted keys */ + memset(gtm_passwd, 0, strlen(gtm_passwd)); + /* Free gtm_passwd and gtm_passwd_env variables */ + if (NULL != gtm_passwd) + GC_FREE(gtm_passwd); + if (NULL != gtm_passwd_env) + GC_FREE(gtm_passwd_env); + /* Finally release the gpgme context */ + if (NULL != pk_crypt_ctx) + gpgme_release(pk_crypt_ctx); +} + +/* Loads the GTMCI variable with the path of the gtmcrypt.tab which will be placed in gtm_dist folder at build time. + * Here we assume that the tab file be in $gtm_dist/plugin/gtmcrypt + */ + +void gc_pk_crypt_load_gtmci_env() +{ + const char *gtm_dist_value; + const char *gtmcrypt_tab_file = "gtmcrypt.tab"; /* Name of the tab file */ + static char gtmcrypt_tab_path[TAB_NAME_MAX]; /* Needs to be in scope always */ + + gtm_dist_value = getenv("gtm_dist"); + assert(NULL != gtm_dist_value); + assert(0 != strlen(gtm_dist_value)); + + sprintf(gtmcrypt_tab_path, "%s/%s/%s", gtm_dist_value, "plugin/gtmcrypt", gtmcrypt_tab_file); + setenv(GTMCI, gtmcrypt_tab_path, TRUE); +} + +/* The following function checks if gtm_passwd is already set. If gtm_passwd is not set in the env, it's a serious + * error condition. We return back immediately. If it's set to empty string, we prompt for passwd immediately. The + * current implementation of password prompting is done via a mumps call-in to %GETPASS. + */ + +xc_status_t gc_pk_crypt_prompt_passwd_if_needed(int prompt_passwd) +{ + /* Name of the mumps password routine that will be called. */ + const char *password_routine = "getpass"; + /* Points to the value that was held in GTMCI prior to modification. */ + char *save_gtmci, tgtm_passwd[GTM_PASSPHRASE_MAX]; + char *lgtm_passwd; + int status, len; + gtm_int_t pass_len = GTM_PASSPHRASE_MAX; + + can_prompt_passwd = prompt_passwd; + GC_GETENV(lgtm_passwd, GTM_PASSWD, status); + /* This is an error condition. We have hit a encrypted database but the env doesn't have gtm_passwd set. */ + if (0 != status) + { + GC_ENV_UNSET_ERROR(GTM_PASSWD); + return GC_FAILURE; + } + + /* If the masked password in the environment is same as we have in memory then it means that the password + * has not been changed and so the actual value in the gtm_passwd is still good to use. */ + if (NULL != gtm_passwd_env && (0 == strcmp(gtm_passwd_env, lgtm_passwd))) + return GC_SUCCESS; + /* If the password is set to an appropriate value, then we know for sure it's in it's masked form. So, we unmask it + * and set it in the global variable and return to the caller. */ + if (0 < (len = (int)strlen(lgtm_passwd))) + { + if (gtm_passwd) + GC_FREE(gtm_passwd); + GC_MALLOC(gtm_passwd, len / 2 + 1, char); + memset(gtm_passwd, 0, len / 2 + 1); + GC_UNHEX(lgtm_passwd, gtm_passwd, len); + status = gc_pk_mask_unmask_passwd(gtm_passwd, gtm_passwd, len / 2); + if (GC_SUCCESS == status) + { + /* Now that we have unmasked the gtm_passwd in the environment + * store the masked version in gtm_passwd_env so that future + * calls to this function can make use of this and return early + * if we find no change between the one in the environment and + * the one in the memory */ + if (NULL != gtm_passwd_env) + GC_FREE(gtm_passwd_env); + GC_MALLOC(gtm_passwd_env, strlen(lgtm_passwd) + 1, char); + strcpy(gtm_passwd_env, lgtm_passwd); + } + return status; + } else if (!prompt_passwd) + { + /* If we are here, it means that the caller of the plugin library was not MUMPS (may be MUPIP, DSE and LKE). + * For the utility programs, we expect the password to be set in the environment to an appropriate masked + * form. If not, it's an error and we return the appropriate error message. */ + strcpy(err_string, PASSWD_EMPTY); + return GC_FAILURE; + } + + /* Only if the gtm_passwd is set to empty string, we prompt the user for password */ + GC_MALLOC(gtm_passwd, GTM_PASSPHRASE_MAX, char); + memset(gtm_passwd, 0, GTM_PASSPHRASE_MAX); + save_gtmci = getenv(GTMCI); + gc_pk_crypt_load_gtmci_env(); + status = gtm_ci_fptr(password_routine, gtm_passwd, pass_len); + if (0 != status) + { + gtm_zstatus_fptr(err_string, ERR_STRLEN); + return GC_FAILURE; + } + /* Restore the GTMCI variable */ + if (NULL != save_gtmci) /* To make sure we don't set an environment variable as NULL */ + setenv(GTMCI, save_gtmci, 1); + + /* After applying a minimal encryption, we set it to the environment variable */ + GC_MALLOC(lgtm_passwd, strlen(gtm_passwd) * 2 + 1, char); + gc_pk_mask_unmask_passwd(gtm_passwd, tgtm_passwd, (int)strlen(gtm_passwd)); + GC_HEX(tgtm_passwd, lgtm_passwd, strlen(gtm_passwd) * 2); + setenv("gtm_passwd", lgtm_passwd, TRUE); /* Note that we currently do not free 'gtm_passwd', even if it was + * allocated above, as it needs to be in the env buffer + */ + return GC_SUCCESS; +} + +/* This function is called whenever gpg needs the passphrase with which the secret key is encrypted. In this case, the passphrase + * is obtained from the ENVIRONMENT VARIABLE - $gtm_passwd or by invoking the mumps engine during the "gtmcrypt_init()". + * In either ways, it's guaranteed that when this function is called, the passphrase is already set in the global variable. + * In either ways, it's guaranteed that when this function is called, the passphrase is already set in the global variable. + */ +int gc_pk_crypt_passphrase_callback(void *opaque, const char *uid_hint, + const char *passphrase_info, int last_was_bad, + int fd) +{ + assert(0 != fd); + assert(NULL != gtm_passwd); + /* This is just being cautious. We would have thrown the appropriate error message + * if gtm_passwd have been zero length'ed one. + */ + assert(0 != strlen(gtm_passwd)); + write(fd, gtm_passwd, strlen(gtm_passwd)); + write(fd, "\n", 1); + return 0; +} + +/* Given the structure that holds the plain data, this function reads through the structure and retrieves the plain text. We + * also return the number of bytes actually read from the structure. + */ + +int gc_pk_crypt_retrieve_plain_text(gpgme_data_t plain_data, char *plain_text) +{ + int ret; + + assert(NULL != plain_text); + + /* Clear the temporary buffer */ + memset(plain_text, 0, GTM_KEY_MAX); + + gpgme_data_seek(plain_data, 0, SEEK_SET); + ret = (int)gpgme_data_read(plain_data, plain_text, GTM_KEY_MAX); + return ret; +} + +/* This is currently necessary to work around what seems to be a gpgme issue in not clearing the plaintext keys + * from the C stack (shows up in a core dump otherwise). When gpgme is fixed, this code can be removed. + * The size of lclarray (8K) is determined purely from experimentation on all platforms. + */ +int gc_pk_scrub_plaintext_keys_from_c_stack() +{ + char lclarray[8192]; + + memset(lclarray, 0, SIZEOF(lclarray)); + return 0; +} + +/* This function tries to decrypt the cipher file (the file containing the symmetric key with which the database is encrypted). + * It's assumed that the context is initialized and is set with the appropriate passphrase callback. The cipher_file + * should contain the fully qualified path of the encrypted database key file. Also, plain text is supposed to be allocated with + * sufficient space to hold the decrypted text. + */ +gpgme_error_t gc_pk_get_decrypted_key(const char *cipher_file, char *plain_text, int *plain_text_length) +{ + gpgme_error_t err; + gpgme_data_t cipher_data = NULL, plain_data = NULL; + xc_status_t ret_status; + gpg_err_code_t ecode; + char null_buffer[GTM_KEY_MAX]; + + assert(NULL != cipher_file); + assert(NULL != plain_text); + assert(NULL != pk_crypt_ctx); + assert(0 != strlen(cipher_file)); + + /* Convert the cipher content in the cipher file into + * in-memory content. This in-memory content is stored + * in gpgme_data_t structure. */ + err = gpgme_data_new_from_file(&cipher_data, cipher_file, 1); + if (!err) + { + err = gpgme_data_new(&plain_data); + if (!err) + { /* Try decrypting the cipher content with the context. + * The decrypted content will also be stored in gpgme_data_t structure. + */ + err = gpgme_op_decrypt(pk_crypt_ctx, cipher_data, plain_data); + if (!err) /* Once decrypted, the plain text has to be obtained from the plain_data structure. */ + *plain_text_length = gc_pk_crypt_retrieve_plain_text(plain_data, plain_text); + gc_pk_scrub_plaintext_keys_from_c_stack(); + } + } + ecode = gpgme_err_code(err); + if (0 != ecode) + { + switch(ecode) + { + case GPG_ERR_BAD_PASSPHRASE: + snprintf(err_string, ERR_STRLEN, "%s", "Incorrect password"); + break; + case GPG_ERR_ENOENT: + snprintf(err_string, ERR_STRLEN, "encryption key file %s not found", cipher_file); + break; + default: + snprintf(err_string, ERR_STRLEN, "%s", gpgme_strerror(err)); + break; + } + } + if (NULL != plain_data) + { /* scrub plaintext data before releasing it */ + assert(GTM_KEY_MAX == SIZEOF(null_buffer)); + memset(null_buffer, 0, GTM_KEY_MAX); + gpgme_data_write(plain_data, null_buffer, GTM_KEY_MAX); + gpgme_data_release(plain_data); + } + if (NULL != cipher_data) + gpgme_data_release(cipher_data); + return ecode; +} + +int gc_pk_gpghome_has_permissions() +{ + char filename[GTM_PATH_MAX], *tmp_ptr = NULL; + int gnupghome_set, status, fd; + + /* See if GNUPGHOME is set in the environment */ + GC_GETENV(tmp_ptr, GNUPGHOME, status); + if (GC_SUCCESS != status) + { + gnupghome_set = FALSE; + GC_GETENV(tmp_ptr, "HOME", status); + if (GC_SUCCESS != status) + { + GC_ENV_UNSET_ERROR("HOME"); + return GC_FAILURE; + } + /* If GNUPGHOME is not set, we choose the filename as $HOME/.gnupg */ + snprintf(filename, GTM_PATH_MAX, "%s/%s", tmp_ptr, DOT_GNUPG); + } else + { + gnupghome_set = TRUE; + /* If GNUPGHOME is set, then we choose the path pointed by GNUPGHOME as the + * directory containing the public keys and private keys whose permissions we are + * interested in. */ + strcpy(filename, tmp_ptr); + } + /* At this point, we are sure that the filename is pointing to the appropriate directory containing the public/private + * keys. If not, then we had encountered an error and would have returned back to the caller. */ + if (-1 != (fd = open(filename, O_RDONLY))) + { + close(fd); + return GC_SUCCESS; + } + /* If we don't have appropriate read permissions then we report the error accordingly. */ + if (EACCES == errno) + { + if (gnupghome_set) + snprintf(err_string, ERR_STRLEN, "%s", "No read permissions on $GNUPGHOME"); + else + snprintf(err_string, ERR_STRLEN, "%s", "No read permissions on $HOME/.gnupg"); + } + close(fd); + return GC_FAILURE; +} diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_pk_ref.h b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_pk_ref.h new file mode 100644 index 0000000..816cfa6 --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_pk_ref.h @@ -0,0 +1,115 @@ +/**************************************************************** + * * + * Copyright 2009, 2010 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#ifndef GTMCRYPT_PK_REF_H +#define GTMCRYPT_PK_REF_H + +int gc_pk_mask_unmask_passwd(char *in, char *out, int len); +int gc_pk_mask_unmask_passwd_interlude(int nparm, gtm_string_t *in, gtm_string_t *out, int len); +void gc_pk_scrub_passwd(); +void gc_pk_crypt_load_gtmci_env(); +xc_status_t gc_pk_crypt_prompt_passwd_if_needed(int prompt_passwd); +int gc_pk_crypt_passphrase_callback(void *opaque, + const char *uid_hint, + const char *passphrase_info, + int last_was_bad, + int fd); +int gc_pk_crypt_retrieve_plain_text(gpgme_data_t plain_data, char *plain_text); +gpgme_error_t gc_pk_get_decrypted_key(const char *cipher_file, char *plain_text, int *plain_text_length); +int gc_pk_mask_unmask_passwd(char *in, char *out, int len); +void gc_pk_scrub_passwd(void); +void gc_pk_crypt_load_gtmci_env(void); +int gc_pk_scrub_plaintext_keys_from_c_stack(void); +int gc_pk_gpghome_has_permissions(void); + +/* Public key cryptography related macros */ +#define GC_PK_INIT \ +{ \ + gpgme_error_t err; \ + \ + gpgme_check_version(NULL); /* This initializes the gpgme engine. */ \ + err = gpgme_new(&pk_crypt_ctx); \ + if (!err) \ + { \ + err = gpgme_set_protocol(pk_crypt_ctx, GPGME_PROTOCOL_OpenPGP); \ + if (!err) \ + { \ + gpgme_set_passphrase_cb(pk_crypt_ctx, \ + (gpgme_passphrase_cb_t) gc_pk_crypt_passphrase_callback, \ + NULL); \ + memset(err_string, 0, ERR_STRLEN); \ + } \ + } \ + if (err) \ + { \ + pk_crypt_ctx = NULL; \ + snprintf(err_string, \ + ERR_STRLEN, \ + "Error initializing GpgME: %s/%s", \ + gpgme_strsource(err), \ + gpgme_strerror(err)); \ + return GC_FAILURE; \ + } \ +} + +#define GC_PK_PROMPT_PASSWD(prompt_passwd) \ +{ \ + if (0 != gc_pk_crypt_prompt_passwd_if_needed(prompt_passwd)) \ + return GC_FAILURE; \ +} + +#define GC_PK_GET_DECRYPTED_KEY(key_string, status) \ +{ \ + int plain_text_length; \ + char decrypted_key[GTM_KEY_MAX]; \ + \ + memset(decrypted_key, 0, GTM_KEY_MAX); \ + status = gc_pk_get_decrypted_key(cur->key_filename.address, decrypted_key, &plain_text_length); \ + \ + if (0 == status) \ + { \ + memcpy(key_string.address, decrypted_key, plain_text_length); \ + key_string.length = plain_text_length; \ + memset(decrypted_key, 0, GTM_KEY_MAX); \ + } \ +} + +#define GC_PK_APPEND_UNIQ_STRING(in_buff, key_string) \ +{ \ + memcpy(in_buff, (key_string).address, (key_string).length); \ + memcpy(in_buff + (key_string).length, UNIQ_ENC_PARAM_STRING, UNIQ_ENC_PARAM_LEN); \ +} + +#ifdef USE_OPENSSL +#define GC_PK_COMPUTE_HASH(hash, key_string) \ +{ \ + char in_buff[HASH_INPUT_BUFF_LEN]; \ + \ + GC_PK_APPEND_UNIQ_STRING(in_buff, key_string); \ + EVP_Digest(in_buff, HASH_INPUT_BUFF_LEN, (unsigned char *)((hash).address), NULL, \ + EVP_sha512(), NULL); \ + (hash).length = GTMCRYPT_HASH_LEN; \ + memset(in_buff, 0, HASH_INPUT_BUFF_LEN); \ +} +#else +#define GC_PK_COMPUTE_HASH(hash, key_string) \ +{ \ + char in_buff[HASH_INPUT_BUFF_LEN]; \ + \ + GC_PK_APPEND_UNIQ_STRING(in_buff, key_string); \ + GC_SYM_INIT; \ + gcry_md_hash_buffer(GCRY_MD_SHA512, (hash).address, in_buff, HASH_INPUT_BUFF_LEN); \ + (hash).length = GTMCRYPT_HASH_LEN; \ + memset(in_buff, 0, HASH_INPUT_BUFF_LEN); \ +} +#endif + +#endif /* GTMCRYPT_PK_REF_H */ diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_ref.c b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_ref.c new file mode 100644 index 0000000..26bd314 --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_ref.c @@ -0,0 +1,251 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#define _FILE_OFFSET_BITS 64 /* Needed to compile gpgme client progs also with large file support */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include /* gpgme functions */ +#include /* gcry*_err_t */ +#include "gtmxc_types.h" /* xc_string, xc_status_t and other callin interfaces xc_fileid */ +#include "gtmcrypt_interface.h" /* Function prototypes for gtmcrypt*.* functions */ + +#include "gtmcrypt_ref.h" +#include "gtmcrypt_dbk_ref.h" +#include "gtmcrypt_pk_ref.h" +#include "gtmcrypt_sym_ref.h" + +#ifdef __MVS__ +#define GTM_DIST "gtm_dist" +#define GTMSHR_IMAGENAME "libgtmshr.dll" +#endif + +char err_string[ERR_STRLEN]; +int gtmcrypt_inited = FALSE, num_entries; +db_key_map *db_map_root; +db_key_map **fast_lookup_entry = NULL; + +extern gpgme_ctx_t pk_crypt_ctx; + +/* ==================================================================================== */ +/* Plugin API implementations */ +/* ==================================================================================== */ + +char* gtmcrypt_strerror() +{ + return err_string; +} + +/* Initialize the encryption environment. Note: If any of the following macros fail, the error return happens within the macro. */ + +xc_status_t gc_init_interface(int prompt_passwd) +{ +/* + * zOS is special when it comes to dynamic linking. + * (1). Building DLL with UNRESOLVED symbols + * ========================================= + * Unlike other Unix platforms, on zOS DLL cannot be built having unresolved symbols and expecting them to get resolved + * by the loader. + * In this particular scenario we have symbols gtm_malloc, gtm_is_file_identical, gtm_free, gtm_filename_to_id and + * gtm_xcfileid_free that are part of mupip executable. + * As an workaround we are using function pointers to call into the interface functions so that we don't have an link-time + * errors. + * At runtime we do an dlopen with NULL which returns handle to global space and dlsym sets the function pointers to point to + * the correct functions at runtime. + * + * (2). DLSYM on symbols that are already resolved from another DLL + * ================================================================ + * When mumps calls into libgtmcrypt it has above mentioned symbols already resolved from libgtmshr.dll. + * On zOS, when we try to DLSYM using the handle returned by DLOPEN(NULL,..), DLSYM crashes while trying to find symbols + * that are already loaded from another DLL(libgtmshr.dll). + * As an work around we dlopen libgtmshr.dll when called from MUMPS. + */ +#ifdef __MVS__ + void *handle = NULL; + const char *gtm_dist; + char gtmshr_file[GTM_PATH_MAX]; + + gtm_dist = getenv(GTM_DIST); + + snprintf(gtmshr_file, GTM_PATH_MAX, "%s/%s", gtm_dist, GTMSHR_IMAGENAME); + +/* + * prompt_passwd = TRUE implies plugin is invoked from MUMPS. We need to dlopen libgtmshr when invoked from MUMPS. + * Please refer comment 2) above. + */ + if (prompt_passwd) + handle = dlopen(gtmshr_file, GC_FLAGS); + else + handle = dlopen(NULL, GC_FLAGS); + + if (NULL == handle) + { + snprintf(err_string, ERR_STRLEN, "%s", "Unable to resolve GT.M interface functions"); + return GC_FAILURE; + } + DLSYM_ERR_AND_EXIT(gtm_is_file_identical_fptr_t, gtm_is_file_identical_fptr, GTM_IS_FILE_IDENTICAL_FUNC); + DLSYM_ERR_AND_EXIT(gtm_malloc_fptr_t, gtm_malloc_fptr, GTM_MALLOC_FUNC); + DLSYM_ERR_AND_EXIT(gtm_free_fptr_t, gtm_free_fptr, GTM_FREE_FUNC); + DLSYM_ERR_AND_EXIT(gtm_filename_to_id_fptr_t, gtm_filename_to_id_fptr, GTM_FILENAME_TO_ID_FUNC); + DLSYM_ERR_AND_EXIT(gtm_ci_fptr_t, gtm_ci_fptr, GTM_CI_FUNC); + DLSYM_ERR_AND_EXIT(gtm_zstatus_fptr_t, gtm_zstatus_fptr, GTM_ZSTATUS_FUNC); + DLSYM_ERR_AND_EXIT(gtm_xcfileid_free_fptr_t, gtm_xcfileid_free_fptr, GTM_XCFILEID_FREE_FUNC); +#else + gtm_is_file_identical_fptr = >m_is_file_identical; + gtm_malloc_fptr = >m_malloc; + gtm_free_fptr = >m_free; + gtm_filename_to_id_fptr = >m_filename_to_id; + gtm_ci_fptr = >m_ci; + gtm_zstatus_fptr = >m_zstatus; + gtm_xcfileid_free_fptr = >m_xcfileid_free; +#endif + return GC_SUCCESS; +} + +xc_status_t gtmcrypt_init(int prompt_passwd) +{ + if (GC_SUCCESS != gc_init_interface(prompt_passwd)) + return GC_FAILURE; + GC_IF_INITED_RETURN; + GC_PK_INIT; + GC_PK_PROMPT_PASSWD(prompt_passwd) + GC_SET_INITED; + return GC_SUCCESS; +} + +/* Note: If any of the following macros fail, the error return happens within the macro. */ +xc_status_t gtmcrypt_getkey_by_name(xc_string_t *filename, gtmcrypt_key_t *handle) +{ + xc_fileid_ptr_t fileid = NULL; + db_key_map *entry; + xc_status_t status = GC_SUCCESS; + + GC_VERIFY_INITED; + *handle = INVALID_HANDLE; + GC_DBK_FILENAME_TO_ID(filename, fileid); + entry = gc_dbk_get_entry_by_fileid(fileid); + /* If the load below failed, don't continue */ + GC_DBK_RELOAD_IF_NEEDED(entry, status, fileid, NULL); + if (0 == status) + { + entry = gc_dbk_get_entry_by_fileid(fileid); + if (NULL == entry) + { + snprintf(err_string, + ERR_STRLEN, + "database file %s missing in DB keys file or does not exist", + filename->address); + return GC_FAILURE; + } + *handle = entry->index; + } + return status; +} + +/* Note: If any of the following macros fail, the error return happens within the macro. */ +xc_status_t gtmcrypt_getkey_by_hash(xc_string_t *hash, gtmcrypt_key_t *handle) +{ + db_key_map *entry; + xc_status_t status = GC_SUCCESS; + int i, err_caused_by_gpg; + char save_err[ERR_STRLEN], hex_buff[GTMCRYPT_HASH_HEX_LEN + 1]; + char *gpg_msg = "Verify encrypted key file and your GNUPGHOME settings"; + char *correct_key_msg = "Verify encryption key in DB keys file"; + char *alert_msg; + + *handle = INVALID_HANDLE; + GC_VERIFY_INITED; + entry = gc_dbk_get_entry_by_hash(hash); + /* If the load below failed, don't continue */ + GC_DBK_RELOAD_IF_NEEDED(entry, status, NULL, hash->address); + if (0 == status) + { + entry = gc_dbk_get_entry_by_hash(hash); + if (NULL == entry) + { + /* If the lookup still failed, then verify if we have right permissions on + * GNUPGHOME or $HOME/.gnupg (if GNUPGHOME is unset). If not, then the below + * function will store the appropriate error message in err_string and + * so we can return GC_FAILURE.*/ + if (GC_SUCCESS != gc_pk_gpghome_has_permissions()) + return GC_FAILURE; + err_caused_by_gpg = ('\0' != err_string[0]); + alert_msg = (err_caused_by_gpg ? gpg_msg : correct_key_msg); + /* Save the previous error message if any */ + strcpy(save_err, err_string); + for (i = 0; i < GTMCRYPT_HASH_HEX_LEN; i+=2) + sprintf(hex_buff + i, "%02X", (unsigned char)(hash->address[i/2])); + if (err_caused_by_gpg) + snprintf(err_string, ERR_STRLEN, "Expected hash - %s - %s. %s", hex_buff, save_err, alert_msg); + else + snprintf(err_string, ERR_STRLEN, "Expected hash - %s. %s", hex_buff, alert_msg); + return GC_FAILURE; + } + *handle = entry->index; + } + return status; +} + +/* Note: If any of the following macros fail, the error return happens within the macro. */ +xc_status_t gtmcrypt_hash_gen(gtmcrypt_key_t handle, xc_string_t *hash) +{ + db_key_map *entry; + + GC_VERIFY_INITED; + assert(INVALID_HANDLE != handle); + GC_DBK_GET_ENTRY_FROM_HANDLE(handle, entry, GC_FAILURE); + gc_dbk_get_hash(entry, hash); + return GC_SUCCESS; +} + +/* Note: If any of the following macros fail, the error return happens within the macro. */ +xc_status_t gtmcrypt_encode(gtmcrypt_key_t handle, xc_string_t *unencrypted_block, xc_string_t *encrypted_block) +{ + crypt_key_t key_handle; + db_key_map *entry; + + GC_VERIFY_INITED; + assert(INVALID_HANDLE != handle); + GC_DBK_GET_ENTRY_FROM_HANDLE(handle, entry, GC_FAILURE); + key_handle = entry->encr_key_handle; + GC_SYM_ENCODE(key_handle, unencrypted_block, encrypted_block); + return GC_SUCCESS; +} + +/* Note: If any of the following macros fail, the error return happens within the macro. */ +xc_status_t gtmcrypt_decode(gtmcrypt_key_t handle, xc_string_t *encrypted_block, xc_string_t *unencrypted_block) +{ + crypt_key_t key_handle; + db_key_map *entry; + + GC_VERIFY_INITED; + assert(INVALID_HANDLE != handle); + GC_DBK_GET_ENTRY_FROM_HANDLE(handle, entry, GC_FAILURE); + key_handle = entry->decr_key_handle; + GC_SYM_DECODE(key_handle, encrypted_block, unencrypted_block); + return GC_SUCCESS; +} + +/* Note: If any of the following macros fail, the error return happens within the macro. */ +xc_status_t gtmcrypt_close() +{ + GC_VERIFY_INITED; + gc_pk_scrub_passwd(); + gc_dbk_scrub_entries(); + GC_CLEAR_INITED; + return GC_SUCCESS; +} diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_ref.h b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_ref.h new file mode 100644 index 0000000..cf54e28 --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_ref.h @@ -0,0 +1,245 @@ +/**************************************************************** + * * + * Copyright 2009, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ +#ifndef GTMCRYPT_REF_H +#define GTMCRYPT_REF_H + +#ifdef USE_OPENSSL +# include +# include +# include +#elif defined USE_GCRYPT +# include +#else +# error "Unsupported encryption library. Reference implementation currently supports openssl and gcrypt" +#endif + +#ifndef DEBUG + #undef assert + #define assert(x) +#endif + +/* Any change done to the below macro should be reflected in mdef.h and vice versa */ +/* Note: sizeof returns a "unsigned long" type by default. In expressions involving 32-bit quantities, +* using sizeof causes a compiler warning for every 64->32 bit auto cast (zOS compiler for now). +* Hence typecasting the return to "int" on zOS (to avoid warning) in most common sizeof usages. +* Whenever SIZEOF needs to be used in expressions involving 64-bit pointer quantities, use ((INTPTR_T)SIZEOF(...)). +* Whenever SIZEOF needs to be used in expressions involving 64-bit integer quantities, use ((long)SIZEOF(...)). +*/ +#if defined(__MVS__) +# define SIZEOF(X) ((int)(sizeof(X))) +#else +# define SIZEOF(X) ((long)sizeof(X)) +#endif + +typedef enum +{ + ERROR_LINE_INFO = -1, + DAT_LINE_INFO, + KEY_LINE_INFO +} dbkeyfile_line_type; + +typedef enum +{ + LOOKING_FOR_DAT_ENTRY = 1, + LOOKING_FOR_KEY_ENTRY, + NUM_STATES +} dbkeyfile_states; +#ifdef USE_OPENSSL +typedef EVP_CIPHER_CTX crypt_key_t; +#else +typedef gcry_cipher_hd_t crypt_key_t; +#endif + +#define TAB_NAME_MAX 512 +#define GTM_PASSPHRASE_MAX 512 +#define GC_ENCRYPT 1 +#define GC_DECRYPT 0 +#define GC_FAILURE 1 +#define GC_SUCCESS 0 +#define TRUE 1 +#define FALSE 0 +#define GNUPGHOME "GNUPGHOME" +#define DOT_GNUPG ".gnupg" +#define GTM_PASSWD "gtm_passwd" +#define GTM_DBKEYS "gtm_dbkeys" +#define DOT_GTM_DBKEYS "."GTM_DBKEYS +#define PASSWD_EMPTY "Environment variable gtm_passwd set to empty string. Password prompting not allowed for utilites" +#define GTM_PATH_MAX 1024 +#define GTM_KEY_MAX 32 +#define GTMCRYPT_HASH_LEN 64 +#define GTMCRYPT_HASH_HEX_LEN GTMCRYPT_HASH_LEN * 2 +#define DAT_LINE_INDICATOR "dat " +#define KEY_LINE_INDICATOR "key " +#define DAT_LINE_INDICATOR_SIZE (SIZEOF(DAT_LINE_INDICATOR) - 1) +#define KEY_LINE_INDICATOR_SIZE (SIZEOF(KEY_LINE_INDICATOR) - 1) +#define INVALID_HANDLE -1 +#define GTMCI "GTMCI" +#define ERR_STRLEN 2048 + +#ifdef USE_GCRYPT +#define IV_LEN 16 +#define ALGO GCRY_CIPHER_AES256 +#define MODE GCRY_CIPHER_MODE_CFB +/* This string uniquely identifies the encryption algorithm and its parameters. + * It will be appended to the encryption key and the combination will be hashed (with SHA512). + * This hash will be used verify that the same algorithm (including parameters) and key are used to + * open the database file as were used to create the database file. */ +#define UNIQ_ENC_PARAM_STRING "AES256CFB" +#define FLAGS 0 +static char iv[IV_LEN]; +static int gcry_already_inited = FALSE; +#else +#define ALGO EVP_bf_cfb64() +#define UNIQ_ENC_PARAM_STRING "BLOWFISHCFB" +#endif +#define UNIQ_ENC_PARAM_LEN SIZEOF(UNIQ_ENC_PARAM_STRING) - 1 +#define HASH_INPUT_BUFF_LEN UNIQ_ENC_PARAM_LEN + GTM_KEY_MAX + + +/* ==================================================================================== */ +/* Legend to namespaces used - + * gc_XXXXX - All functions start with the gc_ namespace + * gc_dbk_XXX - All functions related to db key mapping and internal book keeping + * gc_sym_XXX - All functions related to usages of symmetric enc/dec activities, primarily using libgcrypt or libcrypto + * gc_pk_XXX - All functions related to usages of public/private key enc/dec activities, primarily using libgpgme + */ +/* ==================================================================================== */ + +/* ==================================================================================== */ +/* Generic macros and functions related to this plugin */ +/* ==================================================================================== */ + +#define GC_MIN_STATIC_BLOCK_SIZE 4096 /* Have a good size block, so that we dont keep reallocating */ +#define GC_ROUNDUP(x, y) ((x / y) * y) + ((x % y) ? y : 0) +#define GC_FLAGS (RTLD_NOW | RTLD_GLOBAL) + +#define GTM_MALLOC_FUNC "gtm_malloc" +#define GTM_FREE_FUNC "gtm_free" +#define GTM_FILENAME_TO_ID_FUNC "gtm_filename_to_id" +#define GTM_CI_FUNC "gtm_ci" +#define GTM_ZSTATUS_FUNC "gtm_zstatus" +#define GTM_IS_FILE_IDENTICAL_FUNC "gtm_is_file_identical" +#define GTM_XCFILEID_FREE_FUNC "gtm_xcfileid_free" + +xc_status_t gc_init_interface(int prompt_passwd); + +typedef void * (*gtm_malloc_fptr_t)(size_t); +typedef void (*gtm_free_fptr_t)(void *); +typedef xc_status_t (*gtm_filename_to_id_fptr_t)(xc_string_t *, xc_fileid_ptr_t *); +typedef xc_status_t (*gtm_ci_fptr_t)(const char *c_rtn_name, ...); +typedef void (*gtm_zstatus_fptr_t)(char *msg, int len); +typedef xc_status_t (*gtm_is_file_identical_fptr_t)(xc_fileid_ptr_t, xc_fileid_ptr_t); +typedef void (*gtm_xcfileid_free_fptr_t)(xc_fileid_ptr_t); + +gtm_malloc_fptr_t gtm_malloc_fptr; +gtm_free_fptr_t gtm_free_fptr; +gtm_filename_to_id_fptr_t gtm_filename_to_id_fptr; +gtm_ci_fptr_t gtm_ci_fptr; +gtm_zstatus_fptr_t gtm_zstatus_fptr; +gtm_is_file_identical_fptr_t gtm_is_file_identical_fptr; +gtm_xcfileid_free_fptr_t gtm_xcfileid_free_fptr; + +#define DLSYM_ERR_AND_EXIT(fptr_type, fptr, func_name) \ +{ \ + fptr = (fptr_type)dlsym(handle, func_name); \ + if (NULL == fptr) \ + { \ + snprintf(err_string, ERR_STRLEN, "Enable to resolve %s ", func_name); \ + return GC_FAILURE; \ + } \ +} + +#define GC_MALLOC(blk, len, type) \ +{ \ + blk = (type *)gtm_malloc_fptr(len); \ + assert (blk); \ +} + +#define GC_FREE(blk) gtm_free_fptr(blk) + + +#define GC_COPY_TO_XC_STRING(X, STR, N) \ +{ \ + memcpy((X)->address, STR, N); \ + (X)->length = N; \ +} + + +/* Following makes sure that at no point we are in the encryption library without gtmcrypt_init getting called + * prior to the current call + */ +#define GC_VERIFY_INITED \ +{ \ + if (!gtmcrypt_inited) \ + { \ + snprintf(err_string, ERR_STRLEN, "%s", "Encryption library has not been initialized"); \ + return GC_FAILURE; \ + } \ +} + +#define GC_IF_INITED_RETURN \ +{ \ + /* Check if init has happened already */ \ + if (gtmcrypt_inited) \ + return GC_SUCCESS; \ +} + +#define GC_SET_INITED gtmcrypt_inited = TRUE; + +#define GC_CLEAR_INITED gtmcrypt_inited = FALSE; + +#define GC_INT(H) ((H >= 'A' && H <= 'F') ? ((H - 'A') + 10) : (H - '0')) + +#define GC_UNHEX(a, b, len) \ +{ \ + int i; \ + for (i = 0; i < len; i+=2) \ + b[i/2] = (unsigned char)(GC_INT(a[i]) * 16 + GC_INT(a[i + 1])); \ +} + +#define GC_HEX(a, b, len) \ +{ \ + int i; \ + for (i = 0; i < len; i+=2) \ + sprintf(b + i, "%02X", (unsigned char)a[i/2]); \ +} + +#define GC_GETENV(ptr, key, RC) \ +{ \ + RC = GC_SUCCESS; \ + if (NULL == (ptr = (char *)getenv(key))) \ + RC = GC_FAILURE; \ +} + +#define GC_ENV_UNSET_ERROR(key) \ +{ \ + snprintf(err_string, ERR_STRLEN, "Environment variable %s not set", key); \ +} + +/* Allocate a single block, and try reusing the same everytime this macro is called */ +#ifdef USE_OPENSSL +#define GC_GET_STATIC_BLOCK(out, block_len) \ +{ \ + static char *blk = (char *)NULL; \ + static int allocated_len = GC_MIN_STATIC_BLOCK_SIZE; \ + if (blk == NULL || (block_len > allocated_len)) \ + { \ + if (blk) \ + GC_FREE(blk); \ + allocated_len = (block_len > allocated_len) ? \ + GC_ROUNDUP(block_len, GC_MIN_STATIC_BLOCK_SIZE) : \ + allocated_len; \ + GC_MALLOC(blk, allocated_len, char); \ + } \ + out = blk; \ +} +#endif +#endif /* GTMCRYPT_REF_H */ diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_sym_ref.h b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_sym_ref.h new file mode 100644 index 0000000..e5bdd78 --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmcrypt_sym_ref.h @@ -0,0 +1,174 @@ +/**************************************************************** + * * + * Copyright 2009, 2010 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#ifndef GTMCRYPT_SYM_REF_H +#define GTMCRYPT_SYM_REF_H +/* ==================================================================================== */ +/* Macros and functions for symmetric encryption tasks */ +/* ==================================================================================== */ + +#ifdef USE_OPENSSL +#define GC_SYM_CREATE_HANDLES(cur_entry) \ +{ \ + int ecode; \ + unsigned char *key = (unsigned char *)(cur_entry->key_string.address); \ + \ + EVP_CIPHER_CTX_init(&(cur_entry->encr_key_handle)); \ + ecode = EVP_CipherInit(&(cur_entry->encr_key_handle), ALGO, key, NULL, GC_ENCRYPT); \ + GC_SYM_ERROR(ecode, GC_FAILURE); \ + \ + EVP_CIPHER_CTX_init(&(cur_entry->decr_key_handle)); \ + ecode = EVP_CipherInit(&(cur_entry->decr_key_handle), ALGO, key, NULL, GC_DECRYPT); \ + GC_SYM_ERROR(ecode, GC_FAILURE); \ +} + +#define GC_SYM_ERROR(err, return_value) \ +{ \ + if (!err) \ + { \ + ERR_error_string_n(err, err_string, ERR_STRLEN); \ + return return_value; \ + } \ +} +#else +#define GC_SYM_CREATE_HANDLES(cur_entry) \ +{ \ + gcry_error_t err; \ + char *key = cur_entry->key_string.address; \ + size_t keylen = cur_entry->key_string.length; \ + \ + GC_SYM_INIT; \ + err = gcry_cipher_open(&(cur_entry->encr_key_handle), ALGO, MODE, FLAGS); \ + if (!err) \ + err = gcry_cipher_setkey(cur_entry->encr_key_handle, key, keylen); \ + GC_SYM_ERROR(err, GC_FAILURE); \ + err = gcry_cipher_open(&(cur_entry->decr_key_handle), ALGO, MODE, FLAGS); \ + if (!err) \ + err = gcry_cipher_setkey(cur_entry->decr_key_handle, key, keylen); \ + GC_SYM_ERROR(err, GC_FAILURE); \ +} +#define GC_SYM_ERROR(err, return_value) \ +{ \ + if (GPG_ERR_NO_ERROR != err) \ + { \ + snprintf(err_string, ERR_STRLEN, "%s", gcry_strerror(err)); \ + return return_value; \ + } \ +} +#endif + +#ifdef USE_GCRYPT +/* Initialization and error handling functions defined only for libgcrypt. + * OpenSSL doesn't neeed them. */ +#define GC_SYM_INIT \ +{ \ + gcry_error_t err; \ + char *ver; \ + \ + if (!gcry_already_inited) \ + { \ + memset(iv, 0, IV_LEN); \ + if (!gcry_check_version(GCRYPT_VERSION)) \ + { \ + snprintf(err_string, \ + ERR_STRLEN, \ + "libgcrypt version mismatch. %s or higher is required", \ + GCRYPT_VERSION); \ + return GC_FAILURE; \ + } \ + if (!(err = gcry_control(GCRYCTL_DISABLE_SECMEM, 0))) \ + if (!(err = gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0))) \ + gcry_already_inited = TRUE; \ + GC_SYM_ERROR(err, GC_FAILURE); \ + } \ +} +#endif +#ifdef USE_OPENSSL +#define GC_SYM_COMMON(key_handle, in_block, out_block, flag) \ +{ \ + int block_len, is_inplace, ecode, tmp_len; \ + int out_len; \ + char *static_out_blk; \ + unsigned char *in = NULL, *out = NULL; \ + \ + assert(in_block->address); \ + assert(0 != in_block->length); \ + in = (unsigned char *)in_block->address; \ + block_len = in_block->length; \ + out = (unsigned char *)out_block->address; \ + if (NULL == out_block->address) \ + { \ + GC_GET_STATIC_BLOCK(static_out_blk, block_len); \ + out = (unsigned char *)static_out_blk; \ + is_inplace = TRUE; \ + } else \ + is_inplace = FALSE; \ + ecode = EVP_CipherUpdate(&key_handle, out, &out_len, in, block_len); \ + if (ecode) \ + ecode = EVP_CipherFinal(&key_handle, out + out_len, &tmp_len); \ + GC_SYM_ERROR(ecode, GC_FAILURE); \ + if (is_inplace) \ + memcpy(in, out, block_len); \ +} +#else /* USE_GCRYPT */ +#define GC_SYM_COMMON(key_handle, in_block, out_block, flag) \ +{ \ + int is_inplace = 0; \ + size_t blen; \ + gcry_error_t err; \ + \ + assert(in_block->address); \ + assert(0 != in_block->length); \ + blen = in_block->length; \ + if (NULL == out_block->address) \ + is_inplace = TRUE; \ + \ + GC_SYM_INIT; \ + gcry_cipher_setiv(key_handle, iv, IV_LEN); \ + if (is_inplace) \ + { \ + if (flag == GC_ENCRYPT) \ + { \ + err = gcry_cipher_encrypt(key_handle, in_block->address, blen, NULL, 0);\ + GC_SYM_ERROR(err, GC_FAILURE); \ + } else \ + { \ + err = gcry_cipher_decrypt(key_handle, in_block->address, blen, NULL, 0);\ + GC_SYM_ERROR(err, GC_FAILURE); \ + } \ + } else \ + { \ + if (flag == GC_ENCRYPT) \ + { \ + err = gcry_cipher_encrypt(key_handle, \ + out_block->address, \ + blen, \ + in_block->address, \ + blen); \ + GC_SYM_ERROR(err, GC_FAILURE); \ + } else \ + { \ + err = gcry_cipher_decrypt(key_handle, \ + out_block->address, \ + blen, \ + in_block->address, \ + blen); \ + GC_SYM_ERROR(err, GC_FAILURE); \ + } \ + } \ +} +#endif +#define GC_SYM_DECODE(key_handle, encrypted_block, unencrypted_block) \ + GC_SYM_COMMON(key_handle, encrypted_block, unencrypted_block, GC_DECRYPT) + +#define GC_SYM_ENCODE(key_handle, unencrypted_block, encrypted_block) \ + GC_SYM_COMMON(key_handle, unencrypted_block, encrypted_block, GC_ENCRYPT) +#endif /* GTMCRYPT_SYM_REF_H */ diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmxc_types.h b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmxc_types.h new file mode 100644 index 0000000..81f83b2 --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/gtmxc_types.h @@ -0,0 +1,87 @@ +/**************************************************************** + * * + * Copyright 2001, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* gtmxc_types.h - GT.M, Unix Edition External Call type definitions. */ +#ifndef GTMXC_TYPES_H +#define GTMXC_TYPES_H + +#ifdef __osf__ +/* Ensure 32-bit pointers for compatibility with GT.M internal representations. */ +#pragma pointer_size (save) +#pragma pointer_size (short) +#endif + +typedef int xc_status_t; +typedef int xc_int_t; +typedef unsigned int xc_uint_t; + +#if defined(__osf__) +typedef int xc_long_t; +typedef unsigned int xc_ulong_t; +#else +typedef long xc_long_t; +typedef unsigned long xc_ulong_t; +#endif + +typedef float xc_float_t; + +typedef double xc_double_t; + +typedef char xc_char_t; + +typedef int (*xc_pointertofunc_t)(); + +typedef struct +{ + xc_long_t length; + xc_char_t *address; +} xc_string_t; + +#ifdef __osf__ +#pragma pointer_size (restore) +#endif + +/* new types for external/call-in user - xc_* types still valid for backward compatibility */ +typedef xc_status_t gtm_status_t; +typedef xc_int_t gtm_int_t; +typedef xc_uint_t gtm_uint_t; +typedef xc_long_t gtm_long_t; +typedef xc_ulong_t gtm_ulong_t; +typedef xc_float_t gtm_float_t; +typedef xc_double_t gtm_double_t; +typedef xc_char_t gtm_char_t; +typedef xc_string_t gtm_string_t; +typedef xc_pointertofunc_t gtm_pointertofunc_t; + +typedef struct +{ + gtm_string_t rtn_name; + void* handle; +} ci_name_descriptor; + +/* call-in interface */ +xc_status_t gtm_ci(const char *c_rtn_name, ...); +xc_status_t gtm_cip(ci_name_descriptor *ci_info, ...); +xc_status_t gtm_init(void); +xc_status_t gtm_exit(void); +void gtm_zstatus(char* msg, int len); + +typedef int gtmcrypt_key_t; + +typedef void *xc_fileid_ptr_t; +xc_status_t gtm_filename_to_id(xc_string_t *filename, xc_fileid_ptr_t *fileid); +xc_status_t gtm_is_file_identical(xc_fileid_ptr_t fileid1, xc_fileid_ptr_t fileid2); +void gtm_xcfileid_free(xc_fileid_ptr_t fileid); + +void *gtm_malloc(size_t); +void gtm_free(void *); + +#endif /* GTMXC_TYPES_H */ diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/main_pragma.h b/fis-gtm-src-extras/pro/plugin/gtmcrypt/main_pragma.h new file mode 100644 index 0000000..88e3f4e --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/main_pragma.h @@ -0,0 +1,21 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + + +#ifndef MAIN_PRAGMA_included +#define MAIN_PRAGMA_included + +#ifdef __MVS__ +#pragma runopts(ENVAR(_BPXK_AUTOCVT=ON)) +#pragma runopts(FILETAG(AUTOCVT,AUTOTAG)) +#endif + +#endif /* MAIN_PRAGMA_included */ diff --git a/fis-gtm-src-extras/pro/plugin/gtmcrypt/maskpass.c b/fis-gtm-src-extras/pro/plugin/gtmcrypt/maskpass.c new file mode 100644 index 0000000..a2148ec --- /dev/null +++ b/fis-gtm-src-extras/pro/plugin/gtmcrypt/maskpass.c @@ -0,0 +1,123 @@ +/**************************************************************** + * * + * Copyright 2009, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ +#include "main_pragma.h" +#include +#include +#include +#include +#include + +#define MAX_LEN 512 +#define FSTR_LEN 7 /* %2048s */ +#define GTM_PATH_MAX 1024 +#define GTM_DIST "gtm_dist" + +struct termios old_tty, no_echo_tty; + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + +#define HEX(a, b, len) \ +{ \ + int i; \ + for (i = 0; i < len; i+=2) \ + sprintf(b + i, "%02X", (unsigned char)a[i/2]); \ +} + +static void maskpass(char passwd[], char inode[], char user[], size_t max) +{ + size_t i; + for (i = 0; i < max; i++) + passwd[i] = passwd[i] ^ inode[i] ^ user[i]; +} + +static int echo_off() +{ + int fd, status; + + fd = fileno(stdin); + /* Save current TTY settings */ + status = tcgetattr(fd, &old_tty); + if (0 != status) + return 1; + no_echo_tty = old_tty; + no_echo_tty.c_lflag &= ~ECHO; /* Turn off echo */ + status = tcsetattr(fd, TCSAFLUSH, &no_echo_tty); + return status; +} + +static int echo_on() +{ + int fd, status; + + fd = fileno(stdin); + status = tcsetattr(fd, TCSAFLUSH, &old_tty); + return status; +} + +static void prompt_passwd(char passwd[]) +{ + char fstr[FSTR_LEN]; + int echo_off_status; + + sprintf(fstr, "%%%ds", MAX_LEN); /* Create the format string "%2048s" */ + printf("Enter Password: "); + echo_off_status = echo_off(); + scanf(fstr, passwd); + /* Since echo_on depends on whether echo_off succeeded or not, do echo_on only if echo_off went fine */ + if (0 == echo_off_status) + echo_on(); +} + +int main() +{ + char tmp[MAX_LEN], passwd[MAX_LEN], inode[MAX_LEN], user[MAX_LEN], out[MAX_LEN * 2]; + char mumps_ex[GTM_PATH_MAX], save_user_env[MAX_LEN], *user_ptr, *dist_ptr; + int i; + size_t passwd_len, ilen; + struct stat stat_info; + + memset(passwd, 0, MAX_LEN); + memset(inode, 0, MAX_LEN); + memset(user, 0, MAX_LEN); + memset(out, 0, MAX_LEN * 2); + memset(mumps_ex, 0, GTM_PATH_MAX); + /* We need $USER and $gtm_dist to be defined to do the proper masking */ + if (NULL == (user_ptr = (char *)getenv("USER"))) + { + printf("Environment variable USER not defined.\n"); + exit(1); + } + strcpy(save_user_env, user_ptr); + if (NULL == (dist_ptr = (char *)getenv(GTM_DIST))) + { + printf("Enivronment variable gtm_dist not defined.\n"); + exit(1); + } + snprintf(mumps_ex, GTM_PATH_MAX, "%s/%s", dist_ptr, "mumps"); + if (0 != stat(mumps_ex, &stat_info)) + { + printf("Cannot stat %s\n", mumps_ex); + exit(1); + } + prompt_passwd(passwd); + passwd_len = strlen(passwd); + strncpy(user, save_user_env, MIN(passwd_len, MAX_LEN)); + snprintf(tmp, MAX_LEN, "%ld", stat_info.st_ino); + ilen = strlen(tmp); + if (ilen < passwd_len) + strncpy(inode + (passwd_len - ilen), tmp, ilen); + else + strncpy(inode, tmp, passwd_len); + maskpass(passwd, inode, user, passwd_len); + HEX(passwd, out, passwd_len * 2); + printf("%s\n", out); + return 0; +} diff --git a/fis-gtm-src-extras/pro/utf8/gtm_limits.h b/fis-gtm-src-extras/pro/utf8/gtm_limits.h new file mode 100644 index 0000000..0cb1c7c --- /dev/null +++ b/fis-gtm-src-extras/pro/utf8/gtm_limits.h @@ -0,0 +1,64 @@ +/**************************************************************** + * * + * Copyright 2002, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* Interlude to */ + +#ifndef GTM_LIMITSH +#define GTM_LIMITSH + +#include +#ifdef __hpux +#include +#endif + +/* The value 1023 for PATH_MAX is derived using pathconf("path", _PC_PATH_MAX) on z/OS. + * Since we cant afford calling a function on each use of PATH_MAX/GTM_PATH_MAX, + * this value is hardcoded here. + */ +#if defined (__MVS__) +#ifndef PATH_MAX +#define PATH_MAX 1023 +#endif +#define GTM_PATH_MAX PATH_MAX + 1 +#else +#define GTM_PATH_MAX 1024 /* includes terminating NULL */ +#endif + +#if defined(LLONG_MAX) /* C99 and others */ +#define GTM_INT64_MIN LLONG_MIN +#define GTM_INT64_MAX LLONG_MAX +#define GTM_UINT64_MAX ULLONG_MAX +#elif defined(LONG_LONG_MAX) +#define GTM_INT64_MIN LONG_LONG_MIN +#define GTM_INT64_MAX LONG_LONG_MAX +#define GTM_UINT64_MAX ULONG_LONG_MAX +#elif defined(LONGLONG_MAX) +#define GTM_INT64_MIN LONGLONG_MIN +#define GTM_INT64_MAX LONGLONG_MAX +#define GTM_UINT64_MAX ULONGLONG_MAX +#elif defined(__INT64_MAX) /* OpenVMS Alpha */ +#define GTM_INT64_MIN __INT64_MIN +#define GTM_INT64_MAX __INT64_MAX +#define GTM_UINT64_MAX __UINT64_MAX +#elif defined(INTMAX_MAX) /* HP-UX */ +#define GTM_INT64_MIN INTMAX_MIN +#define GTM_INT64_MAX INTMAX_MAX +#define GTM_UINT64_MAX UINTMAX_MAX +#elif LONG_MAX != INT_MAX /* Tru64 */ +#define GTM_INT64_MIN LONG_MIN +#define GTM_INT64_MAX LONG_MAX +#define GTM_UINT64_MAX ULONG_MAX +#else +#error Unable to determine 64 bit MAX in gtm_limits.h +#endif + +#endif + diff --git a/fis-gtm-src-extras/pro/utf8/gtm_stdio.h b/fis-gtm-src-extras/pro/utf8/gtm_stdio.h new file mode 100644 index 0000000..c26ebba --- /dev/null +++ b/fis-gtm-src-extras/pro/utf8/gtm_stdio.h @@ -0,0 +1,137 @@ +/**************************************************************** + * * + * Copyright 2010 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* gtm_stdio.h - gtm interface to stdio.h */ + +#ifndef GTM_STDIOH +#define GTM_STDIOH + +/* This header is split between sr_unix and sr_vvms because there are several test system and standalone modules + * that do not #define UNIX or VMS for us to know which defines to proceed with. So now this split makes + * that determination unnecessary. Note we still use the definition of UNIX or not in THIS header to indicate the + * compilation of a GTM source file or a standalone file not needing (or able to get to) libgtmshr wrappers. + */ + +#include + +#define FDOPEN fdopen +#define FGETS(strg, n, strm, fgets_res) (fgets_res = fgets(strg,n,strm)) +#define Fopen fopen +#define GETS(buffer, gets_res) syntax error +#define PERROR perror +#define POPEN popen +#define TEMPNAM tempnam +#ifndef P_tmpdir +#define P_tmpdir "/tmp" +#endif +#define DEFAULT_GTM_TMP P_tmpdir +#define RENAME rename +#define SETVBUF setvbuf + +#ifdef UNIX +/* We are compiling a GTM source module if UNIX is defined */ +# define FPRINTF gtm_fprintf +# define PRINTF gtm_printf +# define SPRINTF gtm_sprintf +# define SNPRINTF gtm_snprintf +int gtm_printf(const char *format, ...); +int gtm_fprintf(FILE *stream, const char *format, ...); +int gtm_sprintf(char *str, const char *format, ...); +int gtm_snprintf(char *str, size_t size, const char *format, ...); +#else +/* We are compiling a standalone or test system module so no override (This is NOT VMS) */ +# define FPRINTF fprintf +# define PRINTF printf +# define SPRINTF sprintf +# define SNPRINTF snprintf +#endif + +/* Similar to above for *scanf invocations. Note however that TRU64 does NOT have + * the v*scanf functions used by the wrappers so always use the non-wrapper versions. + */ +#if defined(UNIX) && !defined(__osf__) +# define SCANF gtm_scanf +# define SSCANF gtm_sscanf +# define FSCANF gtm_fscanf +int gtm_scanf(const char *format, ...); +int gtm_fscanf(FILE *stream, const char *format, ...); +int gtm_sscanf(char *str, const char *format, ...); +#else +# define SCANF scanf +# define SSCANF sscanf +# define FSCANF fscanf +#endif + +#define VPRINTF(FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vprintf(FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VFPRINTF(STREAM, FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vfprintf(STREAM, FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VSPRINTF(STRING, FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vsprintf(STRING, FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VSNPRINTF(STRING, SIZE, FORMAT, VALUE, RC) \ +{ \ + do \ + { \ + RC = vsnprintf(STRING, SIZE, FORMAT, VALUE); \ + } while(-1 == RC && EINTR == errno); \ +} + +/* Note TRU64 does not have these v*scanf() functions so they will generate errors if used */ +#define VSCANF(FORMAT, POINTER, RC) \ +{ \ + do \ + { \ + RC = vscanf(FORMAT, POINTER); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VSSCANF(STRING, FORMAT, POINTER, RC) \ +{ \ + do \ + { \ + RC = vsscanf(STRING, FORMAT, POINTER); \ + } while(-1 == RC && EINTR == errno); \ +} +#define VFSCANF(STREAM, FORMAT, POINTER, RC) \ +{ \ + do \ + { \ + RC = vfscanf(STREAM, FORMAT, POINTER); \ + } while(-1 == RC && EINTR == errno); \ +} + +#define SPRINTF_ENV_NUM(BUFF, ENV_VAR, ENV_VAL, ENV_IND) \ +{ \ + assert(NULL == strchr(ENV_VAR, '=')); /* strchr() done in ojstartchild() relies on this */ \ + SPRINTF(BUFF, "%s=%d", ENV_VAR, ENV_VAL); *ENV_IND++ = BUFF; \ +} + +#define SPRINTF_ENV_STR(BUFF, ENV_VAR, ENV_VAL, ENV_IND) \ +{ \ + assert(NULL == strchr(ENV_VAR, '=')); /* strchr() done in ojstartchild() relies on this */ \ + SPRINTF(BUFF, "%s=%s", ENV_VAR, ENV_VAL); *ENV_IND++ = BUFF; \ +} + +#endif diff --git a/fis-gtm-src-extras/pro/utf8/gtm_stdlib.h b/fis-gtm-src-extras/pro/utf8/gtm_stdlib.h new file mode 100644 index 0000000..209b911 --- /dev/null +++ b/fis-gtm-src-extras/pro/utf8/gtm_stdlib.h @@ -0,0 +1,50 @@ +/**************************************************************** + * * + * Copyright 2001, 2007 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* gtm_stdlib.h - interlude to system header file. */ +#ifndef GTM_STDLIBH +#define GTM_STDLIBH + +#include + +#ifndef __CYGWIN__ +#define GETENV getenv +#else +char *gtm_getenv(char *varname); +#define GETENV gtm_getenv +#endif +#define ATOI atoi +#define ATOL atol +#define ATOF atof +#define PUTENV putenv +#define STRTOL strtol +#define STRTOLL strtoll +#define STRTOUL strtoul +#if INT_MAX < LONG_MAX /* like Tru64 */ +#define STRTO64L strtol +#define STRTOU64L strtoul +#elif defined(__hpux) +#include +#define STRTO64L strtoimax +#define STRTOU64L strtoumax +#else +#define STRTO64L strtoll +#define STRTOU64L strtoull +#endif +#define MKSTEMP(template,mkstemp_res) (mkstemp_res = mkstemp(template)) +#ifndef __CYGWIN__ +#define SYSTEM system +#else +#define SYSTEM gtm_system +int gtm_system(const char *line); +#endif + +#endif diff --git a/fis-gtm-src-extras/pro/utf8/gtm_string.h b/fis-gtm-src-extras/pro/utf8/gtm_string.h new file mode 100644 index 0000000..69cbe22 --- /dev/null +++ b/fis-gtm-src-extras/pro/utf8/gtm_string.h @@ -0,0 +1,32 @@ +/**************************************************************** + * * + * Copyright 2001, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* If this is not the vax, define string.h. This is because the Vax + has its own built-in instructions for string manipulation. +*/ +#ifndef GTM_STRINGH +#define GTM_STRINGH + +#ifndef __vax +# include +#endif + +#define STRERROR strerror + +#define STRCPY(SOURCE, DEST) strcpy((char *)(SOURCE), (char *)(DEST)) +#define STRNCPY_LIT(SOURCE, LITERAL) strncpy((char *)(SOURCE), (char *)(LITERAL), SIZEOF(LITERAL) - 1) /* BYPASSOK */ +#define STRNCPY_STR(SOURCE, STRING, LEN) strncpy((char *)(SOURCE), (char *)(STRING), LEN) + +#define STRCMP(SOURCE, DEST) strcmp((char *)(SOURCE), (char *)(DEST)) +#define STRNCMP_LIT(SOURCE, LITERAL) strncmp(SOURCE, LITERAL, SIZEOF(LITERAL) - 1) /* BYPASSOK */ +#define STRNCMP_STR(SOURCE, STRING, LEN) strncmp(SOURCE, STRING, LEN) + +#endif diff --git a/fis-gtm-src-extras/pro/utf8/gtm_strings.h b/fis-gtm-src-extras/pro/utf8/gtm_strings.h new file mode 100644 index 0000000..da433c5 --- /dev/null +++ b/fis-gtm-src-extras/pro/utf8/gtm_strings.h @@ -0,0 +1,20 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +#ifndef GTM_STRINGSH +#define GTM_STRINGSH + +#include + +#define STRCASECMP strcasecmp +#define STRNCASECMP strncasecmp + +#endif diff --git a/fis-gtm-src-extras/pro/utf8/gtmxc_types.h b/fis-gtm-src-extras/pro/utf8/gtmxc_types.h new file mode 100644 index 0000000..81f83b2 --- /dev/null +++ b/fis-gtm-src-extras/pro/utf8/gtmxc_types.h @@ -0,0 +1,87 @@ +/**************************************************************** + * * + * Copyright 2001, 2011 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* gtmxc_types.h - GT.M, Unix Edition External Call type definitions. */ +#ifndef GTMXC_TYPES_H +#define GTMXC_TYPES_H + +#ifdef __osf__ +/* Ensure 32-bit pointers for compatibility with GT.M internal representations. */ +#pragma pointer_size (save) +#pragma pointer_size (short) +#endif + +typedef int xc_status_t; +typedef int xc_int_t; +typedef unsigned int xc_uint_t; + +#if defined(__osf__) +typedef int xc_long_t; +typedef unsigned int xc_ulong_t; +#else +typedef long xc_long_t; +typedef unsigned long xc_ulong_t; +#endif + +typedef float xc_float_t; + +typedef double xc_double_t; + +typedef char xc_char_t; + +typedef int (*xc_pointertofunc_t)(); + +typedef struct +{ + xc_long_t length; + xc_char_t *address; +} xc_string_t; + +#ifdef __osf__ +#pragma pointer_size (restore) +#endif + +/* new types for external/call-in user - xc_* types still valid for backward compatibility */ +typedef xc_status_t gtm_status_t; +typedef xc_int_t gtm_int_t; +typedef xc_uint_t gtm_uint_t; +typedef xc_long_t gtm_long_t; +typedef xc_ulong_t gtm_ulong_t; +typedef xc_float_t gtm_float_t; +typedef xc_double_t gtm_double_t; +typedef xc_char_t gtm_char_t; +typedef xc_string_t gtm_string_t; +typedef xc_pointertofunc_t gtm_pointertofunc_t; + +typedef struct +{ + gtm_string_t rtn_name; + void* handle; +} ci_name_descriptor; + +/* call-in interface */ +xc_status_t gtm_ci(const char *c_rtn_name, ...); +xc_status_t gtm_cip(ci_name_descriptor *ci_info, ...); +xc_status_t gtm_init(void); +xc_status_t gtm_exit(void); +void gtm_zstatus(char* msg, int len); + +typedef int gtmcrypt_key_t; + +typedef void *xc_fileid_ptr_t; +xc_status_t gtm_filename_to_id(xc_string_t *filename, xc_fileid_ptr_t *fileid); +xc_status_t gtm_is_file_identical(xc_fileid_ptr_t fileid1, xc_fileid_ptr_t fileid2); +void gtm_xcfileid_free(xc_fileid_ptr_t fileid); + +void *gtm_malloc(size_t); +void gtm_free(void *); + +#endif /* GTMXC_TYPES_H */ diff --git a/fis-gtm-src-extras/pro/utf8/main_pragma.h b/fis-gtm-src-extras/pro/utf8/main_pragma.h new file mode 100644 index 0000000..88e3f4e --- /dev/null +++ b/fis-gtm-src-extras/pro/utf8/main_pragma.h @@ -0,0 +1,21 @@ +/**************************************************************** + * * + * Copyright 2009 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + + +#ifndef MAIN_PRAGMA_included +#define MAIN_PRAGMA_included + +#ifdef __MVS__ +#pragma runopts(ENVAR(_BPXK_AUTOCVT=ON)) +#pragma runopts(FILETAG(AUTOCVT,AUTOTAG)) +#endif + +#endif /* MAIN_PRAGMA_included */ diff --git a/fis-gtm-src-extras/sr_linux/gtm_threadgbl_deftypes.h b/fis-gtm-src-extras/sr_linux/gtm_threadgbl_deftypes.h new file mode 100644 index 0000000..63b39a7 --- /dev/null +++ b/fis-gtm-src-extras/sr_linux/gtm_threadgbl_deftypes.h @@ -0,0 +1,608 @@ +/**************************************************************** + * * + * Copyright 2010, 2012 Fidelity Information Services, Inc * + * * + * This source code contains the intellectual property * + * of its copyright holder(s), and is made available * + * under a license. If you do not know the terms of * + * the license, please stop and do not read further. * + * * + ****************************************************************/ + +/* Generated by /tmp/fisgtm/sr_linux/gen_gtm_threadgbl_deftypes.csh */ + +#ifndef GTM_THREADGBL_DEFTYPES_INCLUDED +#define GTM_THREADGBL_DEFTYPES_INCLUDED +/* Output selection criteria for PRO build */ +#if !defined(DEBUG) || defined(PRO_BUILD) +# define ggo_grabbing_crit 0 +# define ggt_grabbing_crit gd_region * +# define ggo_boolchain 8 +# define ggt_boolchain triple +# define ggo_boolchain_ptr 144 +# define ggt_boolchain_ptr triple * +# define ggo_code_generated 152 +# define ggt_code_generated boolean_t +# define ggo_codegen_padlen 156 +# define ggt_codegen_padlen int4 +# define ggo_compile_time 160 +# define ggt_compile_time boolean_t +# define ggo_curtchain 168 +# define ggt_curtchain triple * +# define ggo_director_ident 176 +# define ggt_director_ident mstr +# define ggo_director_mval 192 +# define ggt_director_mval mval +# define ggo_director_token 224 +# define ggt_director_token char +# define ggo_dollar_zcstatus 228 +# define ggt_dollar_zcstatus int4 +# define ggo_expr_depth 232 +# define ggt_expr_depth unsigned int +# define ggo_expr_start 240 +# define ggt_expr_start triple * +# define ggo_expr_start_orig 248 +# define ggt_expr_start_orig triple * +# define ggo_for_nest_level 256 +# define ggt_for_nest_level uint4 +# define ggo_for_stack_ptr 264 +# define ggt_for_stack_ptr oprtype ** +# define ggo_gtm_fullbool 272 +# define ggt_gtm_fullbool unsigned int +# define ggo_ind_result_array 280 +# define ggt_ind_result_array mval ** +# define ggo_ind_result_sp 288 +# define ggt_ind_result_sp mval ** +# define ggo_ind_result_top 296 +# define ggt_ind_result_top mval ** +# define ggo_ind_source_array 304 +# define ggt_ind_source_array mval ** +# define ggo_ind_source_sp 312 +# define ggt_ind_source_sp mval ** +# define ggo_ind_source_top 320 +# define ggt_ind_source_top mval ** +# define ggo_last_source_column 328 +# define ggt_last_source_column short int +# define ggo_pos_in_chain 336 +# define ggt_pos_in_chain triple +# define ggo_s2n_intlit 472 +# define ggt_s2n_intlit boolean_t +# define ggo_saw_side_effect 476 +# define ggt_saw_side_effect boolean_t +# define ggo_shift_side_effects 480 +# define ggt_shift_side_effects int +# define ggo_source_error_found 484 +# define ggt_source_error_found int4 +# define ggo_temp_subs 488 +# define ggt_temp_subs boolean_t +# define ggo_trigger_compile 492 +# define ggt_trigger_compile boolean_t +# define ggo_window_ident 496 +# define ggt_window_ident mstr +# define ggo_window_mval 512 +# define ggt_window_mval mval +# define ggo_window_token 544 +# define ggt_window_token char +# define ggo_dbinit_max_hrtbt_delta 548 +# define ggt_dbinit_max_hrtbt_delta uint4 +# define ggo_donot_commit 552 +# define ggt_donot_commit boolean_t +# define ggo_donot_write_inctn_in_wcs_recover 556 +# define ggt_donot_write_inctn_in_wcs_recover boolean_t +# define ggo_gd_targ_addr 560 +# define ggt_gd_targ_addr gd_addr * +# define ggo_gtm_gvundef_fatal 568 +# define ggt_gtm_gvundef_fatal boolean_t +# define ggo_gv_extname_size 572 +# define ggt_gv_extname_size int4 +# define ggo_gv_last_subsc_null 576 +# define ggt_gv_last_subsc_null boolean_t +# define ggo_gv_mergekey2 584 +# define ggt_gv_mergekey2 gv_key * +# define ggo_gv_reorgkey 592 +# define ggt_gv_reorgkey gv_key * +# define ggo_gv_some_subsc_null 600 +# define ggt_gv_some_subsc_null boolean_t +# define ggo_gv_sparekey 608 +# define ggt_gv_sparekey gv_key * +# define ggo_gv_sparekey_mval 616 +# define ggt_gv_sparekey_mval mval +# define ggo_gv_sparekey_size 648 +# define ggt_gv_sparekey_size int4 +# define ggo_gv_tporigkey_ptr 656 +# define ggt_gv_tporigkey_ptr gv_orig_key_array * +# define ggo_in_gvcst_redo_root_search 664 +# define ggt_in_gvcst_redo_root_search boolean_t +# define ggo_in_op_gvget 668 +# define ggt_in_op_gvget boolean_t +# define ggo_issue_DBROLLEDBACK_anyways 672 +# define ggt_issue_DBROLLEDBACK_anyways boolean_t +# define ggo_last_fnquery_return_subcnt 676 +# define ggt_last_fnquery_return_subcnt int +# define ggo_last_fnquery_return_varname 680 +# define ggt_last_fnquery_return_varname mval +# define ggo_new_dbinit_ipc 712 +# define ggt_new_dbinit_ipc int4 +# define ggo_ok_to_call_wcs_recover 716 +# define ggt_ok_to_call_wcs_recover boolean_t +# define ggo_only_reset_clues_if_onln_rlbk 720 +# define ggt_only_reset_clues_if_onln_rlbk boolean_t +# define ggo_prev_gv_target 728 +# define ggt_prev_gv_target gv_namehead * +# define ggo_ready2signal_gvundef 736 +# define ggt_ready2signal_gvundef boolean_t +# define ggo_semwait2long 740 +# define ggt_semwait2long volatile boolean_t +# define ggo_tp_restart_count 744 +# define ggt_tp_restart_count uint4 +# define ggo_tp_restart_dont_counts 748 +# define ggt_tp_restart_dont_counts uint4 +# define ggo_tp_restart_entryref 752 +# define ggt_tp_restart_entryref mval +# define ggo_tp_restart_failhist_indx 784 +# define ggt_tp_restart_failhist_indx int4 +# define ggo_tp_restart_needlock_cnt 788 +# define ggt_tp_restart_needlock_cnt uint4 +# define ggo_tp_restart_needlock_tn 792 +# define ggt_tp_restart_needlock_tn trans_num +# define ggo_tprestart_syslog_delta 800 +# define ggt_tprestart_syslog_delta int4 +# define ggo_tprestart_syslog_limit 804 +# define ggt_tprestart_syslog_limit int4 +# define ggo_transform 808 +# define ggt_transform boolean_t +# define ggo_wcs_recover_done 812 +# define ggt_wcs_recover_done boolean_t +# define ggo_in_op_fnnext 816 +# define ggt_in_op_fnnext boolean_t +# define ggo_local_collseq 824 +# define ggt_local_collseq collseq * +# define ggo_local_collseq_stdnull 832 +# define ggt_local_collseq_stdnull boolean_t +# define ggo_lv_null_subs 836 +# define ggt_lv_null_subs int +# define ggo_max_lcl_coll_xform_bufsiz 840 +# define ggt_max_lcl_coll_xform_bufsiz int +# define ggo_replgbl 848 +# define ggt_replgbl replgbl_t +# define ggo_collseq_list 872 +# define ggt_collseq_list collseq * +# define ggo_create_fatal_error_zshow_dmp_fptr 880 +# define ggt_create_fatal_error_zshow_dmp_fptr void +# define gga_create_fatal_error_zshow_dmp_fptr (void) +typedef void (*ggf_create_fatal_error_zshow_dmp_fptr)(void); +# define ggo_disable_sigcont 888 +# define ggt_disable_sigcont boolean_t +# define ggo_dollar_zcompile 896 +# define ggt_dollar_zcompile mstr +# define ggo_dollar_zmode 912 +# define ggt_dollar_zmode mval +# define ggo_dollar_zonlnrlbk 944 +# define ggt_dollar_zonlnrlbk int +# define ggo_dollar_zroutines 952 +# define ggt_dollar_zroutines mstr +# define ggo_error_on_jnl_file_lost 968 +# define ggt_error_on_jnl_file_lost unsigned int +# define ggo_fnzsearch_lv_vars 976 +# define ggt_fnzsearch_lv_vars lv_val * +# define ggo_fnzsearch_sub_mval 984 +# define ggt_fnzsearch_sub_mval mval +# define ggo_fnzsearch_nullsubs_sav 1016 +# define ggt_fnzsearch_nullsubs_sav int +# define ggo_gtm_env_init_done 1020 +# define ggt_gtm_env_init_done boolean_t +# define ggo_gtm_env_xlate_entry 1024 +# define ggt_gtm_env_xlate_entry int +# define gga_gtm_env_xlate_entry () +typedef int (*ggf_gtm_env_xlate_entry)(); +# define ggo_gtm_environment_init 1032 +# define ggt_gtm_environment_init boolean_t +# define ggo_gtm_sigusr1_handler 1040 +# define ggt_gtm_sigusr1_handler void +# define gga_gtm_sigusr1_handler (void) +typedef void (*ggf_gtm_sigusr1_handler)(void); +# define ggo_gtm_trctbl_cur 1048 +# define ggt_gtm_trctbl_cur trctbl_entry * +# define ggo_gtm_trctbl_end 1056 +# define ggt_gtm_trctbl_end trctbl_entry * +# define ggo_gtm_trctbl_groups 1064 +# define ggt_gtm_trctbl_groups unsigned int +# define ggo_gtm_trctbl_start 1072 +# define ggt_gtm_trctbl_start trctbl_entry * +# define ggo_gtm_waitstuck_script 1080 +# define ggt_gtm_waitstuck_script mstr +# define ggo_gtmprompt 1096 +# define ggt_gtmprompt mstr +# define ggo_in_zwrite 1112 +# define ggt_in_zwrite boolean_t +# define ggo_lab_proxy 1120 +# define ggt_lab_proxy lab_tabent_proxy +# define ggo_mprof_alloc_reclaim 1136 +# define ggt_mprof_alloc_reclaim boolean_t +# define ggo_mprof_chunk_avail_size 1140 +# define ggt_mprof_chunk_avail_size int +# define ggo_mprof_env_gbl_name 1144 +# define ggt_mprof_env_gbl_name mval +# define ggo_mprof_ptr 1176 +# define ggt_mprof_ptr mprof_wrapper * +# define ggo_mprof_reclaim_addr 1184 +# define ggt_mprof_reclaim_addr char * +# define ggo_mprof_reclaim_cnt 1192 +# define ggt_mprof_reclaim_cnt int +# define ggo_mprof_stack_curr_frame 1200 +# define ggt_mprof_stack_curr_frame mprof_stack_frame * +# define ggo_mprof_stack_next_frame 1208 +# define ggt_mprof_stack_next_frame mprof_stack_frame * +# define ggo_open_shlib_root 1216 +# define ggt_open_shlib_root open_shlib * +# define ggo_parm_pool_ptr 1224 +# define ggt_parm_pool_ptr parm_pool * +# define ggo_parms_cnt 1232 +# define ggt_parms_cnt unsigned int +# define ggo_pipefifo_interrupt 1236 +# define ggt_pipefifo_interrupt int +# define ggo_prof_fp 1240 +# define ggt_prof_fp mprof_stack_frame * +# define ggo_trans_code_pop 1248 +# define ggt_trans_code_pop mval * +# define ggo_view_ydirt_str 1256 +# define ggt_view_ydirt_str char * +# define ggo_view_ydirt_str_len 1264 +# define ggt_view_ydirt_str_len int4 +# define ggo_zdate_form 1268 +# define ggt_zdate_form int4 +# define ggo_zintcmd_active 1272 +# define ggt_zintcmd_active zintcmd_active_info +# define ggl_zintcmd_active 72 +# define ggo_zro_root 1344 +# define ggt_zro_root zro_ent * +# define ggo_zsearch_var 1352 +# define ggt_zsearch_var lv_val * +# define ggo_zsearch_dir1 1360 +# define ggt_zsearch_dir1 lv_val * +# define ggo_zsearch_dir2 1368 +# define ggt_zsearch_dir2 lv_val * +# define ggo_fnpca 1376 +# define ggt_fnpca fnpc_area +# define ggo_for_stack 19792 +# define ggt_for_stack oprtype * +# define ggl_for_stack 256 +# define ggo_for_temps 20048 +# define ggt_for_temps boolean_t +# define ggl_for_temps 128 +# define ggo_last_fnquery_return_sub 20176 +# define ggt_last_fnquery_return_sub mval +# define ggl_last_fnquery_return_sub 1024 +# define ggo_lcl_coll_xform_buff 21200 +# define ggt_lcl_coll_xform_buff char * +# define ggo_parm_ary 21208 +# define ggt_parm_ary char * +# define ggl_parm_ary 40 +# define ggo_parm_ary_len 21248 +# define ggt_parm_ary_len int +# define ggl_parm_ary_len 20 +# define ggo_parm_str_len 21268 +# define ggt_parm_str_len int +# define ggl_parm_str_len 20 +# define ggo_prombuf 21288 +# define ggt_prombuf char +# define ggl_prombuf 32 +# define ggo_rt_name_tbl 21320 +# define ggt_rt_name_tbl hash_table_mname +# define ggo_tp_restart_failhist_arry 21392 +# define ggt_tp_restart_failhist_arry char +# define ggl_tp_restart_failhist_arry 32 +# define ggo_director_string 21424 +# define ggt_director_string char +# define ggl_director_string 32 +# define ggo_window_string 21456 +# define ggt_window_string char +# define ggl_window_string 32 +# define ggo_callin_hashtab 21488 +# define ggt_callin_hashtab hash_table_str * +# define ggo_ci_table 21496 +# define ggt_ci_table callin_entry_list * +# define ggo_extcall_package_root 21504 +# define ggt_extcall_package_root struct extcall_package_list * +# define ggo_gtmci_nested_level 21512 +# define ggt_gtmci_nested_level unsigned int +# define ggo_want_empty_gvts 21516 +# define ggt_want_empty_gvts boolean_t +# define size_gtm_threadgbl_struct 21520 +#else +# define ggo_grabbing_crit 0 +# define ggt_grabbing_crit gd_region * +# define ggo_boolchain 8 +# define ggt_boolchain triple +# define ggo_boolchain_ptr 144 +# define ggt_boolchain_ptr triple * +# define ggo_code_generated 152 +# define ggt_code_generated boolean_t +# define ggo_codegen_padlen 156 +# define ggt_codegen_padlen int4 +# define ggo_compile_time 160 +# define ggt_compile_time boolean_t +# define ggo_curtchain 168 +# define ggt_curtchain triple * +# define ggo_director_ident 176 +# define ggt_director_ident mstr +# define ggo_director_mval 192 +# define ggt_director_mval mval +# define ggo_director_token 224 +# define ggt_director_token char +# define ggo_dollar_zcstatus 228 +# define ggt_dollar_zcstatus int4 +# define ggo_expr_depth 232 +# define ggt_expr_depth unsigned int +# define ggo_expr_start 240 +# define ggt_expr_start triple * +# define ggo_expr_start_orig 248 +# define ggt_expr_start_orig triple * +# define ggo_for_nest_level 256 +# define ggt_for_nest_level uint4 +# define ggo_for_stack_ptr 264 +# define ggt_for_stack_ptr oprtype ** +# define ggo_gtm_fullbool 272 +# define ggt_gtm_fullbool unsigned int +# define ggo_ind_result_array 280 +# define ggt_ind_result_array mval ** +# define ggo_ind_result_sp 288 +# define ggt_ind_result_sp mval ** +# define ggo_ind_result_top 296 +# define ggt_ind_result_top mval ** +# define ggo_ind_source_array 304 +# define ggt_ind_source_array mval ** +# define ggo_ind_source_sp 312 +# define ggt_ind_source_sp mval ** +# define ggo_ind_source_top 320 +# define ggt_ind_source_top mval ** +# define ggo_last_source_column 328 +# define ggt_last_source_column short int +# define ggo_pos_in_chain 336 +# define ggt_pos_in_chain triple +# define ggo_s2n_intlit 472 +# define ggt_s2n_intlit boolean_t +# define ggo_saw_side_effect 476 +# define ggt_saw_side_effect boolean_t +# define ggo_shift_side_effects 480 +# define ggt_shift_side_effects int +# define ggo_source_error_found 484 +# define ggt_source_error_found int4 +# define ggo_temp_subs 488 +# define ggt_temp_subs boolean_t +# define ggo_trigger_compile 492 +# define ggt_trigger_compile boolean_t +# define ggo_window_ident 496 +# define ggt_window_ident mstr +# define ggo_window_mval 512 +# define ggt_window_mval mval +# define ggo_window_token 544 +# define ggt_window_token char +# define ggo_dbinit_max_hrtbt_delta 548 +# define ggt_dbinit_max_hrtbt_delta uint4 +# define ggo_donot_commit 552 +# define ggt_donot_commit boolean_t +# define ggo_donot_write_inctn_in_wcs_recover 556 +# define ggt_donot_write_inctn_in_wcs_recover boolean_t +# define ggo_gd_targ_addr 560 +# define ggt_gd_targ_addr gd_addr * +# define ggo_gtm_gvundef_fatal 568 +# define ggt_gtm_gvundef_fatal boolean_t +# define ggo_gv_extname_size 572 +# define ggt_gv_extname_size int4 +# define ggo_gv_last_subsc_null 576 +# define ggt_gv_last_subsc_null boolean_t +# define ggo_gv_mergekey2 584 +# define ggt_gv_mergekey2 gv_key * +# define ggo_gv_reorgkey 592 +# define ggt_gv_reorgkey gv_key * +# define ggo_gv_some_subsc_null 600 +# define ggt_gv_some_subsc_null boolean_t +# define ggo_gv_sparekey 608 +# define ggt_gv_sparekey gv_key * +# define ggo_gv_sparekey_mval 616 +# define ggt_gv_sparekey_mval mval +# define ggo_gv_sparekey_size 648 +# define ggt_gv_sparekey_size int4 +# define ggo_gv_tporigkey_ptr 656 +# define ggt_gv_tporigkey_ptr gv_orig_key_array * +# define ggo_in_gvcst_redo_root_search 664 +# define ggt_in_gvcst_redo_root_search boolean_t +# define ggo_in_op_gvget 668 +# define ggt_in_op_gvget boolean_t +# define ggo_issue_DBROLLEDBACK_anyways 672 +# define ggt_issue_DBROLLEDBACK_anyways boolean_t +# define ggo_last_fnquery_return_subcnt 676 +# define ggt_last_fnquery_return_subcnt int +# define ggo_last_fnquery_return_varname 680 +# define ggt_last_fnquery_return_varname mval +# define ggo_new_dbinit_ipc 712 +# define ggt_new_dbinit_ipc int4 +# define ggo_ok_to_call_wcs_recover 716 +# define ggt_ok_to_call_wcs_recover boolean_t +# define ggo_only_reset_clues_if_onln_rlbk 720 +# define ggt_only_reset_clues_if_onln_rlbk boolean_t +# define ggo_prev_gv_target 728 +# define ggt_prev_gv_target gv_namehead * +# define ggo_ready2signal_gvundef 736 +# define ggt_ready2signal_gvundef boolean_t +# define ggo_semwait2long 740 +# define ggt_semwait2long volatile boolean_t +# define ggo_tp_restart_count 744 +# define ggt_tp_restart_count uint4 +# define ggo_tp_restart_dont_counts 748 +# define ggt_tp_restart_dont_counts uint4 +# define ggo_tp_restart_entryref 752 +# define ggt_tp_restart_entryref mval +# define ggo_tp_restart_failhist_indx 784 +# define ggt_tp_restart_failhist_indx int4 +# define ggo_tp_restart_needlock_cnt 788 +# define ggt_tp_restart_needlock_cnt uint4 +# define ggo_tp_restart_needlock_tn 792 +# define ggt_tp_restart_needlock_tn trans_num +# define ggo_tprestart_syslog_delta 800 +# define ggt_tprestart_syslog_delta int4 +# define ggo_tprestart_syslog_limit 804 +# define ggt_tprestart_syslog_limit int4 +# define ggo_transform 808 +# define ggt_transform boolean_t +# define ggo_wcs_recover_done 812 +# define ggt_wcs_recover_done boolean_t +# define ggo_in_op_fnnext 816 +# define ggt_in_op_fnnext boolean_t +# define ggo_local_collseq 824 +# define ggt_local_collseq collseq * +# define ggo_local_collseq_stdnull 832 +# define ggt_local_collseq_stdnull boolean_t +# define ggo_lv_null_subs 836 +# define ggt_lv_null_subs int +# define ggo_max_lcl_coll_xform_bufsiz 840 +# define ggt_max_lcl_coll_xform_bufsiz int +# define ggo_replgbl 848 +# define ggt_replgbl replgbl_t +# define ggo_collseq_list 872 +# define ggt_collseq_list collseq * +# define ggo_create_fatal_error_zshow_dmp_fptr 880 +# define ggt_create_fatal_error_zshow_dmp_fptr void +# define gga_create_fatal_error_zshow_dmp_fptr (void) +typedef void (*ggf_create_fatal_error_zshow_dmp_fptr)(void); +# define ggo_disable_sigcont 888 +# define ggt_disable_sigcont boolean_t +# define ggo_dollar_zcompile 896 +# define ggt_dollar_zcompile mstr +# define ggo_dollar_zmode 912 +# define ggt_dollar_zmode mval +# define ggo_dollar_zonlnrlbk 944 +# define ggt_dollar_zonlnrlbk int +# define ggo_dollar_zroutines 952 +# define ggt_dollar_zroutines mstr +# define ggo_error_on_jnl_file_lost 968 +# define ggt_error_on_jnl_file_lost unsigned int +# define ggo_fnzsearch_lv_vars 976 +# define ggt_fnzsearch_lv_vars lv_val * +# define ggo_fnzsearch_sub_mval 984 +# define ggt_fnzsearch_sub_mval mval +# define ggo_fnzsearch_nullsubs_sav 1016 +# define ggt_fnzsearch_nullsubs_sav int +# define ggo_gtm_env_init_done 1020 +# define ggt_gtm_env_init_done boolean_t +# define ggo_gtm_env_xlate_entry 1024 +# define ggt_gtm_env_xlate_entry int +# define gga_gtm_env_xlate_entry () +typedef int (*ggf_gtm_env_xlate_entry)(); +# define ggo_gtm_environment_init 1032 +# define ggt_gtm_environment_init boolean_t +# define ggo_gtm_sigusr1_handler 1040 +# define ggt_gtm_sigusr1_handler void +# define gga_gtm_sigusr1_handler (void) +typedef void (*ggf_gtm_sigusr1_handler)(void); +# define ggo_gtm_trctbl_cur 1048 +# define ggt_gtm_trctbl_cur trctbl_entry * +# define ggo_gtm_trctbl_end 1056 +# define ggt_gtm_trctbl_end trctbl_entry * +# define ggo_gtm_trctbl_groups 1064 +# define ggt_gtm_trctbl_groups unsigned int +# define ggo_gtm_trctbl_start 1072 +# define ggt_gtm_trctbl_start trctbl_entry * +# define ggo_gtm_waitstuck_script 1080 +# define ggt_gtm_waitstuck_script mstr +# define ggo_gtmprompt 1096 +# define ggt_gtmprompt mstr +# define ggo_in_zwrite 1112 +# define ggt_in_zwrite boolean_t +# define ggo_lab_proxy 1120 +# define ggt_lab_proxy lab_tabent_proxy +# define ggo_mprof_alloc_reclaim 1136 +# define ggt_mprof_alloc_reclaim boolean_t +# define ggo_mprof_chunk_avail_size 1140 +# define ggt_mprof_chunk_avail_size int +# define ggo_mprof_env_gbl_name 1144 +# define ggt_mprof_env_gbl_name mval +# define ggo_mprof_ptr 1176 +# define ggt_mprof_ptr mprof_wrapper * +# define ggo_mprof_reclaim_addr 1184 +# define ggt_mprof_reclaim_addr char * +# define ggo_mprof_reclaim_cnt 1192 +# define ggt_mprof_reclaim_cnt int +# define ggo_mprof_stack_curr_frame 1200 +# define ggt_mprof_stack_curr_frame mprof_stack_frame * +# define ggo_mprof_stack_next_frame 1208 +# define ggt_mprof_stack_next_frame mprof_stack_frame * +# define ggo_open_shlib_root 1216 +# define ggt_open_shlib_root open_shlib * +# define ggo_parm_pool_ptr 1224 +# define ggt_parm_pool_ptr parm_pool * +# define ggo_parms_cnt 1232 +# define ggt_parms_cnt unsigned int +# define ggo_pipefifo_interrupt 1236 +# define ggt_pipefifo_interrupt int +# define ggo_prof_fp 1240 +# define ggt_prof_fp mprof_stack_frame * +# define ggo_trans_code_pop 1248 +# define ggt_trans_code_pop mval * +# define ggo_view_ydirt_str 1256 +# define ggt_view_ydirt_str char * +# define ggo_view_ydirt_str_len 1264 +# define ggt_view_ydirt_str_len int4 +# define ggo_zdate_form 1268 +# define ggt_zdate_form int4 +# define ggo_zintcmd_active 1272 +# define ggt_zintcmd_active zintcmd_active_info +# define ggl_zintcmd_active 72 +# define ggo_zro_root 1344 +# define ggt_zro_root zro_ent * +# define ggo_zsearch_var 1352 +# define ggt_zsearch_var lv_val * +# define ggo_zsearch_dir1 1360 +# define ggt_zsearch_dir1 lv_val * +# define ggo_zsearch_dir2 1368 +# define ggt_zsearch_dir2 lv_val * +# define ggo_fnpca 1376 +# define ggt_fnpca fnpc_area +# define ggo_for_stack 19792 +# define ggt_for_stack oprtype * +# define ggl_for_stack 256 +# define ggo_for_temps 20048 +# define ggt_for_temps boolean_t +# define ggl_for_temps 128 +# define ggo_last_fnquery_return_sub 20176 +# define ggt_last_fnquery_return_sub mval +# define ggl_last_fnquery_return_sub 1024 +# define ggo_lcl_coll_xform_buff 21200 +# define ggt_lcl_coll_xform_buff char * +# define ggo_parm_ary 21208 +# define ggt_parm_ary char * +# define ggl_parm_ary 40 +# define ggo_parm_ary_len 21248 +# define ggt_parm_ary_len int +# define ggl_parm_ary_len 20 +# define ggo_parm_str_len 21268 +# define ggt_parm_str_len int +# define ggl_parm_str_len 20 +# define ggo_prombuf 21288 +# define ggt_prombuf char +# define ggl_prombuf 32 +# define ggo_rt_name_tbl 21320 +# define ggt_rt_name_tbl hash_table_mname +# define ggo_tp_restart_failhist_arry 21392 +# define ggt_tp_restart_failhist_arry char +# define ggl_tp_restart_failhist_arry 32 +# define ggo_director_string 21424 +# define ggt_director_string char +# define ggl_director_string 32 +# define ggo_window_string 21456 +# define ggt_window_string char +# define ggl_window_string 32 +# define ggo_callin_hashtab 21488 +# define ggt_callin_hashtab hash_table_str * +# define ggo_ci_table 21496 +# define ggt_ci_table callin_entry_list * +# define ggo_extcall_package_root 21504 +# define ggt_extcall_package_root struct extcall_package_list * +# define ggo_gtmci_nested_level 21512 +# define ggt_gtmci_nested_level unsigned int +# define ggo_want_empty_gvts 21516 +# define ggt_want_empty_gvts boolean_t +# define size_gtm_threadgbl_struct 21520 +#endif +#endif