home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sp15demo.zip / libsrc.zip / LIBSRC / SQLUTIL.PAS < prev    next >
Pascal/Delphi Source File  |  1996-02-22  |  60KB  |  996 lines

  1. UNIT SQLUTIL;
  2.  
  3. {**************************************************************************
  4.  *                                                                        *
  5.  * Module Name    = SQLUTIL.H                                             *
  6.  *                                                                        *
  7.  * Descriptive Name =  Utility/Configuration Commands External Include    *
  8.  *                     File                                               *
  9.  *                                                                        *
  10.  * Copyright = 5622-044 (C) Copyright IBM Corp. 1987, 1993                *
  11.  *             Licensed Material - Program Property of IBM                *
  12.  *             Refer to Copyright Instructions Form Number G120-3083      *
  13.  *                                                                        *
  14.  * Function = Include File defining                                       *
  15.  *              Utility/Configuration Command Interfaces                  *
  16.  *              SQL Return Codes in SQLCODE for Utility Commands          *
  17.  *                                                                        *
  18.  **************************************************************************}
  19.  
  20. INTERFACE
  21.  
  22. USES sql,Os2Def;
  23.  
  24. CONST
  25.      { Interface Parameters/Structures/Return Codes }
  26.  
  27.      { Parameters for SQLUFROL }
  28.      SQLUM_ROLLFWD           = 1 ;  { Roll forward to requested point }
  29.      SQLUM_STOP              = 2 ;  { End roll-forward recovery       }
  30.      SQLUM_ROLLFWD_STOP      = 3 ;  { Roll forward to requested point }
  31.                                     { and end roll-forward recovery   }
  32.      SQLUM_QUERY             = 4 ;  { Query:  nextArcFile,            }
  33.                                     {         firstDeleteArc,         }
  34.                                     {         lastDeleteArc,          }
  35.                                     {         lastCommitTime          }
  36.      SQLUM_INFINITY_TIMESTAMP=  '9999-12-31-23.59.59.999999';{ Roll   }
  37.                                        { forward until STOP specified    }
  38.      SQLUM_ARCHIVE_FILE_LEN  =  12; { Length of Archive File name     }
  39.      SQLUM_TIMESTAMP_LEN     =  26; { Length of ISO format Timestamp  }
  40.  
  41.  
  42.      { Parameters for Backup/Restore }
  43.      SQLU_NSD_ID          = '0' ; { User exit used, not SD interface}
  44.  
  45.      { Parameters for RUNSTATS }
  46.      SQL_STATS_TABLE      = 'T' ;  { TABLEOPT = Table w/o Indexes }
  47.      SQL_STATS_BOTH       = 'B' ;  { TABLEOPT = Table and Indexes }
  48.      SQL_STATS_INDEX      = 'I' ;  { TABLEOPT = Indexes w/o Table }
  49.      SQL_STATS_REF        = 'R' ;  { SHAREOPT = Reference }
  50.      SQL_STATS_CHG        = 'C' ;  { SHAREOPT = Change }
  51.  
  52.      { Parameters for selection method in sqldcol }
  53.      SQL_METH_N           = 'N'; { Names      }
  54.      SQL_METH_P           = 'P'; { Positional }
  55.      SQL_METH_D           = 'D'; { Default    }
  56.      SQL_METH_L           = 'L'; { Locations  }
  57.  
  58.      { File Types for Import/Export }
  59.      SQL_IXF              = 'IXF' ;
  60.      SQL_WSF              = 'WSF' ;
  61.      SQL_DEL              = 'DEL' ;
  62.      SQL_ASC              = 'ASC' ;
  63.  
  64.      { Equates for Configuration Utilities }
  65.  
  66.      { Token equates for SQLFupd structure for Kernel config file }
  67.      SQLF_KTN_RQRIOBLK   =  1 ;
  68.      SQLF_KTN_SVRIOBLK   =  3 ;
  69.      SQLF_KTN_SQLENSEG   =  5 ;
  70.      SQLF_KTN_NUMDB      =  6 ;
  71.      SQLF_KTN_NNAME      =  7 ;
  72.      SQLF_KTN_COMHEAPSZ  =  8 ;
  73.      SQLF_KTN_RSHEAPSZ   =  9 ;
  74.      SQLF_KTN_NUMRC      = 10 ;
  75.      SQLF_KTN_TIMEOUT    = 11 ;
  76.      SQLF_KTN_AGENT_INIT = 12 ;
  77.      SQLF_KTN_DBAGENT    = 13 ;
  78.      SQLF_KTN_DBMKEY     = 14 ;
  79.      SQLF_KTN_DBMCOMQUE  = 15 ;
  80.      SQLF_KTN_DBMSYSQUE  = 16 ;
  81.      SQLF_KTN_SQLSTMTSZ  = 17 ;
  82.      SQLF_KTN_DBMSYS     = 18 ;
  83.      SQLF_KTN_INDEXREC   = 20 ;
  84.      SQLF_KTN_SHEAPTHRES = 21 ;
  85.      SQLF_KTN_NODETYPE   =100 ;
  86.      SQLF_KTN_RELEASE    =101 ;
  87.      SQLF_KTN_DBMONID    =102 ;
  88.      SQLF_KTN_SYSADMID   =103 ;
  89.      SQLF_KTN_DBMID      =104 ;
  90.  
  91.      { Nodetype equates }
  92.      SQLF_NT_STANDALONE  =  0 ;
  93.      SQLF_NT_SERVER      =  1 ;
  94.      SQLF_NT_REQUESTOR   =  2 ;
  95.      SQLF_NT_STAND_REQ   =  3 ;
  96.  
  97.      { Token equates for SQLFupd structure for DB config file }
  98.      SQLF_DBTN_LOCKLIST        =   1 ;
  99.      SQLF_DBTN_BUFFPAGE        =   2 ;
  100.      SQLF_DBTN_MAXFILOP        =   3 ;
  101.      SQLF_DBTN_LOGFILE         =   4 ;
  102.      SQLF_DBTN_SOFTMAX         =   5 ;
  103.      SQLF_DBTN_MAXAPPLS        =   6 ;
  104.      SQLF_DBTN_APPLHEAPSZ      =   7 ;
  105.      SQLF_DBTN_DBHEAP          =   8 ;
  106.      SQLF_DBTN_DLCHKTIME       =   9 ;
  107.      SQLF_DBTN_MAXTOTFILOP     =  10 ;
  108.      SQLF_DBTN_SORTHEAP        =  11 ;
  109.      SQLF_DBTN_LOGEXT          =  12 ;
  110.      SQLF_DBTN_LOGMAXEXT       =  13 ;
  111.      SQLF_DBTN_AGENTHEAP       =  14 ;
  112.      SQLF_DBTN_MAXLOCKS        =  15 ;
  113.      SQLF_DBTN_LOGPRIMARY      =  16 ;
  114.      SQLF_DBTN_LOGSECOND       =  17 ;
  115.      SQLF_DBTN_LOGFILSIZ       =  18 ;
  116.      SQLF_DBTN_STMTHEAP        =  19 ;
  117.      SQLF_DBTN_NEWLOGPATH      =  20 ;
  118.      SQLF_DBTN_DETS            =  21 ;
  119.      SQLF_DBTN_COPY_PROTECT    =  22 ;
  120.      SQLF_DBTN_LOG_RETAIN      =  23 ;
  121.      SQLF_DBTN_USER_EXIT       =  24 ;
  122.      SQLF_DBTN_AUTO_RESTART    =  25 ;
  123.      SQLF_DBTN_INDEXREC        =  30 ;
  124.      SQLF_DBTN_COUNTRY         = 100 ;
  125.      SQLF_DBTN_CODEPAGE        = 101 ;
  126.      SQLF_DBTN_RELEASE         = 102 ;
  127.      SQLF_DBTN_LOGPATH         = 103 ;
  128.      SQLF_DBTN_INTFLAGS        = 104 ;
  129.      SQLF_DBTN_LOGHEAD         = 105 ;
  130.      SQLF_DBTN_NEXTACTIVE      = 107 ;
  131.      SQLF_DBTN_CONSISTENT      = 111 ;
  132.      SQLF_DBTN_BACKUP_PENDING  = 112 ;
  133.      SQLF_DBTN_ROLLFWD_PENDING = 113 ;
  134.      SQLF_DBTN_LOG_RETAIN_STATUS=114 ;
  135.      SQLF_DBTN_USER_EXIT_STATUS =115 ;
  136.  
  137.  
  138.      { You may manipulate the bits of SQLF_DBTN_DETS and SQLF_DBTN_INTFLAGS
  139.        ** or you can enable, disable, or query the current setting through
  140.        ** the individual tokens.
  141.        **
  142.        ** Defines for: SQLF_DBTN_COPY_PROTECT    , SQLF_DBTN_LOG_RETAIN
  143.        **              SQLF_DBTN_USER_EXIT       , SQLF_DBTN_AUTO_RESTART
  144.        **              SQLF_DBTN_CONSISTENT      , SQLF_DBTN_BACKUP_PENDING
  145.        **              SQLF_DBTN_ROLLFWD_PENDING , SQLF_DBTN_LOG_RETAIN_STATUS
  146.        **              SQLF_DBTN_USER_EXIT_STATUS
  147.      }
  148.  
  149.      SQLF_DISABLE =0 ;
  150.      SQLF_ENABLE  =1 ;
  151.  
  152.  
  153.      {
  154.       ** Defines for Database Details - SQLF_DBTN_DETS
  155.       **
  156.       ** The following meanings apply when the bits are set on.
  157.       **
  158.       ** SQLF_COPY_PROTECT       - Database is copy protected.
  159.       ** SQLF_ENABLE_LOG_RETAIN  - Next time database is started in normal
  160.       **                           conditions, the log files will be retained
  161.       **                           for the purpose of roll-forward recovery.
  162.       ** SQLF_ENABLE_USER_EXIT   - Next time database is started in normal
  163.       **                           conditions, the user log exit will be enabled
  164.       **                           for the purpose of roll-forward recovery.
  165.       ** SQLF_ENABLE_AUTO_RESTART- The RESTART DATABASE function will be
  166.       **                           invoked when needed.
  167.     }
  168.  
  169.     SQLF_COPY_NOPROT         =$00 ;  { xxxx xxxx xxxx xxx0 }
  170.     SQLF_COPY_PROTECT        =$01 ;  { xxxx xxxx xxxx xxx1 }
  171.     SQLF_ENABLE_LOG_RETAIN   =$02 ;  { xxxx xxxx xxxx xx1x }
  172.     SQLF_ENABLE_USER_EXIT    =$04 ;  { xxxx xxxx xxxx x1xx }
  173.     SQLF_ENABLE_AUTO_RESTART =$08 ;  { xxxx xxxx xxxx 1xxx }
  174.  
  175.     {
  176.      ** Defines for Logging Flags    - SQLF_DBTN_INTFLAGS
  177.      **
  178.      ** The following meanings apply when the bits are set on.
  179.      **
  180.      ** SQLF_CONSISTENT      - Database is in a consistent state.
  181.      ** SQLF_BACKUP_PENDING  - User is required to take a backup of the
  182.      **                        database before the system will allow the
  183.      **                        database to be opened for normal processing.
  184.      ** SQLF_ROLLFWD_PENDING - User is required to roll forward the database
  185.      **                        before the system will allow the database to
  186.      **                        be opened for normal processing.
  187.      ** SQLF_LOG_RETAIN      - Log files are retained so that a database can be
  188.      **                        rolled forward after it has been restored from
  189.      **                        a backup copy.
  190.      ** SQLF_USER_EXIT       - User exit is taken when log files are filled and
  191.      **                        when log files are needed and not found.
  192.     }
  193.  
  194.     SQLF_CONSISTENT          =$0001 ;{ xxxx xxxx xxxx xxx1 }
  195.     SQLF_BACKUP_PENDING      =$0004 ;{ xxxx xxxx xxxx x1xx }
  196.     SQLF_ROLLFWD_PENDING     =$0008 ;{ xxxx xxxx xxxx 1xxx }
  197.     SQLF_LOG_RETAIN          =$0010 ;{ xxxx xxxx xxx1 xxxx }
  198.     SQLF_USER_EXIT           =$0020 ;{ xxxx xxxx xx1x xxxx }
  199.  
  200.  
  201. TYPE
  202.  
  203. TYPE
  204.     sqldcol=RECORD
  205.                  dcolmeth:SHORT;
  206.                  dcolnum:SHORT;
  207.                  dcolname:ARRAY[0..1] OF RECORD
  208.                                dcolnlen:SHORT;
  209.                                dcolnptr:PChar;
  210.                  END;
  211.             END;
  212.  
  213.    {************************************************}
  214.    { Structure for Pairs of Locations for ASC files }
  215.    {************************************************}
  216.  
  217.    sqlloctab=RECORD
  218.                   locpair:ARRAY[0..1] OF RECORD
  219.                                begin_loc:SHORT;
  220.                                end_loc:SHORT;
  221.                   END;
  222.              END;
  223.  
  224.    {************************************************}
  225.    { Structures for Configuration Utility APIs.     }
  226.    {************************************************}
  227.  
  228.    sqlfupd=RECORD
  229.                 token:WORD;
  230.                 ptrvalue:PChar;
  231.            END;
  232.  
  233. {
  234. ** Constants and structure used by SQLGADAU and sqluadau.
  235. }
  236. CONST
  237.         SQL_USER_AUTHORIZED   =  1  ;
  238.         SQL_USER_UNAUTHORIZED =  0  ;
  239.         SQL_AUTHORIZATION_SIZE=  22 ;
  240.  
  241. TYPE
  242.     sql_authorizations=RECORD
  243.                           sql_authorizations_len:SHORT;
  244.                           sql_sysadm_auth:SHORT;
  245.                           sql_dbadm_auth:SHORT;
  246.                           sql_createtab_auth:SHORT;
  247.                           sql_bindadd_auth:SHORT;
  248.                           sql_connect_auth:SHORT;
  249.                           sql_sysadm_grp_auth:SHORT;
  250.                           sql_dbadm_grp_auth:SHORT;
  251.                           sql_createtab_grp_auth:SHORT;
  252.                           sql_bindadd_grp_auth:SHORT;
  253.                           sql_connect_grp_auth:SHORT;
  254.                        END;
  255.  
  256.  
  257. CONST
  258.         { Values for CALLERAC parameter in RESTORE                                  }
  259.  
  260.         SQLUD_RESTORE          = 0 ; { Restore database                     }
  261.         SQLUD_CONTINUE         = 1 ; { Continue  after a warning occurred   }
  262.         SQLUD_TERMINATE        = 2 ; { Terminate after a warning occurred   }
  263.         SQLUD_RST_NOROLLFWD    = 3 ; { Restore database, turn off the       }
  264.                                      {  ROLL FORWARD PENDING flag           }
  265.  
  266.         { Roll Forward Return Codes }
  267.  
  268.         SQLU_RC_NOLFH          =    -1258; { Log Control file not found.  }
  269.         SQLU_RC_IOELFH         =    -1259; { I/O Error accessing LFH.     }
  270.         SQLU_RC_RFNOTEN        =    -1260; { DB not enabled for Roll Fwd  }
  271.         SQLU_RC_RFNOTP         =    -1261; { Roll Forward is not Pending  }
  272.         SQLU_RC_BADPIT         =    -1262; { Bad Point in Time specified  }
  273.         SQLU_RC_INVEXT         =    -1263; { Invalid Log Extent file      }
  274.         SQLU_RC_NOTEXT         =    -1264; { Log Extent file does not     }
  275.                                            { belong to DB                 }
  276.         SQLU_RC_IVREXT         =    -1265; { Log extent file is incorrect }
  277.                                            { version                      }
  278.         SQLU_RC_PRTIME         =    -1266; { Time specified is before     }
  279.                                            { previous roll-forward time   }
  280.  
  281.         SQLU_RC_UEXIT_ERR      =    -1268; { User exit encountered an     }
  282.                                            { error (other than retry)     }
  283.                                            { while attempting to retrieve }
  284.                                            { a log extent file for roll   }
  285.                                            { forward                      }
  286.  
  287.         { General Utility Return Codes }
  288.         SQLU_BAD_DRIVE           =  -2000;{ invalid output drive            }
  289.         SQLU_USER_TERM           =  -2001;{ Backup terminated by user       }
  290.         SQLU_NOT_LOCAL           =  -2002;{ database not local              }
  291.         SQLU_DOS_ERROR           =  -2003;{ base operating system error     }
  292.         SQLU_SQL_ERROR           =  -2004;{ SQL error occurred              }
  293.         SQLU_READ_ERROR          =  -2005;{ read wrong # of bytes           }
  294.         SQLU_WRITE_ERROR         =  -2006;{ wrote wrong # of bytes          }
  295.         SQLU_INVALID_ACTION      =  -2008;{ call out of sequence            }
  296.         SQLU_INSUFF_MEMORY       =  -2009;{ insufficient memory             }
  297.         SQLU_STRD_ERROR          =  -2010;{ error in Start Using            }
  298.         SQLU_STPD_ERROR          =  -2011;{ error in Stop Using             }
  299.         SQLU_INT_ERROR           =  -2012;{ error in ints                   }
  300.         SQLU_DIR_ERROR           =  -2013;{ directory Scan error            }
  301.         SQLU_DBM_ERROR           =  -2014;{ pause or Continue or migration  }
  302.                                           { error                           }
  303.         SQLU_INVALID_DBNAME      =  -2015;{ invalid database name           }
  304.         SQLU_INVALID_PATH        =  -2016;{ invalid path in environment     }
  305.         SQLU_START_SESSION       =  -2017;{ Start Session failed            }
  306.         SQLU_INVALID_AUTHS       =  -2018;{ invalid authorizations          }
  307.         SQLU_AUTOBIND            =  -2019;{ auto-binding failed             }
  308.         SQLU_TIMESTAMP           =  -2020;{ conflict after auto-bind        }
  309.         SQLU_WRONG_DISKETTE      =  -2021;{ Wrong diskette inserted         }
  310.         SQLU_IO_ERROR_LFH        =  -2023;{ I/O error in accessing the log  }
  311.                                           { control file                    }
  312.         SQLU_IO_ERROR_BRG        =  -2024;{ I/O error in accessing the      }
  313.                                           { Backup/Restore flag file        }
  314.         SQLU_IO_ERROR            =  -2025;{ System I/O error occurred       }
  315.         SQLU_PAUSE_ERROR         =  -2026;{ error in PAUSE the started DB   }
  316.         SQLU_CONT_ERROR          =  -2027;{ error in CONTINUE the stoped DB }
  317.         SQLU_INT_INST_ERR        =  -2028;{ interruption installing error   }
  318.         SQLU_UEXIT_RC            =  -2029;{ user exit returned non-zero rc  }
  319.         SQLU_DISK_FULL           =  -2030;{ a specific fixed disk is full   }
  320.  
  321.         { Reorganize Table Return Codes }
  322.         SQLUR_INVALID_AUTHID      = -2200;{ invalid authid on index name    }
  323.         SQLUR_INVALID_TABLENAME   = -2203;{ invalid tablename syntax        }
  324.         SQLUR_INVALID_INDEXNAME   = -2204;{ invalid tablename syntax        }
  325.         SQLUR_INDEX_NOT_FOUND     = -2205;{ index doesn't exist             }
  326.         SQLUR_INVALID_FILEPATH    = -2207;{ invalid filepath pointer        }
  327.         SQLUR_TABLE_NOT_FOUND     = -2211;{ table does not exist            }
  328.         SQLUR_VIEW_ERROR          = -2212;{ cannot reorg a view             }
  329.         SQLUR_INSAUTH             = -2214;{ insuffic authority              }
  330.         SQLUR_SQLERR_COMPREV      = -2215;{ SQL error commiting prev work   }
  331.         SQLUR_SQLERR_REORG        = -2216;{ SQL error during reorganization }
  332.  
  333.         { Run Statistics Return Codes }
  334.         SQLUS_INVALID_AUTHID      = -2300;{ invalid authid                  }
  335.         SQLUS_INVALID_TABLE_NAME  = -2301;{ invalid table name              }
  336.         SQLUS_INVALID_INDEX_LIST  = -2302;{ invalid index pointer           }
  337.         SQLUS_INVALID_STATS_OPT   = -2303;{ statsopt parameter invalid      }
  338.         SQLUS_INVALID_SHARE_LEV   = -2304;{ sharelev parameter invalid      }
  339.         SQLUS_VIEWS_NOT_ALLOWED   = -2305;{ table specified is a view       }
  340.         SQLUS_OBJ_DOES_NOT_EXIST  = -2306;{ object doesn't exist            }
  341.         SQLUS_SYS_TABLE_NOT_ALLOWED=-2307;{ system table not allowed        }
  342.         SQLUS_INVALID_INDEX_AUTHID= -2308;{ index authid invalid            }
  343.         SQLUS_INVALID_INDEX_NAME  = -2309;{ index name invalid              }
  344.         SQLUS_ERROR_STAT          = -2310;{ error running statistics        }
  345.         SQLUS_INSAUTH             = -2311;{ insuffic authority for runstats }
  346.  
  347.         { Backup Return Codes }
  348.         SQLUB_BAD_TYPE            = -2400;{ invalid type                    }
  349.         SQLUB_TYPE_MUSTBE_DB      = -2401;{ type must be database           }
  350.         SQLUB_USER_NOT_AUTH       = -2403;{ insufficient auth for backup    }
  351.         SQLUB_MEDIA_FULL          = -2404;{ The target disk/diskette is full}
  352.         SQLUB_RST_IN_PROG         = -2405;{ The backup can't run because    }
  353.                                           { the Restore is in progress      }
  354.         SQLUB_ROLLFWD_PENDING     = -2406;{ The Backup can't run because    }
  355.                                           { roll forward is pending         }
  356.         SQLUB_BR_INPROG           = -2407;{ The Backup can't run because    }
  357.                                           { B/R flag file existed and read  }
  358.                                           { I/O error occurred              }
  359.         SQLUB_DEL_BRG_ERR         =  2408;{ Backup process is successful,   }
  360.                                           { but unable to delete BRG file   }
  361.         SQLUB_WRONG_BASE_IMAGE    = -2409;{ 'change-only' is only applied   }
  362.                                           { to the most recent base image   }
  363.         SQLUB_NO_CHG_NSD          = -2410;{ change only, backup not allowed }
  364.                                           { to user exit                    }
  365.         SQLUB_IO_ERROR            = -2411;{ I/O error during backup         }
  366.  
  367.         { Restore Return Codes }
  368.         SQLUD_CANNOT_RESTORE      = -2501;{ can't read restored database    }
  369.         SQLUD_DISKETTE_ERROR      = -2502;{ error reading backup diskette   }
  370.         SQLUD_WRONG_DATABASE      = -2503;{ wrong backup diskette           }
  371.         SQLUD_DISKETTE_PROMPT     =  2504;{ prompt for backup diskette      }
  372.         SQLUD_DROP_WARNING        =  2505;{ warn that drop will be done     }
  373.         SQLUD_DATABASE_WARNING    =  2506;{ Restore worked, but not cleanup }
  374.         SQLUD_BIND_WARNING        =  2507;{ Restore utility not bound       }
  375.         SQLUD_INVALID_DBDRV       = -2509;{ invalid database drive          }
  376.         SQLUD_SEM_ERROR           = -2510;{ semaphore error                 }
  377.         SQLUD_DROP_ERROR          = -2511;{ error dropping database         }
  378.         SQLUD_CREATE_ERROR        = -2512;{ error creating database         }
  379.         SQLUD_REN_ERROR           = -2513;{ error renaming database         }
  380.         SQLUD_BAD_VERSION         = -2514;{ restored database wrong version }
  381.         SQLUD_INSAUTH             = -2515;{ insuffic authority to restore   }
  382.         SQLUD_DBACT               = -2516;{ a database active               }
  383.         SQLUD_MIGRATED            =  2517;{ database migrated               }
  384.         SQLUD_RST_DBCONG_ERR      = -2518;{ error in restoring DB config.   }
  385.                                           { file                            }
  386.         SQLUD_MIGRATE_ERROR       = -2519;{ error in migrating the database }
  387.         SQLUD_DBCON_WARN          =  2520;{ DBCON file is restored using the}
  388.                                           { backup version                  }
  389.         SQLUD_DEL_BRG_ERR         =  2521;{ Restore process is successful,  }
  390.                                           { but unable to delete BRG file   }
  391.  
  392.         { SQLGAUAD and sqluadau Return codes }
  393.         SQLUA_BAD_INPUT_PARAMETER = -2600;{ sql_authorizations parameter bad}
  394.  
  395.         { IMPORT/EXPORT Return codes }
  396.         SQLUE_DFO                =  -3001;{ error opening output file       }
  397.         SQLUE_IOE                =  -3002;{ i/o error writing output file   }
  398.         SQLUE_CLS                =  -3003;{ i/o error closing output file   }
  399.         SQLUE_IFT                =  -3004;{ invalid filetype parameter      }
  400.         SQLUE_CBI                =  -3005;{ function interrupted            }
  401.         SQLUE_MFO                =  -3006;{ i/o error opening message file  }
  402.         SQLUE_MFW                =  -3007;{ i/o error writing message file  }
  403.         SQLUE_STA                =  -3008;{ start using database failed     }
  404.         SQLUE_STR                =  -3009;{ invalid tcolstrg                }
  405.         SQLUE_COL                =  -3010;{ invalid dcoldata                }
  406.  
  407.         SQLUE_MEM                =  -3011;{ memory allocation error         }
  408.         SQLUE_SYSERR             =  -3012;{ system error                    }
  409.         SQLUE_FTMOD              =  -3013;{ invalid filetmod                }
  410.         SQLUE_MFC                =  -3014;{ failure on closing message file }
  411.         SQLUE_SQLERR             =  -3015;{ SQL error occurred              }
  412.         SQLUE_FMODNK             =  -3016;{ no keywords found               }
  413.         SQLUE_FMODID             =  -3017;{ invalid delimiter or duplicate  }
  414.         SQLUE_FMODDEC            =  -3018;{ decimal used for char delimiter }
  415.         SQLUE_NTS                =  -3019;{ no tcolstrg                     }
  416.         SQLUE_RC_INSAUTH         =  -3020;{ insufficient authority for exp. }
  417.  
  418.         SQLUI_RC_INSAUTH         =  -3021;{ insufficient authority for imp. }
  419.         SQLUE_SQL_PREP_ERR       =  -3022;{ SQL error on input string       }
  420.         SQLUE_DATABASE           =  -3023;{ invalid database name           }
  421.         SQLUE_DATAFILE           =  -3025;{ invalid datafile                }
  422.         SQLUE_MSGFILE            =  -3026;{ invalid msgfile                 }
  423.         SQLUE_DCOLMETH           =  -3028;{ Export method indicator not n/d }
  424.         SQLUE_NUL_FTYPE          =  -3029;{ filetype is null                }
  425.  
  426.         SQLUI_DFO                =  -3030;{ error opening input data file   }
  427.         SQLUI_IOE                =  -3031;{ i/o error reading input file    }
  428.         SQLUI_DCOLMETH           =  -3032;{ Import method not n/d/p         }
  429.         SQLUI_TINSERT            =  -3033;{ invalid insert in tcolstrg      }
  430.         SLQUI_TINTO              =  -3034;{ invalid into in tcolstrg        }
  431.         SQLUI_TABLENAME          =  -3035;{ invalid tablename in tcolstrg   }
  432.         SQLUI_CPAREN             =  -3036;{ close paren not in tcolstrg     }
  433.         SQLUE_SQL_PREP_INSERT    =  -3037;{ SQL error on insert string      }
  434.         SQLUI_TCOLJUNK           =  -3038;{ tcolstrg invalid                }
  435.  
  436.         SQLUIC_BAD_DCOL_POS      =  -3045;{ invalid dcol position for CSV   }
  437.         SQLUI_NONDEF_DCOL_NOCOLS =  -3046;{ non-default dcol and no cols    }
  438.         SQLUI_BAD_DCOL_METH      =  -3047;{ dcolinfo has invalid method     }
  439.         SQLUI_NODCOL_FOR_NONNULL_DBCOL=-3048;{ non nullable column          }
  440.         SQLUIC_UNSUPTYP_NONULLS  =  -3049;{ unsupported column type         }
  441.  
  442.         SQLUE_ROWCT_TOOBIG       =  -3053;{ too many rows for WSF export    }
  443.         SQLUII_HEOF              =  -3054;{ eof reading first rec in IXF    }
  444.         SQLUII_HLEN_CONV         =  -3055;{ length of 'H' rec not numeric   }
  445.         SQLUII_HLEN_SHORT        =  -3056;{ first record too short          }
  446.         SQLUII_HTYP              =  -3057;{ first IXF rec is not 'H'        }
  447.         SQLUII_HID               =  -3058;{ no 'IXF'                        }
  448.         SQLUII_HVERS             =  -3059;{ invalid version field in 'H'    }
  449.  
  450.         SQLUII_HCNT              =  -3060;{ HCNT in 'H' not numeric         }
  451.         SQLUII_HSBCP_BAD         =  -3061;{ SBCP in 'H' not numeric         }
  452.         SQLUII_HDBCP_BAD         =  -3062;{ DBCP in 'H' not numeric         }
  453.         SQLUII_HSBCP_CMP         =  -3063;{ 'H' SBCP not compat w/data SBCP }
  454.         SQLUII_HDBCP_CMP         =  -3064;{ 'H' DBCP not compat w/data DBCP }
  455.         SQLUII_DB_CODEPG         =  -3065;{ can't get codepages             }
  456.         SQLUII_TEOF              =  -3066;{ eof reading/looking for 'T' rec }
  457.         SQLUII_TLEN_CONV         =  -3067;{ length of 'T' rec not numeric   }
  458.         SQLUII_TLEN_SHORT        =  -3068;{ 'T' record is too short         }
  459.         SQLUII_TTYP              =  -3069;{ first non-'A' rec not 'T' rec   }
  460.  
  461.         SQLUII_ALEN_BAD          =  -3070;{ invalid rec length of 'A' rec   }
  462.         SQLUII_TCONV             =  -3071;{ invalid data convention in 'T'  }
  463.         SQLUII_TFORM             =  -3072;{ invalid data format in 'T'      }
  464.         SQLUII_TMFRM             =  -3073;{ invalid machine form in 'T'     }
  465.         SQLUII_TLOC              =  -3074;{ invalid data location in 'T'    }
  466.         SQLUII_TCCNT             =  -3075;{ 'C' rec cnt in 'T' not numeric  }
  467.         SQLUII_TNAML             =  -3076;{ name len fld in 'T' not numeric }
  468.         SQLUII_CCNT_HIGH         =  -3077;{ too many 'C' records            }
  469.         SQLUII_ALEN_CONV         =  -3078;{ length of 'A' rec not numeric   }
  470.         SQLUII_CLEN_CONV         =  -3079;{ length of 'C' rec not numeric   }
  471.  
  472.         SQLUII_CLEN_SHORT        =  -3080;{ 'C' record is too short         }
  473.         SQLUII_CTYP              =  -3081;{ wrong rec type / 'C' expected   }
  474.         SQLUII_CEOF              =  -3082;{ EOF while processing 'C' recs   }
  475.         SQLUII_CDRID             =  -3083;{ 'D' rec id field not numeric    }
  476.         SQLUII_CPOSN             =  -3084;{ 'D' rec posn field not numeric  }
  477.         SQLUII_CIDPOS            =  -3085;{ 'D' id/position not consistent  }
  478.         SQLUII_NOCREC_FOR_NONNULL_DBCOL=-3086;{ IXF column does not exist   }
  479.         SQLUII_INVCREC_NONNULL_DBCOL  = -3087;{ IXF column not valid        }
  480.         SQLUII_CRECCOMP_NONNULL_DBCOL = -3088;{ IXF column not compatible   }
  481.         SQLUII_DTYP              =  -3089;{ wrong rec type / 'D' expected   }
  482.  
  483.         SQLUII_DLEN_CONV         =  -3090;{ length of 'D' rec not numeric   }
  484.         SQLUII_DLEN_RANGE        =  -3091;{ length of 'D' rec not valid     }
  485.         SQLUII_DID               =  -3092;{ invalid id field in 'D' rec     }
  486.         SQLUIW_IFILE_INV         =  -3093;{ import file not valid WSF       }
  487.         SQLUIW_NNCOL_LOST        =  -3094;{ DOS non-nullable name not found }
  488.         SQLUIW_PCOL_INV          =  -3095;{ col position out of range       }
  489.         SQLUIW_UCOLTYP_NONUL     =  -3096;{ unsup col type - not nullable   }
  490.         SQLUIW_RECLEN_INV        =  -3097;{ record length invalid           }
  491.         SQLUIW_INROW_INV         =  -3098;{ row number out of range         }
  492.         SQLUIW_INCOL_INV         =  -3099;{ col number out of range         }
  493.  
  494.         SQLUE_COL_TOOBIG         =   3100;{ column longer than 254 chars    }
  495.         SQLUE_DATA_CHARDEL       =   3101;{ column has char delimiter       }
  496.         SQLUE_DCNUM_HIGH         =   3102;{ dcol column nbr > tcol number   }
  497.         SQLUE_DCNUM_LOW          =   3103;{ dcol column nbr < tcol number   }
  498.         SQLUE_WARNING            =   3107;{ warning message issued          }
  499.  
  500.         SQLUI_FEWER_DCOLS_DBCOLS_NULLED = 3112;{ extra database cols        }
  501.         SQLUIC_UNSUPTYP_NULLABLE =   3113;{ column will be nulled           }
  502.         SQLUIC_IGNORED_CHAR      =   3114;{ character ignored               }
  503.         SQLUIC_FIELD_TOO_LONG      = 3115;{ input CSV field too long        }
  504.         SQLUIC_CF_REQFIELD_MISSING = 3116;{ field value missing             }
  505.         SQLUIC_CFINT2_NULLED       = 3117;{ smallint field nulled           }
  506.         SQLUIC_CFINT2_ROWREJ       = 3118;{ smallint field error            }
  507.         SQLUIC_CFINT4_NULLED       = 3119;{ int field nulled                }
  508.  
  509.         SQLUIC_CFINT4_ROWREJ       = 3120;{ int field error                 }
  510.         SQLUIC_CFFLOAT_NULLED      = 3121;{ float field nulled              }
  511.         SQLUIC_CFFLOAT_ROWREJ      = 3122;{ float field error               }
  512.         SQLUIC_CFDEC_NULLED        = 3123;{ decimal field nulled            }
  513.         SQLUIC_CFDEC_ROWREJ        = 3124;{ decimal field error             }
  514.         SQLUIC_CFTRUNC             = 3125;{ char field truncated            }
  515.  
  516.         SQLUIC_CFCHAR_NULLED       = 3126;{ char field nulled               }
  517.         SQLUIC_CFCHAR_ROWREJ       = 3127;{ char field error                }
  518.         SQLUIC_CFDATETRUNC         = 3128;{ date field truncated            }
  519.         SQLUIC_CFDTPAD             = 3129;{ date/time/stamp field padded    }
  520.  
  521.         SQLUIC_CFTIMETRUNC         = 3130;{ time field truncated            }
  522.         SQLUIC_CFSTAMPTRUNC        = 3131;{ stamp field truncated           }
  523.         SQLUIC_ROWTOOSHORT         = 3137;{ not enough columns              }
  524.         SQLUIC_EOF_IN_CHARDELS     = 3138;{ end of input data file          }
  525.         SQLUE_SQLSTPDB_ERR         = 3139;{ stop using database failed      }
  526.  
  527.         SQLUE_WSFLAB_LEN           = 3142;{ WSF label too big               }
  528.         SQLUE_CHAR_MTRUNC          = 3143;{ WSF char type length too long   }
  529.         SQLUE_CHAR_WTRUNC          = 3144;{ WSF char type length too long   }
  530.         SQLUE_CHAR_ITRUNC          = 3145;{ WSF char truncated at 240       }
  531.         SQLUE_ROWCT_LARGE          = 3147;{ row count exceeds 2048          }
  532.         SQLUE_3148                 = 3148;{ row not inserted                }
  533.  
  534.         SQLUII_TCNTCMP             = 3154;{ 'H' hcnt not equal 'T' rec ccnt }
  535.         SQLUII_CNAML               = 3155;{ invalid name length in 'C' rec  }
  536.         SQLUII_CNULL               = 3156;{ invalid null field in 'C' rec   }
  537.         SQLUII_CTYPE               = 3157;{ invalid type field in 'C' rec   }
  538.         SQLUII_CSBCP               = 3158;{ invalid SBCP field in 'C' rec   }
  539.         SQLUII_CDBCP               = 3159;{ invalid DBCP field in 'C' rec   }
  540.  
  541.         SQLUII_CLENG               = 3160;{ invalid col len fld in 'C' rec  }
  542.         SQLUII_CPREC               = 3161;{ invalid precision in 'C' rec    }
  543.         SQLUII_CSCAL               = 3162;{ invalid scale field in 'C' rec  }
  544.         SQLUII_CFLOAT_BLANKLENG    = 3163;{ use 00008 for float col length  }
  545.         SQLUII_CFLOAT_BADLENG      = 3164;{ invalid float col len in 'C'    }
  546.         SQLUII_CUTYPE              = 3165;{ 'C' record has invalid type     }
  547.         SQLUII_NOCREC_FOR_NULL_DBCOL  =   3166;{ IXF col does not exist     }
  548.         SQLUII_INVCREC_FOR_NULL_DBCOL =   3167;{ IXF col is invalid         }
  549.         SQLUII_CRECCOMP_NULL_DBCOL    =   3168;{ IXF col not compatible     }
  550.  
  551.         SQLUII_DEOF_INROW             =   3170;{ EOF found in row of data   }
  552.         SQLUIW_NONLAB_HDR             =   3171;{ non-label cell in hdr row  }
  553.         SQLUIW_NCOL_LOST              =   3172;{ nullable colnam not found  }
  554.         SQLUIW_UCOLTYP_NULL           =   3174;{ unsup col type - nullable  }
  555.         SQLUIW_INTYPE_INV             =   3175;{ wrong rec type for db col  }
  556.         SQLUIW_DATE_INV               =   3176;{ date value out of range    }
  557.         SQLUIW_TIME_INV               =   3177;{ time value out of range    }
  558.         SQLUIW_INTIME_INV             =   3178;{ int rec for time invalid   }
  559.         SQLUIW_NODATA_NNULL           =   3179;{ no data / non nullable col}
  560.  
  561.         SQLUE_INSERT_DISK             =   3180;{ insert diskette request    }
  562.         SQLUII_AE_NOTFOUND            =   3181;{ file ended before AE rec   }
  563.         SQLUII_INSERT_DISK_RETRY      =   3182;{ retry to insert diskette   }
  564.         SQLUEC_NOBLANK_B4KW           =   3183;{ mult del o'rides/no blanks }
  565.         SQLUI_PREVMESG_ROWNO          =   3185;{ row of previous warning    }
  566.         SQLUI_LOGFULL_INSWARN         =   3186;{ log full inserting row     }
  567.         SQLUI_INDEX_WARN              =   3187;{ error creating index       }
  568.         SQLUI_TRUNCATE_TABLE          =  -3188;{ error truncating table     }
  569.  
  570.         SQLUI_INDEXIXF                =  -3190;{ invalid INDEXIXF option    }
  571.         SQLUI_VIEW_ERROR              =  -3193;{ cannot import to this view }
  572.         SQLUI_SYSTBL_ERROR            =  -3194;{ cannot import system table }
  573.         SQLUE_RETRY_DISK              =   3195;{ not enough space           }
  574.         SQLUI_IN_NOTFD                =  -3196;{ input file not found       }
  575.  
  576.         SQLUI_REPL_PAR                =  -3201;{ cant replace parent table  }
  577.         SQLUI_IUOPT_NOPK              =  -3203;{ cant update without PK's   }
  578.         SQLUI_IUOPT_NOVIEW            =  -3204;{ cant update views          }
  579.         SQLUI_VIEW_REF                =  -3205;{ cant replace ref cons view }
  580.         SQLUI_VIEW_SQUERY             =  -3206;{ cant replace subquery view }
  581.  
  582.         SQLUIW_RCSEQ_INV              =  -3300;{ row/col sequence invalid   }
  583.         SQLUIW_BOF_INV                =  -3301;{ BOF in middle of WSF file  }
  584.         SQLUIW_EARLY_EOF              =  -3302;{ unexpected EOF             }
  585.         SQLUI_IXFONLY                 =  -3303;{ filetype not ixf           }
  586.         SQLUI_DELTABLE                =  -3304;{ table does not exist       }
  587.         SQLUI_CREATE_ERR              =  -3305;{ table already exists       }
  588.         SQLUI_EXECUTE_ERR             =  -3306;{ SQL error during insert    }
  589.         SQLUI_INC_COL                 =  -3307;{ incomplete col info        }
  590.         SQLUI_CP_MISMATCH             =  -3308;{ codepage mismatch          }
  591.         SQLUI_DBLDATA                 =  -3309;{ double byte data found     }
  592.  
  593.         SQLUI_UNREC_CTYPE             =  -3310;{ unrec col type             }
  594.         SQLUI_INVCREC_FOR_CREATE      =  -3310;{ invalid IXF column         }
  595.         SQLUE_DISK_FULL               =  -3313;{ disk full                  }
  596.         SQLUII_ASTAMP_NOMATCH         =  -3314;{ 'A' data/ time not as 'H'  }
  597.         SQLUII_ACREC_BADVOL           =  -3315;{ invalid volume info        }
  598.         SQLUII_CLOSE_NOTLAST          =  -3316;{ error closing IXF file     }
  599.         SQLUW_FTMOD_INV               =  -3317;{ conflict in filetmod       }
  600.         SQLUEC_DUP_KEYWORD            =  -3318;{ keyword repeated/filetmod  }
  601.         SQLUI_ERR_CREATETAB           =  -3319;{ error creating table       }
  602.  
  603.         SQLUEC_NOROOM_AFTERKW         =  -3320;{ keyword at end of filetmod }
  604.         SQLUI_LOGFULL_INSERR          =  -3321;{ circular log full          }
  605.         SQLUE_SEM_ERROR               =  -3322;{ semaphore error            }
  606.         SQLUE_INVCOLTYPE              =  -3324;{ column type invalid        }
  607.         SQLUEI_SYSERROR               =  -3327;{ system error               }
  608.  
  609.         SQLUII_ODD2GRAPH              =   3330;{ odd leng char -> graphic   }
  610.         SQLUE_OEACCESS                =  -3331;{ permission denied          }
  611.         SQLUE_OEMFILE                 =  -3332;{ too many files open        }
  612.         SQLUE_OENOENT                 =  -3333;{ no such file or directory  }
  613.         SQLUE_OENOMEM                 =  -3334;{ not enough memory          }
  614.         SQLUE_OENOSPC                 =  -3335;{ no space left              }
  615.  
  616.         SQLUIA_BAD_DCOL_METH          =  -3400;{ invalid method for ASC     }
  617.         SQLUI_DCOLM_ALL               =  -3401;{ invalid import method      }
  618.         SQLUIA_NULLLOC                =  -3402;{ zeroes as begin/end        }
  619.         SQLUIA_LOCPAIR                =  -3403;{ invalid pair               }
  620.         SQLUIA_LOCNUM                 =  -3404;{ invalid pair for number    }
  621.         SQLUIA_LOCDATE                =  -3405;{ invalid pair for date      }
  622.         SQLUIA_LOCTIME                =  -3406;{ invalid pair for time      }
  623.         SQLUIA_LOCSTAMP               =  -3407;{ invalid pair for timestamp }
  624.         SQLUIA_LOCLONG                =   3408;{ pair defines long field    }
  625.         SQLUIA_LOCSHORT               =   3409;{ pair defines short field   }
  626.         SQLUIA_LOCODD                 =  -3410;{ invalid pair for graphic   }
  627.         SQLUIA_CFGRAPH_NULLED         =   3411;{ value not graphic--null    }
  628.         SQLUIA_CFGRAPH_ROWREJ         =   3412;{ value not graphic--not null}
  629.         SQLUIA_SHORTFLDNULLED         =   3413;{ field too short--nulled    }
  630.  
  631.         SQLUE_MSG                     =  -3999;{ Export message             }
  632.  
  633.         { Roll-Forward Recovery SQLCODES }
  634.  
  635.         SQLU_INVALID_PARAM            =  -4904;{ invalid parameter          }
  636.         SQLU_INVALID_RANGE            =  -4905;{ invalid parameter range    }
  637.  
  638.  
  639.         { Configuration SQLCODES }
  640.  
  641.         SQLF_RC_SYSAUTH               =  -5001;{ only sysadm can chg Database
  642.                                                   Manager Config file        }
  643.         SQLF_RC_DBAUTH                =  -5002;{ only sysadm can chg Database
  644.                                                   Configuration file         }
  645.         SQLF_RC_SYSERR                =  -5005;{ system error               }
  646.         SQLF_RC_PATHNAME              =  -5010;{ path name error            }
  647.         SQLF_RC_INVNDB                =  -5011;{ invalid # of concurrent db }
  648.         SQLF_RC_INVNSS                =  -5012;{ invalid # of shared seg    }
  649.         SQLF_RC_INVRIO                =  -5013;{ invalid req I/O blk size   }
  650.         SQLF_RC_INVSIO                =  -5015;{ invalid serv I/O blk size  }
  651.         SQLF_RC_INVCHEAP              =  -5016;{ invalid communication heap }
  652.         SQLF_RC_INVRSHEAP             =  -5017;{ invalid remote service heap}
  653.         SQLF_RC_INVNUMRC              =  -5018;{ invalid max # remote connct}
  654.         SQLF_RC_INVNODENAME           =  -5020;{ invalid node name          }
  655.         SQLF_RC_INVSYSIDX             =  -5021; {Invalid system flag }
  656.         SQLF_RC_INVDBIDX              =  -5022; {Invalid database flag }
  657.         SQLF_RC_KCON                  =  -5025;{ not current sys config     }
  658.         SQLF_RC_INVSHPTHR             =  -5027;{ invalid sort heap threshold}
  659.         SQLF_RC_REL                   =  -5030;{ invalid release nbr        }
  660.         SQLF_RC_NEEDMIG               =  -5035;{ database needs migration;
  661.                                                   Release number is a back
  662.                                                   level.                     }
  663.         SQLF_RC_DBSYSTM               =  -5045;{ incompatible sys/db config
  664.                                                     (standalone)             }
  665.         SQLF_RC_DBSYS2                =  -5046;{  incompatible sys/db config
  666.                                                     (concurrent dbs)         }
  667.         SQLF_RC_INSMEM                =  -5047;{  insufficient memory to
  668.                                                    support stack switching   }
  669.         SQLF_RC_SYSCSUM               =  -5050;{ invalid sys config file    }
  670.         SQLF_RC_DBCSUM                =  -5055;{ invalid db config file     }
  671.         SQLF_RC_INVTKN                =  -5060;{ invalid token parameter    }
  672.         SQLF_RC_INVNT                 =  -5065;{ invalid node type          }
  673.         SQLF_RC_CNTINV                =  -5070;{ invalid count parameter    }
  674.         SQLF_RC_CNTBRK                =  -5075;{ interrupt received         }
  675.         SQLF_RC_INVNLL                =  -5080;{ invalid # of locklist      }
  676.         SQLF_RC_INVNBP                =  -5081;{ invalid # bufr pool pages  }
  677.         SQLF_RC_INVNDBF               =  -5082;{ invalid # of DB files open }
  678.         SQLF_RC_INVILF                =  -5083;{ invalid initial log size   }
  679.         SQLF_RC_INVSCP                =  -5084;{ invalid soft check pt val  }
  680.         SQLF_RC_INVNAP                =  -5085;{ invalid # of active appls  }
  681.         SQLF_RC_INVAHP                =  -5086;{ invalid application heapsz }
  682.         SQLF_RC_INVDHP                =  -5087;{ invalid database heap size }
  683.         SQLF_RC_INVDLT                =  -5088;{ invalid deadlock detection }
  684.         SQLF_RC_INVTAF                =  -5089;{ invalid # of total files open
  685.                                                     per application          }
  686.         SQLF_RC_INVSHP                =  -5090;{ invalid sortlist heap      }
  687.         SQLF_RC_INVLFE                =  -5091;{ invalid logfile extention  }
  688.         SQLF_RC_INVNLE                =  -5092;{ invalid # of log extention }
  689.         SQLF_RC_INVAGHP               =  -5093;{ invalid Sapphire agent heap}
  690.         SQLF_RC_INVMAL                =  -5094;{ invalid maxlocks per applic}
  691.         SQLF_RC_INVSTMHP              =  -5095;{ invalid statement heap     }
  692.         SQLF_RC_INVLOGPRIM            =  -5096;{ invalid number primary
  693.                                                   log files                  }
  694.         SQLF_RC_INVLOG2ND             =  -5097;{ invalid number of secondary
  695.                                                   log files                  }
  696.         SQLF_RC_INVLOGFSZ             =  -5098;{ invalid log file size      }
  697.         SQLF_RC_INVNEWLOGP            =  -5099;{ invalid new log path       }
  698.  
  699.         SQLF_RC_INVK1                 =  -5100;{ shared segs/# databases    }
  700.         SQLF_RC_INVDB1                =  -5101;{ incompatible logfile param }
  701.         SQLF_RC_INVDB2                =  -5102;{ incompatible file open par }
  702.         SQLF_RC_INVDB3                =  -5103;{ incompatible buffer pool and
  703.                                                     maximum # of appls       }
  704.         SQLF_RC_INVK2                 =  -5104;{ no DB's / req only         }
  705.         SQLF_RC_INVK3                 =  -5105;{ standalone nodetype does not
  706.                                                   support nodename           }
  707.  
  708.         SQLF_RC_RWS_EXIST             =  -5106;{ remote workstation has
  709.                                                   already been configured    }
  710.         SQLF_RC_RWS_SYSADM            =  -5107;{ <authid> does not have
  711.                                                   authority to add or drop
  712.                                                   a remote workstation       }
  713.         SQLF_RC_RWS_NOT_EXIST         =  -5108;{ remote workstation has not
  714.                                                   been previously setup using
  715.                                                   sqlarws                    }
  716.         SQLF_RC_RWS_MACHINENAME       =  -5109;{ machine name is missing or
  717.                                                   is too long.               }
  718.         SQLF_RC_RWS_INV_OPT           =  -5110;{ configuration option is
  719.                                                   not valid                  }
  720.         SQLF_RC_ENV_VAR_NOTDEF        =  -5111;{ Environment variable
  721.                                                   WKSTPROF is not defined    }
  722.         SQLF_RC_INV_BIT_VALUE         =  -5112;{ Invalid bit value
  723.                                                   must be 0 or 1             }
  724.         SQLF_RC_LF_1_3                =  -5120;{ Both R1 & R3 Log parameters
  725.                                                   may not be modified        }
  726.         SQLF_RC_INVDETS               =  -5121;{ Invalid DB config details  }
  727.         SQLF_RC_PROTECT               =  -5122;{ Database is copied protect }
  728.         SQLF_RC_LOGIO                 =  -5123;{ I/O Error with log header  }
  729.         SQLF_RC_INV_DBMENT            =  -5126;{ Invalid DBM Cfg file entry }
  730.         SQLF_RC_INVTOUT               =  -5130; {Invalid timeout value      }
  731.         SQLF_RC_INVAGT                =  -5131; {Invalid agent init range   }
  732.         SQLF_RC_INVDBAGT              =  -5132; {Invalid number of agents   }
  733.         SQLF_RC_INV_SHMEMSZ           =  -5133; {Invalid sz for shared mem  }
  734.         SQLF_RC_INVSQL                =  -5134; {Invalid SQL stmt size      }
  735.  
  736.  
  737. { Database Utility Commands -- Function Prototypes }
  738.  
  739. IMPORTS
  740.        { GET ADMINISTRATIVE AUTHORIZATIONS }
  741.        FUNCTION sqluadau (VAR a:sql_authorizations;
  742.                           VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  743.                 APIENTRY; 'SQLAPI32' name 'sqluadau';
  744.        { GET AUTHORIZATIONS }
  745.        FUNCTION sqluauth_api (VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  746.                 APIENTRY; 'SQLE32' name 'sqluauth_api';
  747.        { BACKUP }
  748.        FUNCTION sqluback_api (database:CSTRING;     { database }
  749.                               passwd:CSTRING;       { spare, was password }
  750.                               typ:LONGINT;            { type }
  751.                               drive:LONGWORD;           { drive }
  752.                               VAR asqlca:TSQLCA):INTEGER;    { SQLCA }
  753.                 APIENTRY; 'SQLUB32' name 'sqluback_api';
  754.        { RESTORE }
  755.        FUNCTION sqludres_api (database:CSTRING;     { database }
  756.                               drive:LONGWORD;           { database drive }
  757.                               passwd:CSTRING;       { spare, was password }
  758.                               inputdrive:LONGWORD;      { input drive }
  759.                               callerac:LONGINT;       { callerac }
  760.                               VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  761.                 APIENTRY; 'SQLUB32' name 'sqludres_api';
  762.        { EXPORT FROM }
  763.        FUNCTION sqluexp_api (database:CSTRING;      { database }
  764.                              passwd:CSTRING;        { spare, was password }
  765.                              datafile:CSTRING;      { datafile }
  766.                              VAR asqldcol:SQLDCOL;  { dcoldata }
  767.                              VAR asqlchar:TSQLCHAR;  { tcolstrg }
  768.                              VAR filetype;          { filetype }
  769.                              VAR asqlchar2:TSQLCHAR; { filetmod }
  770.                              msgfile:CSTRING;       { msgfile }
  771.                              caction:LONGINT;         { caller action }
  772.                              VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  773.                 APIENTRY; 'SQLUB32' name 'sqluexp_api';
  774.        FUNCTION sqlufrol_api (database:CSTRING;     { database name }
  775.                               action:LONGWORD;          { action        }
  776.                               Stop:CSTRING;         { Stop Timestamp       }
  777.                               NFile:CSTRING;        { Next Archive File needed        }
  778.                               FFile:CSTRING;        { First Archive File to be deleted}
  779.                               LFile:CSTRING;        { Last Archive File to be deleted }
  780.                               RetStamp:CSTRING;     { Returned Timestamp   }
  781.                               VAR asqlca:TSQLCA):INTEGER;     { SQLCA                }
  782.                 APIENTRY; 'SQLUB32' name 'sqlufrol_api';
  783.        { IMPORT TO }
  784.        FUNCTION sqluimp_api  (database:CSTRING;     { database }
  785.                               passwd:CSTRING;       { spare, was password }
  786.                               datafile:CSTRING;     { datafile }
  787.                               VAR asqldcol:SQLDCOL; { dcoldata }
  788.                               VAR asqlchar:TSQLCHAR; { tcolstrg }
  789.                               VAR filetype;         { filetype }
  790.                               VAR asqlchar2:TSQLCHAR;{ filetmod }
  791.                               msgfile:CSTRING;      { msgfile }
  792.                               action:LONGINT;         { caller action }
  793.                               VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  794.                 APIENTRY; 'SQLUB32' name 'sqluimp_api';
  795.        { REORG }
  796.        FUNCTION sqlureor_api (database:CSTRING;     { database }
  797.                               passwd:CSTRING;       { spare, was password }
  798.                               table:CSTRING;        { table name }
  799.                               iname:CSTRING;        { iname }
  800.                               filepath:CSTRING;     { filepath }
  801.                               action:LONGINT;         { spare, was callerac }
  802.                               VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  803.                 APIENTRY; 'SQLUB32' name 'sqlureor_api';
  804.         { RUNSTATS }
  805.         FUNCTION sqlustat_api (table:CSTRING;      { table name }
  806.                                 nbr:LONGWORD;           { nbr indexes }
  807.                                 ilist:CSTRING;      { indexlist }
  808.                                 opt:CSTRING;        { statsopt }
  809.                                 lvl:CSTRING;        { sharelvl }
  810.                                 VAR asqlca:TSQLCA):INTEGER;  { SQLCA }
  811.                  APIENTRY; 'SQLUB32' name 'sqlustat_api';
  812.         { GET TABLE AUTH's }
  813.         FUNCTION sqlutbau (table:CSTRING;   { fully-qualified table name }
  814.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  815.                  APIENTRY; 'SQLUB32' name 'sqlutbau';
  816.         { GET ADMINISTRATIVE AUTHORIZATIONS }
  817.         FUNCTION SQLGADAU  (VAR a:sql_authorizations;
  818.                             VAR asqlca:TSQLCA):INTEGER;     { SQLCA                             }
  819.                  APIENTRY; 'SQLAPI32' name 'SQLGADAU';
  820.         { BACKUP }
  821.         FUNCTION SQLGBACK (spare:LONGWORD;      { Spare1 }
  822.                            dlen:LONGWORD;       { Database name length }
  823.                            Typ:LONGINT;       { Type }
  824.                            drive:LONGWORD;      { Drive }
  825.                            VAR asqlca:TSQLCA;{ SQLCA }
  826.                            Spare2:CSTRING;  { Spare2 }
  827.                            Database:CSTRING):INTEGER; { Database }
  828.                  APIENTRY; 'SQLAPI32' name 'SQLGBACK';
  829.         { RESTORE }
  830.         FUNCTION SQLGDRES (Spare1:LONGWORD;      { Spare1 }
  831.                            dlen:LONGWORD;        { Database length }
  832.                            action:LONGINT;     { Caller action }
  833.                            Drive:LONGWORD;       { Drive }
  834.                            ddrive:LONGWORD;      { Database drive }
  835.                            VAR asqlca:TSQLCA; { Sqlca }
  836.                            Spare2:CSTRING;   { Spare2 }
  837.                            DataBase:CSTRING):INTEGER; { Database }
  838.                  APIENTRY; 'SQLAPI32' name 'SQLGRES';
  839.         { EXPORT FROM }
  840.         FUNCTION SQLGEXP (mlen:LONGWORD;      { Message file name length }
  841.                           ftlen:LONGWORD;     { File type length }
  842.                           dlen:LONGWORD;      { Data file name length }
  843.                           Spare1:LONGWORD;    { Spare1 }
  844.                           dblen:LONGWORD;     { Database name length }
  845.                           action:LONGWORD;    { Caller action }
  846.                           VAR asqlca:TSQLCA; { SQLCA }
  847.                           msgfile:CSTRING;{ Message file  }
  848.                           VAR asqlchar:TSQLCHAR; { File mode }
  849.                           FileType:CSTRING; { File type }
  850.                           VAR asqlchar2:TSQLCHAR; { tcolstrg }
  851.                           VAR asqldcol:SQLDCOL;    { dcoldata }
  852.                           datafile:CSTRING; { datafile }
  853.                           Spare2:CSTRING;   { Spare2 }
  854.                           Database:CSTRING):INTEGER;    { Database }
  855.                  APIENTRY; 'SQLAPI32' name 'SQLGEXP';
  856.         { IMPORT TO }
  857.         FUNCTION SQLGIMP (mlen:LONGWORD;      { Message file name length }
  858.                           ftlen:LONGWORD;     { File type length }
  859.                           dlen:LONGWORD;      { Data file name length }
  860.                           Spare1:LONGWORD;    { Spare1 }
  861.                           dblen:LONGWORD;     { Database name length }
  862.                           action:LONGINT;   { Caller action }
  863.                           VAR asqlca:TSQLCA; { Sqlca }
  864.                           mfile:CSTRING;  { Message file  }
  865.                           VAR asqlchar:TSQLCHAR; { File mode }
  866.                           FileType:CSTRING; { File type }
  867.                           VAR asqlchar2:TSQLCHAR; { tcolstrg }
  868.                           VAR asqldcol:SQLDCOL;   { dcoldata }
  869.                           datafile:CSTRING;    { datafile }
  870.                           spare2:CSTRING;  { Spare2 }
  871.                           database:CSTRING):INTEGER;    { Database }
  872.                 APIENTRY; 'SQLAPI32' name 'SQLGIMP';
  873.         { REORG }
  874.         FUNCTION SQLGREOR (fplen:LONGWORD;      { Filepath length }
  875.                            tlen:LONGWORD;       { Table name length }
  876.                            ilen:LONGWORD;       { inname length }
  877.                            spare1:LONGWORD;     { Spare1 }
  878.                            dlen:LONGWORD;       { database length }
  879.                            spare3:LONGINT;    { Spare3 }
  880.                            VAR asqlca:TSQLCA;{ SQLCA }
  881.                            filepath:CSTRING;{ filepath }
  882.                            table:CSTRING;   { table name }
  883.                            iname:CSTRING;   { inname }
  884.                            spare2:CSTRING;  { Spare2 }
  885.                            database:CSTRING):INTEGER; { Database }
  886.                 APIENTRY; 'SQLAPI32' name 'SQLGREOR';
  887.         { RUNSTATS }
  888.         FUNCTION SQLGSTAT (tlen:LONGWORD;       { table name length }
  889.                            count:LONGWORD;      { number of indices }
  890.                            option:LONGWORD;     { stats option }
  891.                            slevel:LONGWORD;     { share level }
  892.                            VAR ilen:LONGWORD;   { index lengths }
  893.                            VAR asqlca:TSQLCA;{ SQLCA }
  894.                            VAR list:PChar;  { index list }
  895.                            table:CSTRING):INTEGER;  { table name }
  896.                  APIENTRY; 'SQLAPI32' name 'SQLGSTAT';
  897.         FUNCTION SQLGFROL ( dbnamel:LONGWORD;
  898.                             pointInTimel :LONGWORD;
  899.                             action :LONGWORD;
  900.                             VAR asqlca:TSQLCA;
  901.                             dbname:CSTRING;
  902.                             pointInTime:CSTRING;
  903.                             VAR nextArcFilel:WORD;
  904.                             VAR nextArcFile:CSTRING;
  905.                             VAR firstDeleteArcl:WORD;
  906.                             VAR firstDeleteArc:CSTRING;
  907.                             VAR lastDeleteArcl:WORD;
  908.                             VAR lastDeleteArc:CSTRING;
  909.                             VAR lastCommitTimel:WORD;
  910.                             VAR lastCommitTime:CSTRING):INTEGER;
  911.                  APIENTRY; 'SQLAPI32' name 'SQLGFROL';
  912.         FUNCTION SQLGDREF ( data_length:LONGWORD;
  913.                             VAR target_buffer;
  914.                             VAR source_buffer:POINTER):INTEGER;
  915.                  APIENTRY; 'SQLAPI32' name 'SQLGDREF';
  916.         FUNCTION SQLGADDR ( VAR inptr;
  917.                             VAR outptr:POINTER):INTEGER;
  918.                  APIENTRY; 'SQLAPI32' name 'SQLGADDR';
  919.         { Configuration Utility Commands }
  920.         { RESET DM CONFIGURATION   }
  921.         FUNCTION sqlfrsys (VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  922.                  APIENTRY; 'SQLF32' name 'sqlfrsys';
  923.         { RESET DATABASE CONFIGURATION }
  924.         FUNCTION sqlfrdbc (database:CSTRING;    { database }
  925.                            passwd:CSTRING;      { password }
  926.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  927.                  APIENTRY; 'SQLF32' name 'sqlfrdbc';
  928.         { UPDATE DM CONFIGURATION   }
  929.         FUNCTION sqlfusys (count:LONGWORD;              { count }
  930.                            VAR asqlfupd:SQLFUPD;    { list of items }
  931.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  932.                  APIENTRY; 'SQLF32' name 'sqlfusys';
  933.         { UPDATE DATABASE CONFIGURATION }
  934.         FUNCTION sqlfeudb (database:CSTRING;    { database }
  935.                            passwd:CSTRING;      { password }
  936.                            count:LONGWORD;          { count }
  937.                            VAR asqlfupd:SQLFUPD;{ list of items }
  938.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  939.                  APIENTRY; 'SQLF32' name 'sqlfeudb';
  940.         { RETURN DM CONFIGURATION }
  941.         FUNCTION sqlfxsys (count:LONGWORD;              { count }
  942.                            VAR asqlfupd:SQLFUPD;    { list of items }
  943.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  944.                  APIENTRY; 'SQLF32' name 'sqlfxsys';
  945.         { RETURN DATABASE CONFIGURATION }
  946.         FUNCTION sqlfxdbc (database:CSTRING;    { database }
  947.                            passwd:CSTRING;      { password }
  948.                            count:LONGWORD;          { count }
  949.                            VAR asqlfupd:SQLFUPD;{ list of items }
  950.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  951.                  APIENTRY; 'SQLF32' name 'sqlfxdbc';
  952.         { RESET DM CONFIGURATION }
  953.         FUNCTION SQLGRSYS (VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  954.                  APIENTRY; 'SQLAPI32' name 'SQLGRSYS';
  955.         { RESET DATABASE CONFIGURATION }
  956.         FUNCTION SQLGRDBC (spare1:LONGWORD;      { Spare1 }
  957.                            dlen:LONGWORD;        { Database name length }
  958.                            VAR asqlca:TSQLCA; { SQLCA }
  959.                            spare2:CSTRING;   { Spare2 }
  960.                            database:CSTRING):INTEGER;    { database }
  961.                  APIENTRY; 'SQLAPI32' name 'SQLGRDBC';
  962.         { UPDATE DM CONFIGURATION }
  963.         FUNCTION SQLGUSYS (count:LONGWORD;       { count }
  964.                            VAR llen:WORD;    { List of item lengths }
  965.                            VAR asqlfupd:SQLFUPD;    { list of items }
  966.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  967.                  APIENTRY; 'SQLAPI32' name 'SQLGUSYS';
  968.         { UPDATE DATABASE CONFIGURATION }
  969.         FUNCTION SQLGEUDB (spare1:LONGWORD;      { Spare1 }
  970.                            dlen:LONGWORD;        { Database name length }
  971.                            count:LONGWORD;       { count }
  972.                            VAR llen:WORD;    { List of item lengths }
  973.                            VAR asqlfupd:SQLFUPD;    { list of items }
  974.                            VAR asqlca:TSQLCA; { SQLCA }
  975.                            Spare2:CSTRING;   { Spare2 }
  976.                            Database:CSTRING):INTEGER;{ database }
  977.                  APIENTRY; 'SQLAPI32' name 'SQLGEUDB';
  978.         { RETURN DM CONFIGURATION }
  979.         FUNCTION SQLGXSYS (count:LONGWORD;      { count }
  980.                            VAR asqlfupd:SQLFUPD;    { list of items }
  981.                            VAR asqlca:TSQLCA):INTEGER;     { SQLCA }
  982.                  APIENTRY; 'SQLAPI32' name 'SQLGXSYS';
  983.         { RETURN DATABASE CONFIGURATION }
  984.         FUNCTION SQLGXDBC (Spare1:LONGWORD;      { Spare1}
  985.                            dlen:LONGWORD;        { Database name length }
  986.                            count:LONGWORD;       { count }
  987.                            VAR asqlfupd:SQLFUPD;    { list of items }
  988.                            VAR asqlca:TSQLCA; { SQLCA }
  989.                            spare2:CSTRING;   { Spare2 }
  990.                            database:CSTRING):INTEGER; { database                           }
  991.                  APIENTRY; 'SQLAPI32' name 'SQLGXDBC';
  992. END;
  993.  
  994. IMPLEMENTATION
  995.  
  996. END.