home *** CD-ROM | disk | FTP | other *** search
/ Windows 95 v2.4 Fix / W95-v2.4fix.iso / ACADWIN / ASE / ASICONST.H < prev    next >
Encoding:
C/C++ Source or Header  |  1995-02-08  |  41.3 KB  |  909 lines

  1. /*****************************************************************************
  2.     Name: asiconst.h                           ast_asi_inc_appl_asiconst_h
  3.  
  4.     Description:  Header file for AutoCAD SQL Interface.
  5.                   Constant definitions
  6.  
  7.     Author: Alexander Nikolayev
  8.             Autodesk, Inc.
  9.             Moscow, Russia.
  10.  
  11.       (C) Copyright 1991-93 by Autodesk, Inc.
  12.    ***************************************************************************
  13.       This program is copyrighted by Autodesk, Inc. and is  licensed
  14.       to you under the following conditions.  You may not distribute
  15.       or  publish the source code of this program in any form.   You
  16.       may  incorporate this code in object form in derivative  works
  17.       provided  such  derivative  works  are  (i.) are  designed and
  18.       intended  to  work  solely  with  Autodesk, Inc. products, and
  19.       (ii.)  contain  Autodesk's  copyright  notice  "(C)  Copyright
  20.       1988-1993 by Autodesk, Inc."
  21.    ***************************************************************************
  22.  
  23.       THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED
  24.       WARRANTY.  ALL IMPLIED WARRANTIES OF FITNESS FOR ANY PARTICULAR
  25.       PURPOSE AND OF MERCHANTABILITY ARE HEREBY DISCLAIMED.
  26.  
  27.    ***************************************************************************
  28.                            RESTRICTED RIGHTS LEGEND
  29.  
  30.       Use, duplication, or disclosure by the U.S. Government is subject
  31.       to restrictions set forth in FAR 52.227-19 (Commerical Computer
  32.       Software - Restricted Rights) and DFAR 252.227-7013 (c) (1) (ii)
  33.       (Rights in Technical Data and Computer Software), as applicable.
  34.    ***************************************************************************
  35.  
  36.  
  37.     Entry Points:
  38.  
  39.     Modification History:
  40.        27 Sep 1993  - ann    -  original written
  41.  
  42.     Bugs and restriction on use:
  43.  
  44.     Notes:
  45.  
  46. *****************************************************************************/
  47.  
  48. #ifndef ASI_ASICONST_H
  49. #define ASI_ASICONST_H asiconsth
  50.  
  51. ///////////////////////////////////////////////////////////////////////////
  52. //
  53. //  SPECIAL DEFINES FOR FUNCTION PROTOTYPES  
  54. //
  55. ///////////////////////////////////////////////////////////////////////////
  56. #ifdef _
  57. #undef _
  58. #endif /* _ */
  59. #ifdef PROTOTYPES
  60. #define _(x) x
  61. #else /* PROTOTYPES not allowed */
  62. #define _(x) ()
  63. #endif  /* PROTOTYPES */
  64.  
  65. #if defined(__cplusplus)
  66. extern "C" {
  67. #endif  /* __cplusplus */
  68.  
  69. ///////////////////////////////////////////////////////////////////////////
  70. //
  71. //  DEFINES 
  72. //
  73. ///////////////////////////////////////////////////////////////////////////
  74. #define ASI_MAX(x,y) ((x)>(y)?(x):(y))
  75. #define ASI_MIN(x,y) ((x)<(y)?(x):(y))
  76.  
  77. ///////////////////////////////////////////////////////////////////////////
  78. //
  79. // TYPEDEFS 
  80. //
  81. ///////////////////////////////////////////////////////////////////////////
  82. typedef enum {
  83.     kAsiUnknown = -1,   // Boolean value is undefined
  84.     kAsiFalse = 0,
  85.     kAsiTrue = 1,
  86.     kAsiBad = 0,
  87.     kAsiGood = 1
  88. } EAsiBoolean;
  89.  
  90. #define EAsiFlag EAsiBoolean
  91.  
  92. // SQL data types 
  93. typedef enum {
  94.     kAsiVector      = -2,     // Row
  95.     kAsiImplDefined = -1,     // Implementation-defined data type
  96.     kAsiTUnknown = 0,
  97.     kAsiChar = 1,
  98.     kAsiNumeric,
  99.     kAsiDecimal,
  100.     kAsiInteger,
  101.     kAsiSmallInt,
  102.     kAsiFloat,
  103.     kAsiReal,
  104.     kAsiDouble,
  105.     kAsiDateTime,
  106.     kAsiInterval,
  107.     kAsiCharVar = 12,
  108.     kAsiBit = 14,
  109.     kAsiBitVar
  110. } EAsiDataType;
  111.  
  112. // Date time types
  113. typedef enum {
  114.     kAsiDTUnknown = 0,
  115.     kAsiDate = 1,
  116.     kAsiTime,
  117.     kAsiTimeStamp,
  118.     kAsiTimeTZ,
  119.     kAsiTimeStampTZ
  120. } EAsiDTType;
  121.  
  122. // Interval types
  123. typedef enum {
  124.     kAsiIUnknown = 0,
  125.     kAsiYear = 1,
  126.     kAsiMonth,
  127.     kAsiDay,
  128.     kAsiHour,
  129.     kAsiMinute,
  130.     kAsiSecond,
  131.     kAsiYear2Month,
  132.     kAsiDay2Hour,
  133.     kAsiDay2Minute,
  134.     kAsiDay2Second,
  135.     kAsiHour2Minute,
  136.     kAsiHour2Second,
  137.     kAsiMinute2Second
  138. } EAsiIType;
  139.  
  140. //////////////////////////////////////////////////////////////
  141. //
  142. // Trim specification
  143. //
  144. typedef enum {
  145.   kAsiLeading = 0,
  146.   kAsiTrailing,
  147.   kAsiBoth
  148. } EAsiTrimSpec;
  149.  
  150.  
  151. // Host variable type
  152. //
  153. typedef enum {
  154.     kAsiHnull  = 0,           // Type undefined
  155.     kAsiHshort = 1,           // short int
  156.     kAsiHlong,                // long int
  157.     kAsiHfloat,               // float
  158.     kAsiHreal,                // double
  159.     kAsiHchar,                // null terminated character string
  160.     kAsiHunicode,             // unicode string (wide characters string)
  161.     kAsiHbinary,              // binary buffer
  162.     kAsiHdate,                // date  (ASI_DTDATE)
  163.     kAsiHtime,                // time  (ASI_DTTIME)
  164.     kAsiHtimestamp,           // timestamp (ASI_DTTIMESTAMP)
  165.     kAsiHyear,                // Year (ASI_IYEAR)
  166.     kAsiHyeartomonth,         // Year to Month (ASI_IYEARTOMONTH)
  167.     kAsiHmonth,               // Month (ASI_IMONTH)
  168.     kAsiHday,                 // Day (ASI_IDAY)
  169.     kAsiHdaytohour,           // Day to hour (ASI_IDAYTOHOUR)
  170.     kAsiHdaytominute,         // Day to minute (ASI_IDAYTOMINUTE)
  171.     kAsiHdaytosecond,         // Day to second (ASI_IDAYTOSECOND)
  172.     kAsiHhour,                // Hour (ASI_IHOUR)
  173.     kAsiHhourtominute,        // Hour to minute (ASI_IHOURTOMINUTE)
  174.     kAsiHhourtosecond,        // Hour to second (ASI_IHOURTOSECOND)
  175.     kAsiHminute,              // Minute (ASI_IMINUTE)
  176.     kAsiHminutetosecond,      // Minute to second (ASI_IMINUTETOSECOND)
  177.     kAsiHsecond               // Second (ASI_ISECOND)
  178. } EAsiHostType;
  179.  
  180. //
  181. //  EAsiDrvStatus, EAsiSIDataType, and EAsiSITransactionType 
  182. //  sepecify features and capabilities that connection supports.
  183. //  They can be retrieved by means of CAsiSQLObject::GetStatus function
  184. //
  185.  
  186. // Supported general features codes
  187. //
  188. typedef enum {
  189.    kAsiStatUsername       = 0x00000001      // User name
  190.   ,kAsiStatPassword       = 0x00000002      // Password
  191.   ,kAsiStatCatalog        = 0x00000004      // Catalog feature
  192.   ,kAsiStatSchema         = 0x00000008      // Schema feature
  193.   ,kAsiStatTimeZone       = 0x00000010      // Time zone
  194.   ,kAsiStatNames          = 0x00000020      // Character set names
  195.   ,kAsiStatTranslation    = 0x00000040      // Translations
  196.   ,kAsiStatInfoSchema     = 0x00000080      // Information schema facility
  197.   ,kAsiStatCDCatalog      = 0x00000100      // Catalog definition/drop catalog
  198.   ,kAsiStatCDSchema       = 0x00000200      // Schema definition/drop schema
  199.   ,kAsiStatCDTable        = 0x00000400      // Table definition/drop table
  200.   ,kAsiStatCDView         = 0x00000800      // View definition/drop view
  201.   ,kAsiStatCDIndex        = 0x00001000      // Index definition/drop index
  202.   ,kAsiStatCDTranslation  = 0x00002000      // Translation definition/drop translation
  203.   ,kAsiStatCDAssertion    = 0x00004000      // Create assertion/drop assertion
  204.   ,kAsiStatCDCharset      = 0x00008000      // Character set definition/drop character set
  205.   ,kAsiStatCDCollation    = 0x00010000      // Collation definition/drop collation
  206.   ,kAsiStatCDDomain       = 0x00020000      // Domain definition/drop domain
  207.   ,kAsiStatADomain        = 0x00040000      // Alter domain
  208.   ,kAsiStatATable         = 0x00080000      // Alter table
  209.   ,kAsiStatPrivileges     = 0x00100000      // Grant/revoke privileges
  210.   ,kAsiStatCommitRollback = 0x00200000      // Commit work/Rollback work
  211.   ,kAsiStatSetTrans       = 0x00400000      // Set transaction
  212.   ,kAsiStatSetConstr      = 0x00800000      // Set constraint
  213.   ,kAsiStatCursor         = 0x01000000      // Cursor manipulation (open, close, fetch next)
  214.   ,kAsiStatFetch          = 0x02000000      // Fetches Prior, First, Last, Absolute, Relative
  215.   ,kAsiStatSingSelect     = 0x04000000      // Select statement: single row 
  216.   ,kAsiStatDeletePos      = 0x08000000      // Delete: positioned
  217.   ,kAsiStatUpdatePos      = 0x10000000      // Update: positioned
  218.   ,kAsiStatDeleteSearch   = 0x20000000      // Delete: searched
  219.   ,kAsiStatUpdateSearch   = 0x40000000      // Update: searched
  220.   ,kAsiStatInsert         = 0x80000000      // Insert
  221.  
  222. } EAsiDrvStatus;
  223.  
  224.  
  225. // Supported data type 
  226. typedef enum {
  227.     kAsiSDImplDefined = 0x00000001,
  228.     kAsiSDChar        = 0x00000002,
  229.     kAsiSDNumeric     = 0x00000004,
  230.     kAsiSDDecimal     = 0x00000008,
  231.     kAsiSDInteger     = 0x00000010,
  232.     kAsiSDSmallInt    = 0x00000020,
  233.     kAsiSDFloat       = 0x00000040,
  234.     kAsiSDReal        = 0x00000080,
  235.     kAsiSDDouble      = 0x00000100,
  236.     kAsiSDDate        = 0x00000200,
  237.     kAsiSDTime        = 0x00000400,
  238.     kAsiSDTimeTZ      = 0x00000800,
  239.     kAsiSDTimestamp   = 0x00001000,
  240.     kAsiSDTimestampTZ = 0x00002000,
  241.     kAsiSDYM          = 0x00004000,
  242.     kAsiSDDT          = 0x00008000,
  243.     kAsiSDCharVar     = 0x00010000,
  244.     kAsiSDBit         = 0x00020000,
  245.     kAsiSDBitVar      = 0x00040000
  246. } EAsiSIDataType;
  247.  
  248. // Supported transaction types
  249. typedef enum {
  250.                               // Read/Write, Read Uncommitted is not possible
  251.   kAsiTSRWRC = 0x00000001,    // Read/Write, Read Committed
  252.   kAsiTSRWRR = 0x00000002,    // Read/Write, Repeatable Read
  253.   kAsiTSRWSR = 0x00000004,    // Read/Write, Serializable
  254.   kAsiTSRORU = 0x00000008,    // Read Only, Read Uncommitted 
  255.   kAsiTSRORC = 0x00000010,    // Read Only, Read Committed
  256.   kAsiTSRORR = 0x00000020,    // Read Only, Repeatable Read
  257.   kAsiTSROSR = 0x00000040     // Read Only, Serializable
  258. } EAsiSITransactionType;
  259.  
  260. // Driver features, capabilities and status codes
  261. //
  262. typedef enum {
  263.    kAsiSISupportedFeatures            // Supported base features codes (EAsiDrvStatus)
  264.   ,kAsiSITransaction                  // Transaction state
  265.   ,kAsiSICsrState                     // Open/Close cursor
  266.   ,kAsiSICsrSns                       // Sensitive/insensitive cursor
  267.   ,kAsiSICsrScr                       // Scroll/non scroll cursor
  268.   ,kAsiSICsrPos                       // Cursor position
  269.   ,kAsiSICsrUpd                       // Cursor updatability
  270.   ,kAsiSISyncDDA                      // Syncronize DDA (used internally)
  271.   ,kAsiSIDataType                     // Supported data types (EAsiSIDataType)
  272.   ,kAsiSIBindDataType                 // Supported bind data types  (EAsiSIDataType)
  273.   ,kAsiSITransactionType              // Supported types of tranactions (EAsiSITransactionType)
  274. } EAsiStatInfo;
  275.  
  276.  
  277. // SQL statement types
  278. //
  279. typedef enum {
  280.     kAsiTYPE_UNDEFINED = 0,   //  undefined
  281.     kAsiALLOC_CURSOR,         //  allocate cursor 
  282.     kAsiALLOC_STATEMENT,      //  allocate statement
  283.     kAsiALTER_DOMAIN,         //  alter domain
  284.     kAsiALTER_TABLE,          //  alter table
  285.     kAsiCREATE_ASSERTION,     //  assertion definition
  286.     kAsiCREATE_CATALOG,       //  create catalog
  287.     kAsiCREATE_CHARACTER_SET, //  character set definition
  288.     kAsiCREATE_COLLATION,     //  collation definition
  289.     kAsiCREATE_DOMAIN,        //  domain definition
  290.     kAsiCLOSE_CURSOR,         //  close cursor 
  291.     kAsiCOMMIT,               //  commit work
  292.     kAsiCONNECT,              //  connect 
  293.     kAsiCREATE_SCHEMA,        //  schema definition
  294.     kAsiCREATE_TABLE,         //  table definition
  295.     kAsiCREATE_VIEW,          //  view definition
  296.     kAsiCREATE_INDEX,         //  index definition
  297.     kAsiCREATE_TRANSLATION,   //  translation definition
  298.     kAsiCURSOR,               //  cursor specification
  299.     kAsiDELETE_CURSOR,        //  delete positioned
  300.     kAsiDELETE_WHERE,         //  delete searched
  301.     kAsiDEALLOCATE_STATEMENT, //  deallocate statement
  302.     kAsiDISCONNECT,           //  disconnect
  303.     kAsiDROP_ASSERTION,       //  drop assertion
  304.     kAsiDROP_CATALOG,         //  drop catalog
  305.     kAsiDROP_CHARACTER_SET,   //  drop character set
  306.     kAsiDROP_COLLATION,       //  drop collation
  307.     kAsiDROP_DOMAIN,          //  drop domain
  308.     kAsiDROP_SCHEMA,          //  drop schema
  309.     kAsiDROP_TABLE,           //  drop table
  310.     kAsiDROP_TRANSLATION,     //  drop translation
  311.     kAsiDROP_VIEW,            //  drop view
  312.     kAsiDROP_INDEX,           //  drop index
  313.     kAsiEXECUTE_IMMEDIATE,    //  immediate execute
  314.     kAsiEXECUTE,              //  execute
  315.     kAsiFETCH,                //  fetch
  316.     kAsiGRANT,                //  grant privileges
  317.     kAsiINSERT,               //  insert
  318.     kAsiOPEN,                 //  open cursor
  319.     kAsiPREPARE,              //  prepare
  320.     kAsiREVOKE,               //  revoke privileges
  321.     kAsiROLLBACK,             //  rollback work
  322.     kAsiSELECT,               //  select statement: single row
  323.     kAsiSET_CATALOG,          //  set catalog
  324.     kAsiSET_SCHEMA,           //  set schema
  325.     kAsiSET_TIME_ZONE,        //  set time zone
  326.     kAsiSET_NAMES,            //  set names 
  327.     kAsiSET_TRANSACTION,      //  set transaction
  328.     kAsiSET_CONSTRAINT,       //  set constraint mode 
  329.     kAsiSET_AUTHORIZATION,    //  set authorization identifier
  330.     kAsiUPDATE_CURSOR,        //  update: positioned
  331.     kAsiUPDATE_WHERE          //  update: searched
  332. } EAsiStatement;
  333.  
  334.  
  335.  
  336. // Transaction isolation level
  337. typedef enum {
  338.     kAsiTIUndefined = 0,
  339.     kAsiReadUncommitted = 1,
  340.     kAsiReadCommitted,
  341.     kAsiRepeatableRead,
  342.     kAsiSerializable
  343. } EAsiTILevel;
  344.  
  345. // Transaction mode
  346. typedef enum {
  347.     kAsiTMUndefined = 0,
  348.     kAsiTReadOnly = 1,
  349.     kAsiTReadWrite
  350. } EAsiTMode;
  351.  
  352. // default diagnostics size
  353. #define  DefaultDiagSize 32
  354.  
  355. // Defer or immediate constriant checking
  356. typedef enum {
  357.   kAsiCDefer = 1,
  358.   kAsiCImmediate
  359. } EAsiConstrCheck;
  360.  
  361.  
  362. // Cursor scrollability
  363. typedef enum {
  364.     kAsiNonScroll = 0,
  365.     kAsiScroll = 1
  366. } EAsiCurScr;
  367.  
  368. // Cursor Sensitivity
  369. typedef enum {
  370.     kAsiSnsUndef = 0,      // Cursor sensitivity is undefined
  371.     kAsiInsensitive = 1
  372. } EAsiCurSns;
  373.  
  374. // Fetch direction
  375. typedef enum {
  376.     kAsiNext = 1,
  377.     kAsiPrior,
  378.     kAsiFirst,
  379.     kAsiLast,
  380.     kAsiAbsolute,
  381.     kAsiRelative
  382. } EAsiDirection;
  383.  
  384. // Cursor position
  385. //
  386. typedef enum {
  387.     kAsiCPUnknown = 0,     // Position unknown
  388.     kAsiTos       = 1,     // Before the first row
  389.     kAsiEos       = 2,     // After the last row
  390.     kAsiBnr       = 3,     // Before row (on deleted row)
  391.     kAsiOcr       = 4      // Current row
  392. } EAsiCurPos;
  393.  
  394. //  Coercibility attributes
  395. //
  396. typedef enum {
  397.    kAsiCACoercible = 0,    // Coercible
  398.    kAsiCAImplicit  = 1,    // Implicit
  399.    kAsiNoCollation = 2,    // No collating sequence 
  400.    kAsiCAExplicit  = 3     // Explicit
  401. } EAsiCAttr;
  402.  
  403.  
  404. //////////////////////////////////////////////////////////////////
  405. //
  406. // Default, minimal and maximal setting for ASI data
  407. // 
  408. #define MaxCharLength             256
  409. #define DefaultCharLength         1
  410.  
  411. #define MaxBinaryLength           (256*8)
  412. #define DefaultBinaryLength       1
  413.  
  414. #define SmallIntPrecision         6
  415.  
  416. #define IntegerPrecision          10
  417.  
  418. #define MaxNumericPrecision       32
  419. #define MaxNumericScale           MaxNumericPrecision
  420. #define DefaultNumericPrecision   12
  421. #define DefaultNumericScale       0
  422.  
  423. #define MaxDecimalPrecision       32
  424. #define MaxDecimalScale           MaxDecimalPrecision
  425. #define DefaultDecimalPrecision   12
  426. #define DefaultDecimalScale       0
  427.  
  428. #define MaxFloatPrecision         32
  429. #define DefaultFloatPrecision     16
  430.  
  431. #define RealPrecision             32
  432.  
  433. #define DoublePrecision           64
  434.  
  435. #define MaxLeadingFieldPrec       6    // Interval 
  436. #define MaxFracSecondPrec         8
  437. #define MinLeadingFieldPrec       2
  438. #define MinFracSecondPrec         0
  439. #define DefaultLeadingFieldPrec   4
  440. #define DefaultFracSecondPrec     0
  441.  
  442. #define MaxTimePrecision          6
  443. #define DefaultTimePrecision      0
  444.  
  445. #define MaxTimeStampPrecision     6
  446. #define DefaultTimeStampPrecision 6
  447.  
  448. #define MaxIdentLength            256
  449.  
  450.  
  451. //////////////////////////////////////////////////////////////////
  452. //
  453. // Implementation defined data definition
  454. //
  455. #define AsiImplDefFxdMin          0000 /* 0000 - 1999 reserved for ASI */
  456. #define AsiImplDefFxdUser         2000 /* 2000 - 3999 avail for User */
  457. #define AsiImplDefFxdMax          3999
  458. #define AsiImplDefRawMin          4000 /* 4000 - 5999 reserved for ASI */
  459. #define AsiImplDefRawUser         6000 /* 6000 - 8000 avail for User */
  460. #define AsiImplDefRawMax          8000
  461.  
  462.  
  463. //////////////////////////////////////////////////////////////////////
  464. //
  465. // Condition information item names
  466. //
  467. typedef enum {                // Type of data in buffer
  468.     kAsiConditionNumber = 1,  // Integer
  469.     kAsiMessageLength,        // Integer
  470.     kAsiMessageOctetLength,   // Integer
  471.  
  472.     kAsiConditionStrings = 20,
  473.     kAsiReturnedSQLSTATE,     // Char
  474.     kAsiClassOrigin,          // Char
  475.     kAsiSubClassOrigin,       // Char
  476.     kAsiServerName,           // Char
  477.     kAsiConnectionName,       // Char
  478.     kAsiConstraintCatalog,    // Char
  479.     kAsiConstraintSchema,     // Char
  480.     kAsiConstraintName,       // Char
  481.     kAsiCatalogName,          // Char
  482.     kAsiSchemaName,           // Char
  483.     kAsiTableName,            // Char
  484.     kAsiColumnName,           // Char
  485.     kAsiCursorName,           // Char
  486.     kAsiMessageText           // Char
  487. } EAsiDiag;
  488.  
  489. typedef unsigned int AsiDiag;
  490. #define MinUserDefDiagParam         0x0400
  491.  
  492. //////////////////////////////////////////////////////////////////////
  493. //
  494. // Exception conditions used in ASI.
  495. //
  496. typedef enum {
  497.     kAsiErrUndefined = -1
  498.  
  499.    ,kAsiNoError = 0   // Successful completion
  500.    ,kAsiOKAY = 0
  501.  
  502.  
  503.    // The following error codes are for standard SQLSTATE values
  504.    //
  505.    ,kAsiSQLWARN =           0x0100  // warning 
  506.    ,kAsiSQLWARNCUROP                // cursor operation conflict 
  507.    ,kAsiSQLWARNDISC                 // disconnect error 
  508.    ,kAsiSQLNULLSET                  // null value eliminated in set function 
  509.    ,kAsiSQLWARNRTRUNC               // string data, right truncation 
  510.    ,kAsiSQLWARNINSUFDESC            // insufficient item descriptor areas 
  511.    ,kAsiSQLWARNREVOKE               // privilege not revoked 
  512.    ,kAsiSQLWARNGRANT                // privilege not granted 
  513.    ,kAsiSQLWARNBITPAD               // implicit zero-bit padding 
  514.    ,kAsiSQLWARNLONGCOND             // search condition too long for information schema 
  515.    ,kAsiSQLWARNLONGEXPR             // query expression too long for information schema 
  516.  
  517.    ,kAsiSQLNODATA =         0x0200  // no data 
  518.    ,kAsiSQLNDSearchStm              // rows were not modified by searched statement
  519.    ,kAsiSQLNDSingSelect             // row doesn't match single select
  520.    ,kAsiSQLNDEOS                    // fetch: end of selection set
  521.    ,kAsiSQLNDTOS                    // fetch: top of selection set
  522.  
  523.    ,kAsiSQLDYN    =         0x0700  // dynamic SQL error 
  524.    ,kAsiSQLDYNUPMISMATCH            // using clause does not match dynamic parameter specification 
  525.    ,kAsiSQLDYNUTMISMATCH            // using clause does not match target specification 
  526.    ,kAsiSQLDYNEXECUR                // cursor specification cannot be executed 
  527.    ,kAsiSQLDYNUSINGMIS              // using clause required for dynamic parameter 
  528.    ,kAsiSQLDYNNOTCURSOR             // prepared statement not a cursor specification 
  529.    ,kAsiSQLDYNAVIOLATION            // restricted data type attribute violation 
  530.    ,kAsiSQLDYNINTOMIS               // using clause required for result fields 
  531.    ,kAsiSQLDYNINVDSCCOUN            // invalid descriptor count 
  532.    ,kAsiSQLDYNINVDSCIDX             // invalid descriptor index 
  533.    ,kAsiSQLDYNNOTPREPARED           // statement was not prepared
  534.    ,kAsiSQLDYNAlreadyBound          // columns were already bound with host buffers
  535.    
  536.    ,kAsiSQLCON     =        0x0800  // connection exception 
  537.    ,kAsiSQLCONCLIENT                // SQL-client unable to establish SQL- connection 
  538.    ,kAsiSQLCONNAMEUSE               // connection name in use 
  539.    ,kAsiSQLCONNOTEXIST              // connection does not exist
  540.    ,kAsiSQLCONSERVER                // SQL-server rejected establishment of SQL-connection 
  541.    ,kAsiSQLCONUN5
  542.    ,kAsiSQLCONFAILURE               // connection failure   
  543.    ,kAsiSQLCONTRANS                 // transaction resolution unknown 
  544.                                     
  545.    ,kAsiSQLCURCONFLICT =    0x0900  // cursor operation conflict  
  546.    
  547.    ,kAsiSQLNOTSUPPORTED =   0x0A00  // feature not supported 
  548.    ,kAsiSQLMULTRANS                 // multiple environment transaction 
  549.    
  550.    ,kAsiSQLCARVIOLATION  =  0x2100  // cardinality violation 
  551.    
  552.    ,kAsiSQLDATA          =  0x2200  // data exception 
  553.    ,kAsiSQLDATASRTRUN               // string data, right truncation 
  554.    ,kAsiSQLDATANOIND                // null value, no indicator parameter */ 
  555.    ,kAsiSQLDATANUMRANGE             // numeric value out of range 
  556.    ,kAsiSQLDATA4                    // Undefined
  557.    ,kAsiSQLDATAASSIGN               // error in assignment 
  558.    ,kAsiSQLDATAFETSEQ               // invalid fetch sequence
  559.    ,kAsiSQLDATADTFORMAT             // invalid datetime format
  560.    ,kAsiSQLDATADTOVF                // datetime field overflow
  561.    ,kAsiSQLDATATZDISP               // invalid time zone displacement value 
  562.    ,kAsiSQLDATA10                   // Undefined
  563.    ,kAsiSQLDATASUBSTRERR            // substring error 
  564.    ,kAsiSQLDATAZERODIV              // division by zero
  565.    ,kAsiSQLDATA13                   // Undefined
  566.    ,kAsiSQLDATAINFORMAT             // invalid interval format (ASI extra)
  567.    ,kAsiSQLINTEROVF                 // interval field overflow 
  568.    ,kAsiSQLDATA16                   // Undefined
  569.    ,kAsiSQLDATA17                   // Undefined
  570.    ,kAsiSQLDATACHARCAST             // invalid character value for cast
  571.    ,kAsiSQLDATAESCCHAR              // invalid escape character 
  572.    ,kAsiSQLDATA20                   // Undefined
  573.    ,kAsiSQLDATACHAR                 // character not in repertoire
  574.    ,kAsiSQLDATAINDIVF               // indicator overflow 
  575.    ,kAsiSQLDATAPARVAL               // invalid parameter value 
  576.    ,kAsiSQLDATACSTR                 // unterminated C string 
  577.    ,kAsiSQLDATAESCSEQ               // invalid escape sequence 
  578.    ,kAsiSQLDATASTRLEN               // string data, length mismatch 
  579.    ,kAsiSQLDATATRIMERR              // trim error 
  580.    ,kAsiSQLDATADTUNDF               // datetime field underflow
  581.  
  582.    ,kAsiSQLINTCONSTR     =  0x2300  // integrity constraint violation 
  583.    
  584.    ,kAsiSQLINVCURSTATE   =  0x2400  // invalid cursor state 
  585.    ,kAsiSQLICSDeallocStm =  0x2401  // deallocate statement associated with open cursor
  586.    ,kAsiSQLICSClose      =  0x2402  // cursor is in close state
  587.    ,kAsiSQLICSNotScroll  =  0x2403  // can only fetch next in non-scroll cursor
  588.    ,kAsiSQLICSReadOnly   =  0x2404  // cursor is read only
  589.    ,kAsiSQLICSNoCurRow   =  0x2405  // cursor is not positioned on row
  590.    ,kAsiSQLICSOpen       =  0x2406  // cursor is in open state
  591.    
  592.    ,kAsiSQLINVTRSTATE    =  0x2500  // invalid transaction state 
  593.    ,kAsiSQLITSActive     =  0x2501  // disconnect while transaction is active
  594.    ,kAsiSQLITSNotActive  =  0x2502  // transaction is in-active
  595.    ,kAsiSQLITSSetTrans   =  0x2503  // set transaction (transaction is active)
  596.    ,kAsiSQLINVTSTabRO    =  0x2504  // Table is read only
  597.    ,kAsiSQLINVTSTrsRO    =  0x2505  // Transaction is read only
  598.    ,kAsiSQLINVTSAuth     =  0x2506  // Set authorization id but transaction is active
  599.  
  600.    
  601.    ,kAsiSQLINVSTMNAME    =  0x2600  // invalid SQL statement name 
  602.    
  603.    ,kAsiSQLTRIGCHNVIOL   =  0x2700  // triggered data change violation 
  604.    
  605.    ,kAsiSQLINVAUTHID     =  0x2800  // invalid authorization specification 
  606.    
  607.    ,kAsiSQLDIRSYNACS     =  0x2A00  // syntax error or access rule violation in direct SQL statement 
  608.    
  609.    ,kAsiSQLPRIVEXIST     =  0x2B00  // dependent privilege descriptor still exist 
  610.    
  611.    ,kAsiSQLINVCHARSET    =  0x2C00  // invalid character set name   
  612.    
  613.    ,kAsiSQLINVTRTERM     =  0x2D00  // invalid transaction termination    
  614.    
  615.    ,kAsiSQLINVDESC       =  0x3300  // invalid SQL descriptor name 
  616.    
  617.    ,kAsiSQLINVCURNAME    =  0x3400  // invalid cursor name 
  618.    
  619.    ,kAsiSQLINVCONDNUM    =  0x3500  // invalid condition number 
  620.    
  621.    ,kAsiSQLDYNSYNACS     =  0x3700  // syntax error or access rule violation in dynamic SQL statement 
  622.     // ASI syntax errors
  623.    ,kAsiErSynWrStr                  // Wrong string format
  624.    ,kAsiErSynLongStr                // String is too long (character, binary)
  625.    ,kAsiErSynMisQuot                // Missing right quotas 
  626.    ,kAsiErSynHexDigit               // Wrong Hexadecimal digit
  627.    ,kAsiErSynBinDigit               // Wrong Binary digit
  628.    ,kAsiErSynInterval               // Wrong interval string
  629.    ,kAsiErSynTypeMatch              // Data types mismatch 
  630.    ,kAsiErSynCollate                // Invalid collate clause
  631.    ,kAsiErSynWrTimeZone             // Misleading time zone specification 
  632.    ,kAsiErSynMisZone                // Missing ZONE keyword  
  633.    ,kAsiErSynNotTimeZone            // Not a time zone interval
  634.    ,kAsiErSynUnbalPar               // Unbalance parenthesis
  635.    ,kAsiErSynExprEx                 // Expression expected
  636.    ,kAsiErSynMisCol                 // Missing column specification 
  637.    ,kAsiErSynWrColSpec              // Wrong column specification 
  638.    ,kAsiErSynNoLeftPar              // Left parenthesis expected 
  639.    ,kAsiErSynMlStar                 // Misleading star symbol
  640.    ,kAsiErSynMisIn                  // Expected IN keyword
  641.    ,kAsiErSynWrDTField              // Wrong datetime field for extraction
  642.    ,kAsiErSynMisFrom                // Expected FROM keyword
  643.    ,kAsiErSynMisUsing               // Expected USING keyword
  644.    ,kAsiErSynFOUorTR                // Form-of-use or translation name expected
  645.    ,kAsiErSynMisTimePrec            // Missing time precision
  646.    ,kAsiErSynWrCollName             // Wrong collation name
  647.    ,kAsiErSynWrSetSq                // Set function or subquery can't be set function argument
  648.    ,kAsiErSynNoComma                // Missing comma
  649.    ,kAsiErSynNoWhen                 // Missing when clause
  650.    ,kAsiErSynMisThen                // Missing then clause
  651.    ,kAsiErSynMisEnd                 // Missing END 
  652.    ,kAsiErSynWrNot                  // Wrong usage of NOT 
  653.    ,kAsiErSynNull                   // NULL expected 
  654.    ,kAsiErSynCompare                // Compare operator expected 
  655.    ,kAsiErSynWrComma                // Wrong comma position
  656.    ,kAsiErSynMask                   // Mask should be of character type
  657.    ,kAsiErSynEsc                    // Escape character expected 
  658.    ,kAsiErSynMisSq                  // Subquery expected
  659.    ,kAsiErSynAndBet                 // AND was missed in BETWEEN predicate 
  660.    ,kAsiErSynNotJoin                // Not a joined table
  661.    ,kAsiErSynMisJoin                // Missing JOIN keyword
  662.    ,kAsiErSynWrNatural              // Union join can't be natural union 
  663.    ,kAsiErSynMisJoinSpec            // Misleading join specification
  664.    ,kAsiErSynMisCorName             // Missing correlation name 
  665.    ,kAsiErSynWrTabSpec              // Wrong table specification 
  666.    ,kAsiErSynEmptyList              // List of columns is empty 
  667.    ,kAsiErSynNoJoinSpec             // Missing join specification
  668.    ,kAsiErSynMisName                // Missing database object name 
  669.    ,kAsiErSynMisQueryPrimary        // Missing query primary
  670.    ,kAsiErSynEEEEEEEEEEEEEEE        // Not Used             
  671.    ,kAsiErSynNotJoinedTable         // Not a joined table
  672.    ,kAsiErSynMisTabValConstr        // Missing table value constructor
  673.    ,kAsiErSynMisSelect              // Missing SELECT keyword
  674.    ,kAsiErSynMisColName             // Missing column name
  675.    ,kAsiErSynMisGroup               // Selection list contains set functions and columns 
  676.                                     // references but GROUP BY clause was missed 
  677.    ,kAsiErSynNotScalar              // Scalar expression expected
  678.    ,kAsiErSynElementInParen         // Element can't be in parenthesis
  679.    ,kAsiErSynOvrlDegree             // Wrong overlaps operand degree 
  680.    ,kAsiErSynDegreeViolation        // Degree violation
  681.    ,kAsiErSynMisAs                  // Missing keyword AS 
  682.    ,kAsiErSynWrongCast              // Wrong cast
  683.    ,kAsiErSynInvalidDomain          // Invalid domain name
  684.    ,kAsiErSynCharExpected           // CHAR expected
  685.    ,kAsiErSynTypeExpected           // Data type specification expected 
  686.    ,kAsiErSynWrongPrecLength        // Wrong precision or length
  687.    ,kAsiErSynScaleExpected          // Scale expected
  688.    ,kAsiErSynWrongScale             // Wrong scale
  689.    ,kAsiErSynWithTimeZoneExpected   // Wrong WITH TIME ZONE sentence
  690.    ,kAsiErSynNoVarLength            // Missing varying length
  691.    ,kAsiErSynOrderByExpected        // ORDER BY expected
  692.    ,kAsiErSynReadOnlyExpected       // READ ONLY expected
  693.    ,kAsiErSynWrongSortKey           // Wrong sort key
  694.    ,kAsiErSynEmptySortList          // Empty sort list
  695.    ,kAsiErSynWrongToken             // Wrong token was met 
  696.    ,kAsiErSynWrTabName              // Wrong table name
  697.    ,kAsiErSynMisOf                  // Missing keyword OF 
  698.    ,kAsiErSynMisCursorName          // Missing cursor name
  699.    ,kAsiErSynMisSet                 // Missing keyword SET
  700.    ,kAsiErSynMisBecome              // = expected in UPDATE set clause
  701.    ,kAsiErSynMisInto                // Missing INTO keyword 
  702.    ,kAsiErSynMisValues              // Missing VALUES keyword 
  703.    ,kAsiErSynMisTarget              // Missing target specification
  704.    ,kAsiErSynDubTransMode           // Diplicate definition of transaction mode
  705.    ,kAsiErSynMisSize                // Missing SIZE keyword
  706.    ,kAsiErSynWrDiagSize             // Wrong diagnostics area size
  707.    ,kAsiErSynMisTransMode           // Transaction modes are not specified
  708.    ,kAsiErSynInCompLevelMode        // Incompatible transaction access mode and isolation level
  709.    ,kAsiErSynWrConstrChkMode        // Wrong constraint checking mode
  710.    ,kAsiErSynWrConstrName           // Wrong constraint name
  711.    ,kAsiErSynMisRead                // Missing READ keyword 
  712.    ,kAsiErSynMisAuthorization       // Missing AUTHORIZATION keyword
  713.    ,kAsiErSynMisTemporary           // Missing TEMPORARY keyword
  714.    ,kAsiErSynMisTable               // Missing TABLE keyword
  715.    ,kAsiErSynOnCommit               // Shall be ON COMMIT
  716.    ,kAsiErSynNotTemporary           // Commit behaviour only for temporary table
  717.    ,kAsiErSynWrComBehaviour         // Wrong commit behaviour
  718.    ,kAsiErSynMisRows                // Missing ROWS keyword
  719.    ,kAsiErSynMisTableName           // Missing table name
  720.    ,kAsiErSynWrCheckTime            // Wrong constraint time specification
  721.    ,kAsiErSynMisDeferrable          // Keyword DEFERRABLE expected
  722.    ,kAsiErSynWrNotDefer             // Initialy deferred constraint can't be not deferrable
  723.    ,kAsiErSynNotNull                // Not Null shall be specified for constraint
  724.    ,kAsiErSynPrimaryKey             // Primary key shall be specified for constraint
  725.    ,kAsiErSynMisConstr              // Missing constraint specification
  726.    ,kAsiErSynMisRefSpec             // Missing references specification
  727.    ,kAsiErSynMisRefTable            // Referenced table and columns expected
  728.    ,kAsiErSynWrMatchType            // Wrong match type of constraint 
  729.    ,kAsiErSynSetAction              // Set triggered action expected
  730.    ,kAsiErSynDuplAction             // Duplicated triggered action specification
  731.    ,kAsiErSynMisTrigRule            // Missing triggered rule   
  732.    ,kAsiErSynForeignKey             // Foreign key shall be specified for constraint
  733.    ,kAsiErSynNoColDef               // No column definitions
  734.    ,kAsiErSynMisAlterAction         // Missing alter action
  735.    ,kAsiErSynDropDefault            // Drop default action expected
  736.    ,kAsiErSynSetDefault             // Set default action expected
  737.    ,kAsiErSynMisDropBehaviour       // Missing drop behaviour
  738.    ,kAsiErSynNotCheckConstr         // Domain constraint shall be check constraint
  739.    ,kAsiErSynMisCheckOption         // CHECK OPTION expected
  740.    ,kAsiErSynMisCharSet             // CHARACTER SET expected
  741.    ,kAsiErSynMisCharSetSource       // Character set source expected
  742.    ,kAsiErSynCharSetExp             // Character set expected
  743.    ,kAsiErSynPadAttr                // Pad attribute expected
  744.    ,kAsiErSynMisTransName           // Missing translation name
  745.    ,kAsiErSynCollationExp           // Collation expected
  746.    ,kAsiErSynMisExternColl          // Missing external collation
  747.    ,kAsiErSynMisTo                  // Missing TO keyword 
  748.    ,kAsiErSynMisOn                  // Missing ON keyword 
  749.    ,kAsiErSynMisGrantOption         // GRANT OPTION expected
  750.    ,kAsiErSynMisFor                 // Missing FOR keyword 
  751.    ,kAsiErSynMisObjectName          // Missing object name
  752.    ,kAsiErSynMisGrantee             // Missing grantee
  753.    ,kAsiErSynAllPrivileges          // ALL PRIVILEGES expected
  754.    ,kAsiErSynMisIndex               // INDEX keyword expected
  755.    ,kAsiErSynAuthorExpected         // Authorization identifier expected
  756.    ,kAsiSynErDublColumnName         // Duplicate column name
  757.    ,kAsiSynErAmbTabRef              // Ambigious table reference
  758.    ,kAsiSynErTableNotFound          // Table name is not found (+ table name)
  759.    ,kAsiSynErColumnNotFound         // Column name is not found (+ column name)
  760.    ,kAsiSynErAmbColRef              // Ambigious column reference (+ column name)
  761.    ,kAsiSynErWrongParameterUsage    // Parameter was specified in wrong place
  762.    ,kAsiSynErLocalCol               // Column shall be local reference
  763.    ,kAsiSynErOuterCol               // Column shall be outer reference
  764.    ,kAsiSynErDuplDistinct           // Duplicate distinct in query specification
  765.    ,kAsiSynErArgNotColumn           // Distinct argument shall be column reference
  766.    ,kAsiSynErNoCorrColumns          // Corresponding column were not found
  767.    ,kAsiSynErWrongCorrColumn        // Wrong corresponding column name
  768.    ,kAsiSynErMustBeGroupCol         // Column reference must be a group column
  769.    ,kAsiErSynMisLeadSetFunc         // Misleading set function usage
  770.    ,kAsiErSynWrongEscLength         // Escape character must be 1 symbol length
  771.    ,kAsiErSynSimpleValue            // Should be simple value
  772.    ,kAsiErSynInvOrderSpec           // Invalid order specification
  773.    ,kAsiErSynMustBeOnlyCol          // Column shall be the single outer reference
  774.    ,kAsiErSynCursorNotFound         // Cursor name not found
  775.    ,kAsiErSynUpdateColDupl          // Column name duplicates in the set clause
  776.    ,kAsiErSynDefaultUse             // DEFAULT shall be specified in INSERT 
  777.    ,kAsiErSynWrColInsert            // Wrong column name in insert list
  778.    ,kAsiErSynNotCastable            // Expression can't be casted to the specified type
  779.    ,kAsiErSynMisDefValue            // Missing default value
  780.    ,kAsiErSynMisServerName          // Missing server name
  781.    ,kAsiErSynMisCorNameForRemote    // Missing correlation name for remote table
  782.    ,kAsiErSynWrongForUpdateColSpec  // Wrong column name in FOR UPDATE specification
  783.    ,kAsiErSynNotUpdateCol           // Not updatable column
  784.    ,kAsiErSynTransMode              // Invalid transaction mode specification
  785.    ,kAsiErSynMisLevel               // Missing LEVEL keyword
  786.    ,kAsiErSynUncommComm             // Uncommitted/committed expected
  787.    ,kAsiErSynDubIsoLevel            // Duplicated specification of isolation level
  788.    ,kAsiErSynDubDiagSize            // Duplicated diagnostics size specification
  789.    ,kAsiErSynMisIsoLevel            // missing isolation level specification
  790.    ,kAsiErSynCharSetUsage           // character set usage
  791.    ,kAsiErSynCollatingSeq           // collating sequence invalid syntax
  792.    ,kAsiErSynNotCharCollate         // collation can be specified only for character data
  793.    ,kAsiErSynColCharSetMisMatch     // character set doesn't has specified collation
  794.    ,kAsiErSynDuplJoinCol            // Duplicate column name in natural or named column join
  795.    ,kAsiSynErCorrJoinColNotFound    // common join columns not found
  796.  
  797.    ,kAsiSQLAMBCURSOR     =  0x3C00  // ambiguous cursor name 
  798.    
  799.    ,kAsiSQLINVCATNAME    =  0x3D00  // invalid catalog name    
  800.    
  801.    ,kAsiSQLINVSCHNAME    =  0x3F00  // invalid schema name     
  802.    
  803.    ,kAsiSQLTR            =  0x4000  // transaction rollback 
  804.    ,kAsiSQLTRINTEGRITY              // integrity constrint violation     
  805.    ,kAsiSQLTRSER                    // serialization failure  
  806.    ,kAsiSQLTRSTMCOMP                // statement completition unknown 
  807.    
  808.    ,kAsiSQLSYNACS        =  0x4200  // syntax error or access rule violation 
  809.    
  810.    ,kAsiSQLCHECKOPT      =  0x4400  // with check option violation 
  811.    
  812.    ,kAsiSQLRDA           =  0x8000  // Remote Database Access  
  813.    
  814.  
  815.     // Generic ASI excpetions
  816.     //                    
  817.    ,kAsiEXCP             =  0xA000  // ASI Exception 
  818.    ,kAsiEXCPINIT                    // unable to initialize ASI 
  819.    ,kAsiEXCPTERM                    // error during ASI termination               
  820.    ,kAsiEXCPDUPLINIT                // ASI was already initialized 
  821.    ,kAsiEXCPNOTINIT                 // ASI was not initialized 
  822.    ,kAsiEXCPBADINI                  // initialization file has errors or is corrupted
  823.    ,kAsiEXCPWRONGENV                // environment is not defined in ASI.INI 
  824.    ,kAsiEXCPWRENVPAR                // invalid environment parameter in ASI.INI 
  825.    ,kAsiNoMemory                    // insufficient memory            
  826.    ,kAsiErStkOvrFlw                 // Stack overflow 
  827.    ,kAsiErStkUnrFlw                 // Stack underflow
  828.    ,kAsiInvalidParam                // Invalid parameter
  829.    ,kAsiInternalError               // Iternal error 
  830.    ,kAsiFunctionNotSupported        // Function overflow
  831.    ,kAsiTryTableOverflow
  832.    ,kAsiOperationNotSupported
  833.    ,kAsiCannotOpenTable
  834.    ,kAsiOutOfRange
  835.    ,kAsiInvalidUcObject
  836.    ,kAsiInvalidDDAObject            // Invalid DDA object
  837.    ,kAsiErrEofFound                 // EOF found
  838.    ,kAsiErrFileLocked               // File was locked during the timeout period
  839.    ,kAsiRecLocked                   // Record is locked
  840.    ,kAsiTableLocked                 // Table is locked
  841.    ,kAsiNativePrepare               // Native statement cannot be prepared
  842.    ,kAsiNativeExecute               // Native statement cannot be executed
  843.    ,kAsiRemoteTabModification       // Remote table has read only access
  844.    ,kAsiInterDBExecution            // Can't execute interdatabase statement
  845.    ,kAsiErrCodePageNotDefined       // Code page name not defined in ASI.INI file
  846.    ,kAsiErrCodePageFileNotFound     // Code page definition file not found
  847.    ,kAsiErrCodePageFormat           // Invalid format of the code page definition file
  848.    ,kAsiErrCollationNotDefined      // Collation name not defined in ASI.INI file
  849.    ,kAsiErrCollationFileNotFound    // Collation definition file not found
  850.    ,kAsiErrCollationFormat          // Invalid format of the collation definition file
  851.    ,kAsiErrAsilocNotFound           // Cannot find asiloc.xmx
  852.  
  853.     // Interprocess Communication Exceptions
  854.     //                                  
  855.    ,kAsiErrDrv          = 0xB000    // IPC exceptions
  856.    ,kAsiErrOpenDrv                  // Cannot open ASI driver file
  857.    ,kAsiErrPathNotFound             // Path not found
  858.    ,kAsiErrInvalidExe               // Invalid ASI driver executable format
  859.    ,kAsiErrToManyFileOpen           // Too many open files
  860.    ,kAsiErrAccessDenied             // Access denied
  861.    ,kAsiErrFileHandle               // Invalid file handle
  862.    ,kAsiErrShareViolation           // Sharing violation
  863.    ,kAsiErrNotFlatModel             // Not a FLAT model .EXP file
  864.    ,kAsiErrInvalidExp               // Invalid .EXP file format
  865.    ,kAsiErrInvalidOffset            // -OFFSET not multiple of 4K
  866.    ,kAsiErrLinkParam                // These parameters not supported in
  867.                                     // protected mode driver:
  868.                                     // -NOPAGE and -REALBREAK or -OFFSET
  869.    ,kAsiErrOutPhysicalMemory        // Out of physical memory
  870.    ,kAsiErrOutSwapSpace             // Out of swap space
  871.    ,kAsiErrGrowLDT                  // Unable to grow LDT
  872.    ,kAsiErrChangeSelector           // Unable to change ext mem alloc mark
  873.    ,kAsiErrNoVirtualMemory          // Insufficient virtual memory space
  874.    ,kAsiErrNoConvMemory             // Insufficient conventional memory space
  875.    ,kAsiErrRealSwap                 // No memory for ASE driver swapping
  876.    ,kAsiErrOpenIni                  // Cannot open ASI.INI file
  877.    ,kAsiErrNoEnv                    // Environment name not specified
  878.    ,kAsiErrIncompEnv                // Incompatible environment
  879.    ,kAsiErrNoPath                   // Driver path and name was not specified
  880.    ,kAsiErrLostConnection           // Server died, connection lost
  881.    ,kAsiErrToManyDrivers            // Too many driver loaded
  882.    ,kAsiErrInvalidName              // Driver name is invalid
  883.    ,kAsiErrNotAsiDrv                // Program referenced in ASI.INI is not an
  884.                                     // ASI driver
  885.    ,kAsiErrOsEnv                    // Bad format for OS environment
  886.    ,kAsiErrDrvInit                  // Error found durring driver initialization
  887.    ,kAsiErrDrvThunk                 // Trap in DBMS communication
  888.    ,kAsiErrComBuf                   // Cannot create communication buffer
  889.    ,kAsiErrBlockByTSR               // User has loaded TSR from AutoCAD shell command
  890.    ,kAsiErrNoDrv                    // Driver not found in ASI.INI
  891.    ,kAsiErrMemoryAccess             // Memory access violatation
  892.    ,kAsiErrOS                       // OS error
  893.    ,kAsiErrDrvOld                   // Old driver's version
  894.    
  895.    ,kAsiErrDBMSServer =  0xCF00     // Exception raised by DBMS driver 
  896.    
  897. } EAsiError;
  898.  
  899. typedef unsigned int AsiError;
  900.  
  901. #define MinUserDefErrorCode         0xE000
  902.  
  903. #if defined(__cplusplus)
  904. }
  905. #endif  /* __cplusplus */
  906.  
  907. #endif /* ASI_ASICONST_H */
  908. /*EOF*/
  909.