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

  1. #ifndef _ASECONST_H
  2. #define _ASECONST_H
  3. /*****************************************************************************
  4.     Name: aseconst.h                                   
  5.  
  6.     Description:  
  7.                   This file contains the ASE constant definition
  8.  
  9.     Author: Volodya Sirotinin
  10.             Autodesk, Inc.
  11.             Moscow, Russia.
  12.  
  13.    Copyright (C) 1992, 1993, 1994 by Autodesk, Inc.
  14.  
  15.    Permission to use, copy, modify, and distribute this software in 
  16.    object code form for any purpose and without fee is hereby granted, 
  17.    provided that the above copyright notice appears in all copies and 
  18.    that both that copyright notice and the limited warranty and 
  19.    restricted rights notice below appear in all supporting 
  20.    documentation.
  21.  
  22.    AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.  
  23.    AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF 
  24.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE.  AUTODESK, INC.
  25.    DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE 
  26.    UNINTERRUPTED OR ERROR FREE.
  27.  
  28.    Use, duplication, or disclosure by the U.S. Government is subject to 
  29.    restrictions set forth in FAR 52.227-19 (Commercial Computer 
  30.    Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) 
  31.    (Rights in Technical Data and Computer Software), as applicable.
  32.  
  33.     Entry Points:
  34.  
  35.     Modification History:
  36.     11 Oct 1993 - volodyas - original written
  37.  
  38.     Bugs and restriction on use:
  39.  
  40.     Notes:
  41.  
  42. *****************************************************************************/
  43.  
  44. /***************************************************************************/
  45. /* DEFINES */
  46. /***************************************************************************/
  47.  
  48. /* The Database Object attribute masks */
  49. #define        ASE_DO_CURRENT      0x01  /* The DOis the current */
  50. #define        ASE_DO_REG          0x02  /* The DO is registered */
  51. #define        ASE_DO_EXIST        0x04  /* The DO exists in the SQL database*/
  52. #define        ASE_DO_CON          0x08  /* The DO belong to the connected env*/
  53. #define        ASE_DO_UNKNOWN      0x10  /* Can't check the DO existance */
  54. #define        ASE_DO_WRONGKEY     0x20  /* Some registered key columns */
  55.                                          /* doesn't exist in the real table */
  56. #define        ASE_DO_WRONGKEYTYPE 0x40  /* Some registered key columns */
  57.                                          /* types, precisions and scales */
  58.                                          /* differ from the ones, taken */
  59.                                          /* from the real table.*/           
  60.  
  61. /* NULL definition */
  62. #ifndef NULL
  63. #define NULL 0L
  64. #endif /*NULL*/
  65.  
  66. /* The link and link selection predefined values */
  67. #define        LINKID_NULL       -1L
  68. #define        LINKSELID_NULL    -1L
  69.  
  70. /* TYPEDEFS */
  71.  
  72. typedef long LinkSelID ;     /* The link selection identifier */
  73. typedef long LinkID ;        /* The link identifier */
  74.  
  75. /* The Link type codes */
  76. typedef enum {
  77.   kAseUnknownLinkType = 0, 
  78.   kAseEntityLink=1,  /* Ordinary Entity link */
  79.   kAseDALink=2       /* DA link */
  80. } EAseLinkType ;
  81.  
  82. /* The link attribute identification codes */
  83. typedef enum  {
  84.   /* Normal attributes */
  85.   kAseAttrAll=0,         /* All link attributes */
  86.   kAseAttrId=1,          /* link identifier (valid in the one drawing session) */
  87.   kAseAttrType=2,        /* link type code */
  88.   kAseAttrStatus=3,      /* link status */
  89.   kAseAttrEnt=4,         /* entity name */
  90.   kAseAttrName=5,        /* Link Table Name */
  91.   kAseAttrKeyValue=6,    /* key value */
  92.   kAseAttrDAColumns=7,   /* the DA column names list (for DA link) */
  93.   kAseAttrDAParms=8,     /* the DA entity parameters (for DA link) */
  94.   kAseAttrDAValues=9,    /* the known DA entity values (for DA link) */
  95.   kAseAttrXName=10,      /* the Xref/Block name (for enclosed link) */
  96.   kAseAttrReserved1=11,  /* internal reserved attribute */
  97.  
  98.   /* Extended attributes */
  99.   kAseExtAttrTextCond=-1, /* text condition */
  100.   kAseExtAttrEntities=-2,  /* selection set name */
  101.   kAseExtAttrDoPath=-3 /* The Database Object Path */
  102. } EAseLinkAttr;
  103.  
  104.  
  105. /* Database Object Reference definition codes */
  106. typedef enum {
  107.   kAseUnknownNameCode=0, /* Unknown DO name code */
  108.   kAseEnvCode=1,         /* Environment */
  109.   kAseCatCode=2,         /* Catalog */
  110.   kAseSchemaCode=3,      /* Schema */
  111.   kAseTableCode=4,       /* Table */
  112.   kAseLpnCode=5,         /* Link Path Name */
  113.   kAsePathCode=6,        /* Full path code */
  114.   kAseDOCode=7,          /* DO path only */
  115.   kAseSQLCode=8          /* SQL object path */
  116. } EAseDoNameCode ;
  117.  
  118. /* ASE error code in the ASI error codes sequence */
  119. #define eAseErrEntry   (MinUserDefErrorCode+1)  
  120.  
  121. /* Detects whether or not the error entry contains ASE error data */
  122. #define isAseErr(x)   (x == eAseErrEntry ? kAsiTrue : kAsiFalse)
  123.  
  124. /* The ASE error description codes */
  125. typedef enum {
  126.                          
  127.     eAseEDscUnknown = 0, /* Unknown error  */
  128.                          
  129.     eAseEDscInternal = 1,  /* Internal ASE error. This code hasn't be assigned*/
  130.                            /* in the normal situation. It indicates about an */
  131.                            /* internally detected ASE bug. See EAseErrCodes. */
  132.  
  133.     eAseEDscAse = 2,       /* Logical common error, see EAseErrCodes. */
  134.                          
  135.     eAseEDscFile = 3,      /* File I/O error, see ASI error diagnostic */
  136.  
  137.     eAseEDscAsi = 4,       /* ASI error, see ASI error diagnostic */
  138.                        
  139.     eAseEDscDb = 5,        /* ASI group error qualificator, see EAseDbErrCodes */
  140.  
  141.     eAseEDscDwg = 6,       /* Drawing error, see EAseDwgErrCodes for error codes */
  142.  
  143.     eAseEDscDlg = 7,       /* Dialogue errors, see EAseDlgErrCodes for error codes */
  144.                         
  145.     eAseEDscApi = 8,       /* API errors, see EAseApiErrCodes for error codes */
  146.  
  147.     eAseEDscLink = 9       /* Internal error with the Link Information,*/
  148.                            /* see EAseLinkErrCodes */
  149. } EAseErrDsc ;
  150.  
  151. /* The common ASE error codes */
  152. typedef enum {
  153.     eAseErrUnknown=0,      /* Unknown ASE error */
  154.     eAseErrInternal=1,     /* Internal ASE error, inconsistent call of the*/
  155.                            /* internal ASE functions.*/
  156.     eAseErrMemory=2,       /* No memory*/
  157.     eAseErrInfo=3,         /* Information message entry*/
  158.     eAseErrMaxQty=4,       /* The maximum quantity of the errors is exceded*/
  159.                   
  160.                                    
  161.     eAseErrNoReg=10,          /* No one DO is registered*/
  162.     eAseErrDoReg=11,          /* The DO isn't registered*/
  163.     eAseErrEnvNotConnected=12,   /* Environment isn't connected*/
  164.     eAseErrNoLpn=13,          /* LPN isn't set*/
  165.     eAseErrNoEnvName=14,      /* Environment name isn't specified*/
  166.     eAseErrNoCatName=15,      /* Catalog name isn't specified*/
  167.     eAseErrNoSchemaName=16,   /* Schema name isn't specified*/
  168.     eAseErrNoTableName=17,    /* Table name isn't specified*/
  169.     eAseErrLpnExist=18,       /* Link Path Name already exists*/
  170.     eAseErrWrongKey=19,       /* Some of the key columns doesn't exist in table*/
  171.     eAseErrWrongKeyType=20,   /* Wrong key column type is detected:*/
  172.                               /* table structure was changed or BIT, BITVAR*/
  173.                               /* column types are specified*/
  174.     eAseErrNoSelEnts=21,      /* No one entity is selected*/
  175.     eAseErrNoSelLinks=22,     /* No one links exist in the specified entities*/
  176.     eAseErrNoSelDALinks=23,   /* No one links exist in the specified entities*/
  177.     eAseErrNoDoLinks=24,      /* No one links to the DO is specified*/
  178.     eAseErrDAUpd=25,           /* Some of the DAs aren't updatable */
  179.  
  180.     eAseErrWrongDoName=26,  /* Invalid DO Name */
  181.     eAseErrWrongResbuf=27,  /* Invalid resbuf*/
  182.     eAseErrBadR12DOR=28,    /* Can't find the R13 terms for R12 DOR */
  183.     eAseErrWrongLPN=29,     /* Invalid LPN */
  184.     eAseErrWrongPath=30,    /* Invalid DO path */
  185.     eAseErrLinkUpd=31,      /* Some of the links aren't updatable */
  186.     eAseErrLinkSynch=32,    /* The links(s) can't be synchronized */
  187.     eAseErrLPSynch=33,      /* The Link Path(s) can't be synchronized */
  188.     eAseErrCharSet=34       /* Can't find character set */
  189.  
  190. } EAseErrCodes ;   
  191.  
  192. /* The File I/O related error codes */
  193. typedef enum {
  194.     eAseFileErrUnknown=400,   /* Unknown error*/
  195.     eAseFileNotFound,         /* File not found*/
  196.     eAseFileErrOpen,          /* Can't open file*/
  197.     eAseFileErrRead,          /* Read error*/
  198.     eAseFileErrWrite          /* Write error*/
  199. } EAseFileErrCodes;
  200.  
  201.  
  202. /* ASI group error codes*/
  203. typedef enum {
  204.     eAseDbErrUnknown=500,    /* Unknown ASE error*/
  205.     eAseDbErrSyntax=501,     /* SQL syntax error*/
  206.     eAseDbErrPrepare=502,    /* Can't prepare SQL statement*/
  207.     eAseDbErrExecute=503,    /* Can't execute the statement*/
  208.     eAseDbErrOpenCsr=504,    /* Can't open the cursor*/
  209.     eAseDbErrEntry=505,      /* Wrong entry format in ASE_R12 section of*/
  210.                              /* ASI.INI file*/
  211.     eAseDbErrIni=506,        /* Can't get ASI.INI file*/
  212.     eAseDbErrFetch=507       /* Can't fetch */
  213. } EAseDbErrCodes ;
  214.  
  215. /* The AutoCAD drawing related codes*/
  216. typedef enum {
  217.    eAseDwgErrUnknown             = 700,                    
  218.    eAseDwgErrOpenReadEntity      = 701, 
  219. /* 
  220.    Error openning entity for read. Object is to be opened for read as soon as 
  221.    any entity information, such as name of the layer, name of the parent block,
  222.    XData ant etc. is requested.
  223. */
  224.    eAseDwgErrTranslateHandle     = 702, 
  225. /* Error translation entity handle, stored in the R12 Link, to the R13
  226.    AcDbObjectId  
  227. */    
  228.    eAseDwgErrAdsNameId           = 703,  
  229. /* 
  230.    Can not convert AcDbObjectId to ads_name
  231. */      
  232.    eAseDwgErrXEDAppidNotFound    = 704, 
  233. /* 
  234.    XData is corrupt - APPID group not found 
  235. */                    
  236.    eAseDwgErrXEDCorrupt          = 705, 
  237. /* 
  238.    R13 XData is corrupt 
  239. */        
  240.    eAseDwgErrUpdateXED           = 706, 
  241. /* 
  242.    Can not write/update XData.
  243. */      
  244.    eAseDwgErrParcingLink         = 707, 
  245. /* 
  246.    Can not parce ASE Link XData  
  247. */  
  248.    eAseDwgErrParcingLPN          = 708, 
  249. /* 
  250.    Can not parce ASE LPN XData  
  251. */  
  252.    eAseDwgErrOpenWriteEntity     = 709,
  253. /* 
  254.    Can not open entity for write
  255. */
  256.    eAseDwgErrConvertingLink      = 710, 
  257. /* 
  258.    Error converting link to the result buffer 
  259. */     
  260.    eAseDwgErrOpenBlockTable      = 711, 
  261. /* 
  262.    Can not open block table
  263. */   
  264.    eAseDwgErrAppendBlockTable    = 712,
  265. /* 
  266.    Can not add DA block definition to the block table 
  267. */
  268.    eAseDwgErrAppendObjBlockTable = 713, 
  269. /* 
  270.    Can not append DA to the MODEL_SPACE or PAPER_SPACE sections
  271. */
  272.    eAseDwgErrOpenBlock           = 714, 
  273. /* 
  274.    Can not open Block Table Record
  275. */
  276.    eAseDwgErrDelSelSet           = 715, 
  277. /* 
  278.    Can not free selection set
  279. */
  280.    eAseDwgErrFilterSelSet        = 716, 
  281. /* 
  282.    Can not get selection set with all references to the specified block
  283. */
  284.    eAseDwgErrCreateLPNTable      = 717, 
  285. /* 
  286.    Can not create LPN dictionary in the Drawing Database
  287. */
  288.    eAseDwgErrFindLPNTable        = 718,
  289. /* 
  290.    Can not find LPN dictionary in the Drawing Database
  291. */
  292.    eAseDwgErrFindAppid           = 719, 
  293. /* 
  294.    Can not find ASE APPID      
  295. */
  296.    eAseDwgErrOpenLPNDict         = 720, 
  297. /* 
  298.    Can not open LPN Dictionary
  299. */
  300.    eAseDwgErrAddEntry            = 721, 
  301. /* 
  302.    Can not add entry to the LPN dictionary
  303. */
  304.    eAseDwgErrRemoveEntry         = 722, 
  305. /* 
  306.    Can not remove entry from the LPN dictionary
  307. */
  308.    eAseDwgErrUnexpSymb           = 723, 
  309. /* 
  310.    Unexpected symbol in ASE XData found. XData is corrupted.
  311. */
  312.    eAseDwgErrDwgInit             = 724, 
  313. /* 
  314.    Can not initialize Drawing Subsystem 
  315. */
  316.    eAseDwgErrBlockIterator       = 725, 
  317. /* 
  318.    Can not open Block Table Record iterator  
  319. */
  320.    eAseDwgErrTransOpen           = 726, 
  321. /* 
  322.    Previous drawing transaction is not closed
  323. */
  324.    eAseDwgErrTransClose          = 727, 
  325. /* 
  326.    Current Drawing transaction has not been opened  
  327. */
  328.    eAseDwgErrGrips               = 728, 
  329. /* 
  330.    Can not store selection set in the AutoCAD via ads_sssetfirst() function.
  331.    The error can accure in ASEROWS and ASESELECT commands
  332. */
  333.    eAseDwgErrFindBlock           = 729, 
  334. /* 
  335.    Block not found in the Block Table     
  336. */
  337.    eAseDwgErrOpenRegapTable      = 730, 
  338. /* 
  339.    Can not open AutoCAD REGAPP table. This operation is to be fulfilled as
  340.    soon as ASE information should be stored in the drawing for the first
  341.    time in the ASE session.
  342. */
  343.    eAseDwgErrRegisterAppid       = 731, 
  344. /* 
  345.    Can not register ASE APPID. APPID should be registered before ASE 
  346.    information should be stored in the drawing for the first time in the 
  347.    ASE session.   
  348. */
  349.    eAseDwgErrInitObject          = 732, 
  350. /* 
  351.    Can not initialize CAseDEntity object        
  352. */
  353.    eAseDwgErrAddLink             = 733, 
  354. /* 
  355.    Can not write link in the drawing
  356. */
  357.    eAseDwgErrAddLPN              = 734, 
  358. /* 
  359.    Can not write LPN in the drawing
  360. */
  361.    eAseDwgErrDelLink             = 735, 
  362. /* 
  363.    Can not delete link from the drawing
  364. */
  365.    eAseDwgErrDelLPN              = 736, 
  366. /* 
  367.    Can not delet LPN from the drawing 
  368. */
  369.    eAseDwgErrUpdLink             = 737, 
  370. /* 
  371.    Can not update link in the drawing
  372. */
  373.    eAseDwgErrUpdLPN              = 738, 
  374. /* 
  375.    Can not update LPN in the drawing
  376. */
  377.    eAseDwgErrDeleteObj           = 739, 
  378. /* 
  379.    Can not delete DA object from the drawing
  380. */
  381.    eAseDwgErrCorruptDA           = 740, 
  382. /* 
  383.    Can not read DA column values from DA block attributes
  384. */
  385.    eAseDwgErrErasedObj           = 741, 
  386. /* 
  387.    Can not open object  - it has been erased
  388. */
  389.    eAseDwgErrOpenNotify          = 742, 
  390. /* 
  391.    Object can not be updated - it is opened for notify
  392. */
  393.    eAseDwgErrOpenUndo            = 743, 
  394. /* 
  395.    Object can not be updated - it is opened for undo
  396. */
  397.    eAseDwgErrOpenWrite           = 744, 
  398. /* 
  399.    Object can not be updated - it is opened for write      
  400. */
  401.    eAseDwgErrOpenRead            = 744, 
  402. /* 
  403.    Object can not be updated - it is opened for read 
  404.    */
  405.    eAseDwgErrOpenXref            = 745, 
  406. /* 
  407.    Object can not be updated - it is object from XRef
  408. */
  409.    eAseDwgErrOpenLocked          = 746, 
  410. /* 
  411.    Object can not be updated - it is on the locked layer
  412. */
  413.    eAseDwgErrDelR12DOMesh        = 747, 
  414. /* 
  415.    Can not delete R12 DO Mesh                        
  416. */
  417.    eAseDwgErrDelR12LinkMesh      = 748, 
  418. /* 
  419.    Can not delete R12 Link Mesh 
  420. */
  421.    eAseDwgErrReadLTypeTable      = 749, 
  422. /* 
  423.    Can not read line style table 
  424. */
  425.    eAseDwgErrReadLayerTable      = 750, 
  426. /* 
  427.    Can not read layer table
  428. */
  429.    eAseDwgErrReadStyleTable         = 751, 
  430. /* 
  431.    Can not read style table                          
  432. */              
  433.    eAseDwgErrOpenLPNEntry        = 752, 
  434. /* 
  435.    Can not open LPN dictionary entry                 
  436. */
  437.    eAseDwgErrAppendBlkBlockHierarchy= 753, 
  438. /* 
  439.    Can not add block to ASE block hierarchy          
  440. */
  441.    eAseDwgErrAppendRefBlockHierarchy= 754, 
  442. /* 
  443.    Can not add block reference to ASE block hierarchy
  444. */
  445.    eAseDwgErrFindBlkBlockHierarchy= 755, 
  446. /* 
  447.    Can not find block in ASE block hierarchy
  448. */
  449.    eAseDwgErrDelBlkBlockHierarchy   = 756, 
  450. /* 
  451.    Can not delete block from ASE block hierarchy
  452. */
  453.    eAseDwgErrInvR12Mesh          = 757, 
  454. /* 
  455.    Invalid R12 Polimesh found.
  456. */
  457.    eAseDwgErrEOR                 = 758, 
  458. /* 
  459.    Unexpected End of ASE XData found
  460. */                                    
  461.    eAseDwgErrBraceExpected       = 758, 
  462. /* 
  463.    Brace is mismatched in ASE XData
  464. */                                    
  465.    eAseDwgErrBlockName           = 759,
  466. /* 
  467.    Can not get name of the block  from AcDbBlockTableRecord
  468. */                                    
  469.    eAseDwgErrOpenLayer           = 760
  470. /* 
  471.    Can not open layer table record for update
  472. */                                    
  473. } EAseDwgErrCodes ;                         
  474.                                             
  475. /* The AutoCAD Dialog related codes */
  476. typedef enum {
  477.     eAseDlgErrUnknown=800,      /* Unknown ASE error */
  478.     eAseDlgWrongObj,
  479.     eAseDlgNoDsc,
  480.     eAseDlgMakeKey,
  481.     eAseDlgReadStyleTable
  482. } EAseDlgErrCodes ;
  483.  
  484. /* ASE API related error codes */
  485. typedef enum {
  486.     eAseApiErrUnknown=900,     /* Unknown ASE error */
  487.     eAseApiErrWrongData=901,       /* Input data in the wrong format */
  488.     eAseApiErrInitObj=902,         /* The API class isn't initialized */
  489.     eAseApiErrInitApp=903,         /* Communication with ASE isn't extablished */
  490.     eAseApiErrWrongAttr=904,       /* Wrong link attribute code */
  491.     eAseApiErrXmx=905,             /* Can't load XMX file */
  492.     eAseApiErrWrongFunc=906,       /* Wrong call of API func. */
  493.     eAseApiErrEmptyList=907,       /* Can't find DO list */
  494.     eAseApiErrMissingTable=908,    /* Missing table path in filter */
  495.     eAseApiErrLinkNotFound=909,    /* Can't find link by link ID */
  496.     eAseApiErrLinkMake=910,        /* Error in link creation */
  497.     eAseApiErrLinkUpdate=911,      /* Error in link updating */
  498.     eAseApiErrLinkDelete=912,      /* Error in link deleting */
  499.     eAseApiErrMissingLinkType=913, /* Missing link type */
  500.     eAseApiErrWrongLinkType=914,   /* Wrong link type value */
  501.     eAseApiErrMissingLinkID=915,   /* Missing link ID */
  502.     eAseApiErrWrongLinkID=916,     /* Wrong link ID value */
  503.     eAseApiErrMissingEntName=917,  /* Missing entity name */
  504.     eAseApiErrWrongEntName=918,    /* Wrong entity name value */
  505.     eAseApiErrMissingLpn=919,      /* Missing LPN */
  506.     eAseApiErrWrongLpn=920,        /* Invalid LPN */
  507.     eAseApiErrMissingKeyVal=921,   /* Missing Key value list */
  508.     eAseApiErrWrongKeyVal=922,     /* Invalid Key valie list */
  509.     eAseApiErrSelNotFound=923,     /* Can't find link selection by ID */
  510.     eAseApiErrSelAddLink=924,      /* Can't add link to the link sel. */
  511.     eAseApiErrSelDelLink=925,      /* Can't delete link from the link sel. */
  512.     eAseApiErrSelFree=926,         /* Can't free the link sel. */
  513.     eAseApiErrSelEmpty=927,        /* Empty link sel. */
  514.     eAseApiErrMissingKeyNames=928, /* Missing Key names list */
  515.     eAseApiErrWrongKeyNames=929,   /* Invalid Key names list */
  516.     eAseApiErrKeyNameNotFound=930, /* Key column name is not found in the table */
  517.     eAseApiErrDupKeyNames=931,     /* Duplicated Key names */
  518.     eAseApiErrLpnNew=932,          /* Error in creation of new LPN */
  519.     eAseApiErrLpnDel=933,          /* Error in deleting of LPN */
  520.     eAseApiErrLpnNotFound=934,     /* LPN is not exist */
  521.     eAseApiErrLpnRen=935,          /* Error in renaming of LPN */
  522.     eAseApiErrWrongEntSel=936,     /* Invalid entity sel. set name */
  523.     eAseApiErrWrongBlock=937,      /* Invalid Xref/Block name */
  524.     eAseApiErrWrongWhere=938,      /* Invalid WHERE condition */
  525.     eAseApiErrSelUnite=939,        /* Error in union */
  526.     eAseApiErrSelSubtract=940,     /* Error in subtract */
  527.     eAseApiErrSelIntersect=941,    /* Error in intersect */
  528.     eAseApiErrSelErase=942,        /* Can't erase link sel. with links */
  529.     eAseApiErrSelEraseLinks=943,   /* Can't erase some links */
  530.     eAseApiErrCurrent=944,         /* Can't set current path */
  531.     eAseApiErrWrongRowVal=945,     /* Invalid row values */
  532.     eAseApiErrDuplicatedLink=946,  /* Attempt of duplicated link creation */
  533.     eAseApiErrMissingDANames=947,  /* Missing DA names list */
  534.     eAseApiErrWrongDANames=948,    /* Invalid DA names list */
  535.     eAseApiErrWrongDAVal=949,      /* Invalid DA values list */
  536.     eAseApiErrMissingDAPar=950,    /* Missing DA parameters */
  537.     eAseApiErrWrongDAPar=951,      /* Invalid DA parameters */
  538.     eAseApiErrMakeDA=952           /* Error in make DA */
  539. } EAseApiErrCodes ;
  540.  
  541. /* Internal Link Information related codes*/
  542. typedef enum {
  543. eAseLinkErrUnknown              = 1000, /* Unknown ASE error*/
  544. eAseLinkErrWrongRegPath         = 1001, 
  545. /*  
  546.     a) Invalid path to register table. 
  547.     b) LPN syntax error. LPN with prefix can't 
  548.        be registered.
  549.     c) LPN syntax error. Wrong Xref name syntax.
  550. */
  551.  
  552. eAseLinkErrWrongRegDsc          = 1002, 
  553. /*  
  554.     a) Wrong column desriptor.                          registration
  555.     b) Invalid list of the key columns to register.
  556. */
  557.  
  558. eAseLinkErrWrongPath12          = 1003, 
  559. /*  
  560.     Invalid path to Database Object Release 12 to       registration
  561.     register.
  562. */
  563.  
  564. eAseLinkErrWrongTypeDsc         = 1005, 
  565. /*
  566.     a) Unknown column descriptor data type.             registration
  567.     b) Length of the key value can't be defined.        access to key value
  568. */
  569.  
  570. eAseLinkErrWrongLsAddOp         = 1007, 
  571. /*    
  572.     Wrong Link Selection Identifier                     Link Selection addition
  573. */
  574.  
  575. eAseLinkErrWrongLsSubOp         = 1008, 
  576. /*    
  577.     Wrong Link Selection Identifier                     Link Selection subraction 
  578. */
  579.  
  580. eAseLinkErrWrongLsId            = 1009, 
  581. /*    
  582.     Wrong Link Selection Identifier                     Access to Link Selection        
  583. */
  584.  
  585. eAseLinkErrWrongEntityId        = 1010, 
  586. /*    
  587.     Undefined drawing object to link                    DA Link creation
  588. */
  589.  
  590. eAseLinkErrUndefDa              = 1011, 
  591. /*    
  592.     Undefined DA list                                   DA link creation  
  593. */
  594.  
  595. eAseLinkErrNoMemForLs           = 1012, 
  596. /*    
  597.     Out of memory                                       Link Selection manipulation  
  598. */
  599.  
  600. eAseLinkErrWrongPtrToLnk        = 1013, 
  601. /*    
  602.     Wrong Link Identifier                               Access to Link  
  603. */
  604.  
  605. eAseLinkErrNoLinkInLMem         = 1014, 
  606. /*    
  607.     Link was lost                                       Access to Link  
  608. */
  609.  
  610. eAseLinkErrNoEntityForLink      = 1016, 
  611. /*    
  612.     Invalid Link in the memory                          Access to Link
  613. */
  614.  
  615. eAseLinkErrWrongPtrToLs         = 1017, 
  616. /*    
  617.     Wrong Link Selection Identifier                     Access to Link Selection  
  618. */
  619.  
  620. eAseLinkErrNoLsInLMem           = 1018, 
  621. /*    
  622.     Link Selection was lost                             Access to Link Selection
  623. */
  624.  
  625. eAseLinkErrMLsNotValid          = 1019, 
  626. /*    
  627.     Invalid Link Selection                              Access to Link Selection
  628. */
  629.  
  630. eAseLinkErrMLinkNotValid        = 1020, 
  631. /*    
  632.     Invalid Link in the memory                          ASE Transaction 
  633. */
  634.  
  635. eAseLinkErrTabNoChanges         = 1021, 
  636. /*    
  637.     Link Information assosiated with                    Erase LPN        
  638.     LPN can't be changed     
  639. */
  640.  
  641. eAseLinkErrRnmWrongOldLPN       = 1022, 
  642. /*    
  643.     Old LPN is invalid                                  LPN Renaming 
  644. */
  645.  
  646. eAseLinkErrRnmWrongNewLPN       = 1023, 
  647. /*    
  648.     New LPN is invalid                                  LPN Renaming   
  649. */
  650.  
  651. eAseLinkErrRnmNoUpd             = 1024, 
  652. /*    
  653.     Link Information associated with LPN                LPN Renaming 
  654.     isn't updatable    
  655. */
  656.  
  657. eAseLinkErrLLinkNotValid        = 1025, 
  658. /*    
  659.     CAseLLink object is not valid. Object               Link Manipulations            
  660.     had not been initialized                          
  661. */
  662.  
  663. eAseLinkErrLLinkNotUpdate       = 1026, 
  664. /*    
  665.     Link can't be modified. Drawing object              Link modification  
  666.     isn't updatable  
  667. */
  668.  
  669. eAseLinkErrLLinkNoMakeDup       = 1027, 
  670. /* 
  671.     Can't create duplicated link                        Link creation  
  672. */
  673.  
  674. eAseLinkErrLLinkNoMakeKey       = 1029, 
  675. /*
  676.       Can't create link. Wrong keys                     Link creation  
  677. */
  678.  
  679. eAseLinkErrLLinkNoMakeStore     = 1030, 
  680. /*
  681.       Can't store Link into drawing                     Link creation  
  682. */
  683.  
  684. eAseLinkErrLLinkWrongId         = 1031, 
  685. /*
  686.       Can't intialize CAseLLink object.                 Access to Link
  687.       Wrong Link Identifier                             
  688. */
  689.  
  690. eAseLinkErrLLinkWrongType       = 1032, 
  691. /*
  692.     a) Can't intialize CAseLLink object.                Access to Link
  693.        Wrong Link type                                   
  694.     b) Can't update DA. Link isn't DA link              DA Link updating
  695. */
  696.  
  697. eAseLinkErrLLinkManyLinks       = 1033, 
  698. /*
  699.     Can't intialize CAseLLink object by                 CAseLLink object initialization
  700.     drawing object. Drawing object contains      
  701.     several links.  
  702. */
  703.  
  704. eAseLinkErrLLinkNoMake          = 1034, 
  705. /*
  706.     a) Can't make link. Duplicate link.                 Link creation  
  707.     b) Can't store Link in the memory.  
  708.     c) Can't make link. Wrong keys.
  709. */
  710.  
  711. eAseLinkErrLLinkNoDel           = 1035, 
  712. /*
  713.     a) Can't delete link. Link is not valid             Link deleting                
  714.     b) Can't delete link. Link is not updatable
  715.     c) Can't delete Xdata assocoated with link
  716. */
  717.  
  718. eAseLinkErrLLinkNoUpd           = 1036, 
  719. /*
  720.     a) Can't update link. Link Information              Link modification   
  721.        was not changed.
  722.     b) Can't update link. Link isn't valid            
  723.     c) Can't update link. Drawing object is 
  724.        not updatable.
  725. */
  726.  
  727. eAseLinkErrLLinkNoDATab         = 1037, 
  728. /*
  729.       Wrong DA Link modification.                       DA link modification.
  730.       Table name can't be changed for DA link  
  731. */
  732.  
  733. eAseLinkErrLLinkNoDAEnt         = 1038, 
  734. /*
  735.       Wrong  DA Link modification                       DA link modification
  736.       Drawing object can't be changed for DA link
  737. */
  738.  
  739. eAseLinkErrLLinkWrongEnt        = 1039, 
  740. /*
  741.       CAseLLink obejct was not initialized correctly    Access to link   
  742. */
  743.  
  744. eAseLinkErrLLinkWrongDA         = 1040, 
  745. /*
  746.       Wrong DA columns                                  DA Link creation   
  747. */
  748.  
  749. eAseLinkErrLLinkAbsent          = 1041, 
  750. /*
  751.       Can't find out Link by Link Identifier            Access to Link  
  752. */
  753.  
  754. eAseLinkErrLSWrongFilter        = 1042, 
  755. /*
  756.       Wrong filter                                      Link Selection filtering                       
  757. */
  758.  
  759. eAseLinkErrInLMem               = 1045, 
  760. /*
  761.       Can't clear Link Selection.                       Access to Link Selection 
  762. */
  763.  
  764. eAseLinkErrKeyNotValid          = 1046, 
  765. /*
  766.       Key isn't valid                                   Access to key values
  767. */
  768.  
  769. eAseLinkErrWrongKeyVal          = 1047, 
  770. /*
  771.       Wrong key value                                   Row registration  
  772. */
  773.  
  774. eAseLinkErrCantStoreKeyVal      = 1048, 
  775. /*
  776.       Key value can't be stored. It is possible
  777.       if ASE have not enough memory or key column 
  778.       descriptor is not correct.
  779. */
  780.  
  781. eAseLinkErrWrongDsc             = 1049, 
  782. /*
  783.       Can't store key value. Descriptor is not          Row registration
  784.       correct 
  785. */
  786.  
  787. eAseLinkErrWrongKeyInit         = 1050, 
  788. /*
  789.       Can't initialize CAseLKey object.                 Row registration        
  790.       LPN is not valid.  
  791. */
  792.  
  793. eAseLinkErrValid                = 1051, 
  794. /*
  795.       Link Subsystem is not valid. Internal error.      
  796. */
  797.  
  798. eAseLinkErrStart                = 1052, 
  799. /*
  800.       Link subsystem can't begin ASE transaction.       
  801.       Internal error.  
  802. */
  803.  
  804. eAseLinkErrLMemWrongId          = 1053, 
  805. /*
  806.       Wrong Link Identifier                             Access to link           
  807. */
  808.  
  809. eAseLinkErrLMemInternal         = 1054, 
  810. /*
  811.       Link Subsystem internal error                     Access to link           
  812. */
  813.  
  814. eAseLinkErrLMemRBack            = 1055, 
  815. /*
  816.       Can't restore link                                Rollback of the ASE Transaction
  817. */
  818.  
  819. eAseLinkErrWrongTransForUpd     = 1056, 
  820. /*
  821.       Can't update link. Transaction wasn't opend.      Updating of the link
  822. */
  823.  
  824. eAseLinkErrEnameEIdConvert      = 1059, 
  825. /*
  826.       Can't convert ads_name to AcDbEntityId.           Link making 
  827. */
  828.  
  829. eAseLinkErrEntNoUpd             = 1060, 
  830. /*
  831.       Entity is not updatable. Link can't be created.   Link making  
  832. */
  833.  
  834. eAseLinkErrContainerItem        = 1061, 
  835. /*
  836.       Can't intialize Link Selection for container.     ASELINKS command
  837. */
  838.  
  839. eAseLinkErrNtfEraseUnlinkedEntity = 1062, 
  840. /*
  841.     Link Subsystem has got notification to delete     Processing of the notifications
  842.     links, but specified object has no links.         from linked drawing object
  843. */
  844.  
  845. eAseLinkErrNtfCopyUnlinkedEntity = 1063, 
  846. /*
  847.     Link Subsystem has got notification to copy       Processing of the notifications
  848.     links, but specified object has no links.         from linked drawing object
  849. */
  850.  
  851. eAseLinkErrNtfCanTProcess       = 1064, 
  852. /*
  853.       Link Subsysten can't process the notification.    Processing of the notifications
  854. */
  855.  
  856. eAseLinkErrNtfUnXED             = 1065, 
  857. /*
  858.       Can't restore link. Wrong Xdata.                  Processing of the notifications
  859.                                                         from linked drawing objects.
  860.                                                         Undo command
  861. */
  862.  
  863. eAseLinkErrNtfUnKey             = 1066, 
  864. /*
  865.       Can't restore link. Row can't be registered.      Processing of the notifications
  866.                                                         from linked drawing objects.
  867.                                                         Undo command
  868. */
  869.  
  870. eAseLinkErrNtfUnDA              = 1067, 
  871. /*    
  872.     Can't restore link. Can't store DA columns          Processing of the notifications
  873.                                                         from linked drawing objects.
  874.                                                         Undo command
  875. */
  876.  
  877. eAseLinkErrNtfUnErase           = 1069, 
  878. /*
  879.     Can't restore link. Link isn't found out in the     Processing of the notifications
  880.     Link memory                                         from linked drawing objects.
  881.                                                         Undo command  
  882. */
  883.  
  884. eAseLinkErrInternal             = 1070, 
  885. /*
  886.     Internal error of the Link Subsystem.   
  887. */
  888.  
  889. eAseLinkErrWrongRecordLpnPos    = 1071, 
  890. /*
  891.     Link subsystem can't set the position of the Lpn  Reading link information
  892.     in the Xdata                                      from drawing 
  893. */
  894.  
  895. eAseLinkErrWrongLpnSyntax       = 1073, 
  896. /*    
  897.     LPN syntax error.                                 Reading link information from
  898.                                                       drawing  
  899. */
  900.                                                                                                    
  901. eAseLinkErrCantRegLink          = 1076, 
  902. /*    
  903.     Can't store link. Link Path Name isn't            Reading link information from
  904.     registered yet.                                   drawing. Undo command
  905. */
  906.  
  907. eAseLinkErrCantInitKey          = 1077, 
  908. /*    
  909.     Can't initilize key row to register.              Reading link information from
  910.                                                       drawing. Undo command  
  911. */
  912.                                                                                                             
  913. eAseLinkErrWrongLinkNumber      = 1078, 
  914. /*    
  915.     Wrong link structure in the drawing object.       Reading link information from
  916.                                                       drawing. Undo command  
  917. */
  918.                                                                                                 
  919. eAseLinkErrDuplicateReg         = 1079, 
  920. /*    
  921.     Duplicate registration.                           LPN registration
  922. */
  923.  
  924. eAseLinkErrTrRbackUndel         = 1081, 
  925. /*    
  926.     Can't restore the deleted link.                   Rollback ASE Transaction    
  927. */
  928.  
  929. eAseLinkErrTrRbackTable         = 1082, 
  930. /*    
  931.     Link subsystem can't execute rollback ASE         Rollback ASE Transaction    
  932.     Transaction for link table.
  933. */
  934.  
  935. eAseLinkErrTrRback              = 1083, 
  936. /*    
  937.     Link subsystem can't execute rollback ASE         Rollback ASE Transaction    
  938.     Transaction, because transaction wasn't opened.
  939. */
  940.  
  941. eAseLinkErrTrCommit             = 1084,             
  942. /*    
  943.     Link subsystem can't execute commit ASE             
  944.     Transaction, because transaction wasn't 
  945.     opened.
  946. */
  947.  
  948. eAseLinkErrTrCommitTable        = 1085, 
  949. /*    
  950.     Link subsystem can't execute commit for 
  951.     Link Table.                     
  952. */
  953.  
  954. eAseLinkErrTrCommitDelLink      = 1086, 
  955. /*    
  956.     Link subsystem can't delete link data from        Commit ASE Transaction
  957.     Xdata of the drawing object.
  958. */
  959.  
  960. eAseLinkErrTrCommitAddLink      = 1087, 
  961. /*    
  962.     Link subsystem can't add new link Xdata of        Commit ASE Transaction
  963.     drawing object.
  964. */
  965.  
  966. eAseLinkErrLnkDestroed          = 1088, 
  967. /*    
  968.     Linked row is deleted from link memory before     Commands: Open, New Rx/Unload
  969.     accosiated link have been erased                  Quit
  970. */
  971.  
  972. eAseLinkErrDupUpdLnk            = 1090, 
  973. /*    
  974.     Can't update link. Duplicated links.              Link updating.
  975. */
  976.  
  977. eAseLinkErrRubbNoMem            = 1091, 
  978. /*    
  979.     Can't execute rubbish collector algorithm.        Commit ASE Transaction
  980.     Out of memory
  981. */
  982.  
  983. eAseLinkErrCommitNoMem          = 1092, 
  984. /*    
  985.     Can't execute commit ASE Transaction.             Commit ASE Transaction
  986. */
  987.  
  988. eAseLinkErrCommit               = 1093, 
  989. /*    
  990.     Link Sybsystem can't commit ASE Transaction       Commit ASE Transaction
  991. */
  992.  
  993. eAseLinkErrTrExportLpn          = 1094,  
  994. /*    
  995.     Can't store the export LPN to external database   Wblock command
  996. */
  997.  
  998. eAseLinkErrLostLink             = 1095  
  999. /*    
  1000.     Can't store the link from Xdata
  1001. */
  1002.                                        
  1003. } EAseLinkErrCodes ;
  1004.  
  1005. /* ASE Diagnostic Parameters*/
  1006. typedef enum {
  1007.     kAseDiagErrDsc  =    MinUserDefDiagParam+1, /* ASE error description - Int*/
  1008.     kAseDiagErrCode =    MinUserDefDiagParam+2, /* Error Code        - Int*/
  1009.     kAseDiagErrMsg  =    MinUserDefDiagParam+3, /* ASE Error Message     - Char*/
  1010.     kAseDiagStatement =  MinUserDefDiagParam+4, /* SQL statement         - Char*/
  1011.     kAseDiagSynErrPos =  MinUserDefDiagParam+5, /* Syntax error position - Int*/
  1012.     kAseDiagLPName =     MinUserDefDiagParam+6, /* Link Path Name        - Char*/
  1013.     kAseDiagEnvName =    MinUserDefDiagParam+7, /* Environment name      - Char*/
  1014.     kAseDiagEntHandle =  MinUserDefDiagParam+8, /* Entity handle         - Char*/
  1015.     kAseDiagBlockName =  MinUserDefDiagParam+9, /* Block name       - Char*/
  1016.     kAseDiagLayerName =  MinUserDefDiagParam+10, /* Layer name      - Char*/
  1017. } EAseDiagParms ;
  1018.  
  1019. /* API class codes*/
  1020. typedef enum {
  1021.     kAseApiUnknownId,    /* Unknown API class*/
  1022.     kAseApiAppl,         /* for class CAseAppl and descriptor ASE_APPLDSC*/
  1023.     kAseApiLinkPath,     /* for class CAseLinkPath and descriptor ASE_LPDSC*/
  1024.     kAseApiLink,         /* for class CAseLink and descriptor ASE_LINKDSC*/
  1025.     kAseApiLinkSel       /* for class CAseLinkSel and descriptor ASE_LSELDSC*/
  1026. } EAseApiClassId ;
  1027.  
  1028. #endif /*_ASECONST_H*/
  1029. /*EOF*/
  1030.