home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 8 / CDASC08.ISO / VRAC / MSADDL11.ZIP / MSA_DDL.H < prev    next >
C/C++ Source or Header  |  1993-03-03  |  7KB  |  200 lines

  1. /*=================================================================
  2. Microsoft Jet
  3.  
  4. Microsoft Confidential.  Copyright 1991 Microsoft Corporation.
  5.  
  6. Component: Microsoft Access Data Dictionary Library
  7.  
  8. File: msa_ddl.h - MS Access DDL public API
  9.  
  10. File Comments:
  11.  
  12. Revision History:
  13.  
  14.     [0]  03-Nov-92    a-MarkB        Created
  15.  
  16. =================================================================*/
  17.  
  18. #if !defined(_MSADDL_INCLUDED)
  19. #define _MSADDL_INCLUDED
  20.  
  21. #ifdef    __cplusplus
  22. extern "C" {
  23. #endif
  24.  
  25. #pragma pack(2)
  26.  
  27. #define ACCESSDDL_PUBLIC    _loadds _far _pascal
  28.  
  29.  
  30. typedef long ACCESSDDL_ERR;
  31. typedef unsigned long ACCESSDDL_TABLEID;    /* Table Identifier */
  32. typedef unsigned long ACCESSDDL_DBID;        /* Database Identifier */
  33. typedef unsigned long ACCESSDDL_GRBIT;        /* Group of Bits */
  34. typedef unsigned long ACCESSDDL_FIELDTYPE;    /* Field Type */
  35.  
  36.  
  37. #define ACCESSDDL_bitIndexUnique        0x00000001
  38. #define ACCESSDDL_bitIndexPrimary        0x00000002
  39.  
  40. #define ACCESSDDL_ReferenceUnique        0x00000001
  41. #define ACCESSDDL_ReferenceDontEnforce    0x00000002
  42.  
  43.  
  44. #define ACCESSDDL_fieldtypeYesNo        1
  45. #define ACCESSDDL_fieldtypeByte            2
  46. #define ACCESSDDL_fieldtypeInteger        3
  47. #define ACCESSDDL_fieldtypeLongInteger    4
  48. #define ACCESSDDL_fieldtypeCurrency        5
  49. #define ACCESSDDL_fieldtypeSingle        6
  50. #define ACCESSDDL_fieldtypeDouble        7
  51. #define ACCESSDDL_fieldtypeDateTime        8
  52. #define ACCESSDDL_fieldtypeText            10
  53. #define ACCESSDDL_fieldtypeOLE            11
  54. #define ACCESSDDL_fieldtypeMemo            12
  55.  
  56.  
  57.  
  58. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLStartEngine(
  59.     const char _far *szSystemFileName,
  60.     const char _far *szINIFileName,
  61.     const char _far *szUserName,
  62.     const char _far *szPassword);
  63.  
  64. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLOpenDatabase(
  65.     const char _far *szDatabase,
  66.     ACCESSDDL_DBID _far *pdbid);
  67.  
  68. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLCloseDatabase(
  69.     ACCESSDDL_DBID dbid);
  70.  
  71. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLOpenTable(
  72.     ACCESSDDL_DBID dbid,
  73.     const char _far *szTableName,
  74.     ACCESSDDL_TABLEID _far *ptableid);
  75.  
  76. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLCreateTable(
  77.     ACCESSDDL_DBID dbid,
  78.     const char _far *szTableName,
  79.     ACCESSDDL_TABLEID _far *ptableid);
  80.  
  81. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLDeleteTable(
  82.     ACCESSDDL_DBID dbid,
  83.     const char _far *szTableName);
  84.  
  85. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLRenameTable(
  86.     ACCESSDDL_DBID dbid,
  87.     const char _far *szTableName,
  88.     const char _far *szTableNew);
  89.  
  90. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLCloseTable(
  91.     ACCESSDDL_TABLEID tableid);
  92.  
  93. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLAddField(
  94.     ACCESSDDL_DBID dbid,
  95.     ACCESSDDL_TABLEID tableid,
  96.     const char _far *szFieldName,
  97.     ACCESSDDL_FIELDTYPE fieldtype,
  98.     unsigned long cbMax,
  99.     int fAutoincr);
  100.  
  101. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLDeleteField(
  102.     ACCESSDDL_TABLEID tableid,
  103.     const char _far *szFieldName);
  104.  
  105. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLRenameField(
  106.     ACCESSDDL_TABLEID tableid,
  107.     const char _far *szFieldName,
  108.     const char _far *szFieldNew);
  109.  
  110. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLCreateIndex(
  111.     ACCESSDDL_TABLEID tableid,
  112.     const char _far *szIndexName,
  113.     ACCESSDDL_GRBIT grbit,
  114.     const char _far *szKey);
  115.  
  116. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLDeleteIndex(
  117.     ACCESSDDL_TABLEID tableid,
  118.     const char _far *szIndexName);
  119.  
  120. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLRenameIndex(
  121.     ACCESSDDL_TABLEID tableid,
  122.     const char _far *szIndexName,
  123.     const char _far *szIndexNew);
  124.  
  125. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLCreateReference(
  126.     ACCESSDDL_TABLEID tableid,
  127.     const char _far *szReferenceName,
  128.     const char _far *szFields,
  129.     const char _far *szReferencedTable,
  130.     const char _far *szReferencedFields,
  131.     ACCESSDDL_GRBIT grbit);
  132.  
  133. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLDeleteReference(
  134.     ACCESSDDL_TABLEID tableid,
  135.     const char _far *szReferenceName);
  136.  
  137. ACCESSDDL_ERR ACCESSDDL_PUBLIC AccessDDLStopEngine(
  138.     void);
  139.  
  140.  
  141.  
  142. /* SUCCESS */
  143.  
  144. #define ACCESSDDL_errSuccess                 0        /* Successful Operation */
  145.  
  146. /* ERRORS */
  147.  
  148. #define ACCESSDDL_wrnNYI                    -1        /* Function Not Yet Implemented */
  149.  
  150. #define ACCESSDDL_errAccessDenied            -1907    /* Access denied */
  151. #define ACCESSDDL_errAlreadyInitialized        -1030    /* Engine already started */
  152. #define ACCESSDDL_errDatabaseCloseError     -1806    /* Db file could not be closed */
  153. #define ACCESSDDL_errDatabaseInvalidName    -1204    /* Invalid database name */
  154. #define ACCESSDDL_errDatabaseNotFound        -1203    /* No such database */
  155. #define ACCESSDDL_errField2ndSysMaint        -1510    /* Second autoinc or version field */
  156. #define ACCESSDDL_errFieldCannotIndex        -1513    /* Cannot index Bit,LongText,LongBinary */
  157. #define ACCESSDDL_errFieldDuplicate            -1508    /* Field is already defined */
  158. #define ACCESSDDL_errFieldIndexed            -1505    /* Field indexed, cannot delete */
  159. #define ACCESSDDL_errFieldInUse             -1046    /* Field used in an index */
  160. #define ACCESSDDL_errFieldNotFound            -1507    /* No such field */
  161. #define ACCESSDDL_errFieldTooBig            -1506    /* Field length is > maximum */
  162. #define ACCESSDDL_errFileAccessDenied        -1032    /* File Access Denied */
  163. #define ACCESSDDL_errFileNotFound            -1811    /* File not found */
  164. #define ACCESSDDL_errIllegalOperation        -1312    /* Oper. not supported on table */
  165. #define ACCESSDDL_errIndexDuplicate         -1403    /* Index is already defined */
  166. #define ACCESSDDL_errIndexHasPrimary        -1402    /* Primary index already defined */
  167. #define ACCESSDDL_errIndexInUse             -1051    /* Index used in a reference */
  168. #define ACCESSDDL_errIndexNotFound            -1404    /* Specified index not found */
  169. #define ACCESSDDL_errInvalidAccountName     -1903    /* Invalid account name */
  170. #define ACCESSDDL_errInvalidDatabase        -1028    /* This isn't a database */
  171. #define ACCESSDDL_errInvalidDatabaseId        -1010    /* Invalid database id */
  172. #define ACCESSDDL_errInvalidFieldType        -1511    /* Invalid field data type */
  173. #define ACCESSDDL_errInvalidLogon            -1902    /* Invalid username or password */
  174. #define ACCESSDDL_errInvalidName            -1002    /* Invalid database name */
  175. #define ACCESSDDL_errInvalidParameter        -1003    /* Invalid API parameter */
  176. #define ACCESSDDL_errInvalidPassword        -1905    /* Invalid password */
  177. #define ACCESSDDL_errInvalidPath            -1023    /* Pathname was invalid or nonexistent */
  178. #define ACCESSDDL_errInvalidTableId         -1310    /* Invalid table id */
  179. #define ACCESSDDL_errLinkNotSupported        -1052    /* Link support unavailable */
  180. #define ACCESSDDL_errNotInitialized            -1029    /* StartEngine not yet called */
  181. #define ACCESSDDL_errObjectNotFound         -1305    /* No such table or object */
  182. #define ACCESSDDL_errPermissionDenied        -1809    /* Permission denied */
  183. #define ACCESSDDL_errSelfReference            -1407    /* Referencing/Referenced index is the same */
  184. #define ACCESSDDL_errTableDuplicate         -1303    /* Table already exists */
  185. #define ACCESSDDL_errTableInUse             -1304    /* Table is in use, cannot lock */
  186. #define ACCESSDDL_errTooManyFields            -1040    /* Too many fields defined */
  187. #define ACCESSDDL_errTooManyKeys            -1016    /* Too many fields in an index */
  188. #define ACCESSDDL_errTooManyOpenFiles        -1807    /* Too many files open */
  189. #define ACCESSDDL_errTooManyTasks            -20001    /* Too many concurrent DDL tasks */
  190.  
  191.  
  192.  
  193. #pragma pack()
  194.  
  195. #ifdef    __cplusplus
  196. }
  197. #endif
  198.  
  199. #endif    /* _MSADDL_INCLUDED */
  200.