home *** CD-ROM | disk | FTP | other *** search
/ Datatid 1999 #6 / Datatid_1999-06.iso / internet / Tango352Promo / P.SQL / PTKPKG.1 / SQLAPI.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-12-08  |  34.7 KB  |  1,351 lines

  1. #if !defined(BTI_DOS) && !defined(BTI_WIN) && \
  2.     !defined(BTI_NLM) && !defined(BTI_DOS_32R) && !defined(BTI_DOS_32P) && \
  3.     !defined(BTI_DOS_32B) && !defined(BTI_DOS_16B) &&\
  4.     !defined(BTI_WIN_32)
  5. #error Define one of the following: BTI_DOS, BTI_WIN, BTI_NLM, \
  6.  BTI_DOS_32R, BTI_DOS_32P, BTI_DOS_32B, BTI_DOS_16B, BTI_WIN_32
  7. #endif
  8. #ifndef _SQLAPI_H_INCLUDED
  9. /***************************************************************************
  10. **
  11. ** Copyright (c) 1982-1998 Pervasive Software Inc. All Rights Reserved.
  12. **
  13. ***************************************************************************/
  14. /***************************************************************************
  15.    SQLAPI.H
  16.       This file contains prototypes for the DOS, MS Windows, and
  17.       NLM Scalable SQL calls.  The calling application may be C or C++.
  18.  
  19.       Except for DOS and Extended DOS, the Scalable SQL application
  20.       developer will also need either an import library or linker import
  21.       statements to identify the imported Scalable SQL functions to the
  22.       linker.  The imported functions are:
  23.  
  24.              MS-Windows ... All SQL functions
  25.              NLM .......... XQLEntry - All functions accessed through
  26.                                        XQLEntry except the Named Database
  27.                                        APIs.
  28.  
  29.       Import library names are:
  30.  
  31.              MS-Windows ... W1SQLV7.LIB,
  32.                             W1DBNV7.LIB ( if Named Database APIs used )
  33.              MS-Win 32  ... W3SQLV7.LIB,
  34.                             W3DBNV7.LIB ( if Named Database APIs used )
  35.              NLM .......... Use the linker import statement to import
  36.                             XQLEntry.
  37.  
  38.       If you are creating a DOS, Extended DOS, or NLM application, you must
  39.       compile 'sqlapi.c' and link the resulting object module with your
  40.       application.
  41.  
  42.       This interface module does not support 32-bit Windows applications.
  43.       If you are developing a 32-bit Windows application, you must write
  44.       your own routines to call the necessary compiler-specific functions
  45.       before and after calling a function in the SQL 16-bit DLL.
  46.  
  47.       You must define one of the following to your compiler in order to
  48.       compile for a particular platform:
  49.  
  50.         BTI_DOS     - DOS                                     16-bit Apps
  51.         BTI_DOS_32R - Extended DOS /w Rational + SSQLSTUB.EXE 32-bit Apps
  52.         BTI_DOS_32P - Extended DOS /w Phar Lap 6.0            32-bit Apps
  53.         BTI_DOS_32B - Extended DOS /w Borland PowerPack       32-bit Apps
  54.         BTI_DOS_16B - Extended DOS /w Borland Powerpack       16-bit Apps
  55.         BTI_WIN     - MS WINDOWS                              16-bit Apps
  56.         BTI_WIN_32  - Win32s, NT, Win95                       32-bit Apps
  57.         BTI_NLM     - NetWare NLM                             32-bit Apps
  58.  
  59.       If you do not specify one of the above switches to your compiler,
  60.       an error directive in these interface modules will halt the compilation.
  61.  
  62.       Current support for Named Database APIs:
  63.  
  64.          DOS                              MS Windows
  65.          ---                              ----------
  66.          SQLGetCountDatabaseNames         SQLGetCountDatabaseNames
  67.          SQLGetDatabaseNames              SQLGetDatabaseNames
  68.          SQLUnloadDBNames                 SQLUnloadDBNames
  69.                                           SQLGetCountRemoteDatabaseNames
  70.                                           SQLGetRemoteDatabaseNames
  71.  
  72.       For 32-Bit DOS Rational Applications Using SSQLSTUB
  73.       ---------------------------------------------------
  74.       If you are using the Rational Systems DOS Extender, DOS4G.EXE, along
  75.       with SSQLSTUB.EXE, you will need to define the plaform switch,
  76.       BTI_DOS_32R to your compiler.  You also must link your application
  77.       using the Rational linker, GLU.EXE.  You MUST have a '.def' file
  78.       similar to the following which is used to create a 32-bit sqlsamp.exe:
  79.  
  80.          sqlsamp.def
  81.          -----------
  82.             LIBRARY sqlsamp.dll
  83.             DATA NONSHARED
  84.             EXPORTS
  85.                __ImportedFunctions_
  86.  
  87.       The module, sqlapi.c, requires '__ImportedFunctions_' as shown in
  88.       the above sqlsamp.def.  This allows sqlapi.c to call a function
  89.       in Btrieve without using int386.
  90.  
  91.       The following is the GLU '.lnk' file for sqlsamp.exe using WATCOM
  92.       libraries:
  93.  
  94.           sqlsamp.lnk
  95.           -----------
  96.             sqlsamp.obj
  97.             sqlapi.obj
  98.             -format lin -stack 40000 -dbg -stub ssqlstub.exe
  99.             e(sqlsamp)
  100.             m(sqlsamp)
  101.             dos32wc.lib
  102.             clib3r.lib
  103.             math3r.lib
  104.             math387r.lib
  105.             emu387.lib
  106.  
  107.       You invoke GLU.EXE as follows:
  108.  
  109.             glu -deffile sqlsamp.def @$(target_dir)\sqlsamp.lnk
  110.  
  111.  
  112.       For 32-Bit DOS Borland PowerPack and Phar Lap 6.0 Applications
  113.       --------------------------------------------------------------
  114.       You must compile and link the following modules:
  115.       - sqlapi.obj
  116.       - fixparms.obj
  117.       - vglobals.obj
  118.       - cnvseq.obj
  119.       - bmemcopy.obj ( already assembled )
  120.  
  121.       For 32-Bit NT, Win95, and Win32s Applications
  122.       ---------------------------------------------
  123.       - If using WATCOM, you must use version 10.5 or later.  Earlier versions
  124.         do not understand the format of the import libraries.
  125.  
  126.       'BTI_SIZE' Notes
  127.       ----------------
  128.       The purpose of the BTI_SIZE data type is to allow the size of the data
  129.       buffer for the SSQL engine to change as platforms change without
  130.       affecting the application's data types.  We have changed all count,
  131.       length, and size parameters in the SSQL APIs to be of type 'BTI_SIZE'.
  132.  
  133. ***************************************************************************/
  134. #include <btitypes.h>
  135. #include <stddef.h>
  136.  
  137. #ifdef __cplusplus
  138. extern "C" {
  139. #endif
  140.  
  141. /**************************************************************************
  142.    PLATFORM-INDEPENDENT SESSION MANAGEMENT PRIMITIVES
  143.       The following primitives are required by applications which
  144.       want to use multiple SQL logins:
  145.          xGetSessionID
  146.          xPutSessionID
  147. **************************************************************************/
  148. BTI_API xGetSessionID(
  149.            BTI_SINT_PTR iSessionID );
  150.  
  151. BTI_API xPutSessionID(
  152.            BTI_SINT iSessionID );
  153.  
  154. /**************************************************************************
  155.    PLATFORM-SPECIFIC MISCELLANEOUS FUNCTIONS
  156.       XQLCallback                    ( MS Windows )
  157.       xShareSessionID                ( MS Windows )
  158.       SetNSAgentID                   ( NLM        )
  159.       SQLGetCountDatabaseNames       ( MS Windows, NT, Win95, DOS )
  160.       SQLGetCountRemoteDatabaseNames ( MS Windows, NT, Win95      )
  161.       SQLGetDatabaseNames            ( MS Windows, NT, Win95, DOS )
  162.       SQLGetRemoteDatabaseNames      ( MS Windows, NT, Win95      )
  163.       SQLUnloadDBNames               ( MS Windows, NT, Win95, DOS )
  164. **************************************************************************/
  165. #ifdef BTI_WIN
  166. BTI_API XQLCallback(
  167.            BTI_WORD                   iAction,
  168.            BTI_WORD                   iOption,
  169.            BTI_CB_FUNC_PTR_T          fCallback,
  170.            BTI_CB_FUNC_PTR_T BTI_FAR *fPrevCallback,
  171.            BTI_VOID_PTR               bUData,
  172.            BTI_VOID_PTR BTI_FAR      *bPrevUData );
  173.  
  174. BTI_API xShareSessionID(
  175.            BTI_SIZE_PTR tChangeCount );
  176. #endif
  177.  
  178. #ifdef BTI_NLM
  179. BTI_VOID SetNSAgentID(
  180.             BTI_CHAR_PTR newID );
  181. #endif
  182.  
  183. #if defined( BTI_WIN ) || defined( BTI_WIN_32 )
  184. /* DATABASE NAMES APIs FOR WINDOWS */
  185. BTI_API SQLGetCountDatabaseNames(
  186.            BTI_SIZE_PTR tCount );
  187.  
  188. BTI_API SQLGetCountRemoteDatabaseNames(
  189.            BTI_SIZE_PTR tCount );
  190.  
  191. BTI_API SQLGetDatabaseNames(
  192.            BTI_SIZE_PTR tBufLen,
  193.            BTI_CHAR_PTR bDataBuf );
  194.  
  195. BTI_API SQLGetRemoteDatabaseNames(
  196.            BTI_SIZE_PTR tBufLen,
  197.            BTI_CHAR_PTR bDataBuf );
  198.  
  199. BTI_API SQLUnloadDBNames(
  200.            BTI_INT iReserved );
  201. #endif
  202.  
  203. #if defined(BTI_DOS)     || defined(BTI_DOS_32R) || \
  204.     defined(BTI_DOS_32P) || defined(BTI_DOS_32B) || \
  205.     defined(BTI_DOS_16B)
  206. /* DATABASE NAMES APIs FOR DOS */
  207. BTI_API SQLGetCountDatabaseNames(
  208.            BTI_SIZE_PTR tCount );
  209.  
  210. BTI_API SQLGetDatabaseNames(
  211.            BTI_SIZE_PTR tBufLen,
  212.            BTI_CHAR_PTR bDataBuf );
  213.  
  214. BTI_API SQLUnloadDBNames(
  215.            BTI_SINT iReserved );
  216. #endif
  217.  
  218. /**************************************************************************
  219.    PLATFORM-INDEPENDENT SQL-LEVEL FUNCTIONS
  220.       XQLCursor           XQLSPUtility
  221.       XQLCompile          XQLStatus
  222.       XQLDescribe         XQLStop
  223.       XQLExec             XQLSubst
  224.       XQLFetch            XQLVersion
  225.       XQLFormat           XQLConvert
  226.       XQLFree             XQLValidate
  227.       XQLLogin            XQLMask
  228.       XQLLogout
  229. **************************************************************************/
  230. BTI_API XQLCursor(
  231.            BTI_SINT_PTR iCursorID );
  232.  
  233. BTI_API XQLCompile(
  234.            BTI_SINT     iCursorID,
  235.            BTI_SIZE_PTR tStatementLen,
  236.            BTI_CHAR_PTR sStatement );
  237.  
  238. BTI_API XQLDescribe(
  239.            BTI_SINT     iCursorID,
  240.            BTI_SIZE     tPosition,
  241.            BTI_SINT_PTR iDataType,
  242.            BTI_SIZE_PTR tSize,
  243.            BTI_SIZE_PTR tDecPlaces,
  244.            BTI_SIZE_PTR tDisplayLen,
  245.            BTI_SIZE_PTR tNameLen,
  246.            BTI_CHAR_PTR sName );
  247.  
  248. BTI_API XQLExec(
  249.            BTI_SINT iCursorID );
  250.  
  251. BTI_API XQLFetch(
  252.            BTI_SINT     iCursorID,
  253.            BTI_SINT     iOption,
  254.            BTI_SIZE_PTR tBufLen,
  255.            BTI_CHAR_PTR bDataBuf,
  256.            BTI_LONG_PTR lCount,
  257.            BTI_SINT     iASCIIFlag,
  258.            BTI_SINT     iSpacing );
  259.  
  260. BTI_API XQLFormat(
  261.            BTI_SINT     iCursorID,
  262.            BTI_SIZE     tPosition,
  263.            BTI_SIZE     tMaskLen,
  264.            BTI_CHAR_PTR sMask );
  265.  
  266. BTI_API XQLFree(
  267.            BTI_SINT iCursorID );
  268.  
  269. BTI_API XQLLogin(
  270.            BTI_CHAR_PTR sUser,
  271.            BTI_CHAR_PTR sPassword,
  272.            BTI_CHAR_PTR sDDPath,
  273.            BTI_CHAR_PTR sDataPath,
  274.            BTI_CHAR_PTR sReserved,
  275.            BTI_SINT     iFeaturesUsed );
  276.  
  277. BTI_API XQLLogout(
  278.            void );
  279.  
  280. BTI_API XQLSPUtility(
  281.            BTI_SINT     iCursorID,
  282.            BTI_SINT     iOption,
  283.            BTI_SIZE_PTR tStatementCount,
  284.            BTI_SIZE_PTR tStatementExec,
  285.            BTI_SIZE_PTR tBufLen,
  286.            BTI_CHAR_PTR bDataBuf );
  287.  
  288. BTI_API XQLStatus(
  289.            BTI_SINT     iCursorID,
  290.            BTI_SINT     iOption,
  291.            BTI_CHAR_PTR sStatBuf );
  292.  
  293. BTI_API XQLStop(
  294.            void );
  295.  
  296. BTI_API XQLSubst(
  297.            BTI_SINT     iCursorID,
  298.            BTI_SIZE     tCount,
  299.            BTI_SIZE     tNameLen,
  300.            BTI_CHAR_PTR sVarNames,
  301.            BTI_SIZE     tTextLen,
  302.            BTI_CHAR_PTR sValueText );
  303.  
  304. BTI_API XQLVersion(
  305.            BTI_CHAR_PTR sVersion );
  306.  
  307. BTI_API XQLConvert(
  308.            BTI_SINT     iOption,
  309.            BTI_SINT     iType,
  310.            BTI_SIZE     tSize,
  311.            BTI_SIZE     tDec,
  312.            BTI_SIZE     tdSize,
  313.            BTI_CHAR_PTR sValue,
  314.            BTI_CHAR_PTR sRetVal,
  315.            BTI_CHAR_PTR sMask,
  316.            BTI_SINT     sJustify );
  317.  
  318. BTI_API XQLValidate(
  319.            BTI_SIZE_PTR tCount,
  320.            BTI_CHAR_PTR sFieldName,
  321.            BTI_SIZE     tBufLen,
  322.            BTI_CHAR_PTR bDataBuf );
  323.  
  324. BTI_API XQLMask(
  325.            BTI_SINT     iOption,
  326.            BTI_SINT     iType,
  327.            BTI_SIZE     tSize,
  328.            BTI_SIZE     tDec,
  329.            BTI_SIZE_PTR tLen,
  330.            BTI_CHAR_PTR sMask );
  331.  
  332. /**************************************************************************
  333.    PLATFORM-INDEPENDENT HISTORICAL RELATIONAL PRIMITIVES
  334.       The following functions will be phased out over time.  They
  335.       are included in the interface modules to support existing
  336.       applications.  New applications should not use these functions.
  337.  
  338.       xCompute    xOrder         xDD            xAccess
  339.       xDescribe   xRemall        xDDAttr        xPassword
  340.       xMovefld    xRemove        xDDModify      xSecurity
  341.       xFetch      xReset         xDDCreate      xUser
  342.       xField      xRestrict      xDDDrop        xChar
  343.       xFree       xStop          xDDField       xVersion
  344.       xInsert     xTrans         xDDFile        xStatus
  345.       xJoin       xStore         xDDIndex       xConvert
  346.       xLogin      xRecall        xDDPath        xValidate
  347.       xLogout     xUpdate        xDDView        xMask
  348.       xNew        xUpdall
  349.  *********************************************************************/
  350. BTI_API xCompute(
  351.            BTI_SINT     iCursorID,
  352.            BTI_CHAR_PTR sFldName,
  353.            BTI_SINT     iFldType,
  354.            BTI_SIZE     tFldLen,
  355.            BTI_SIZE     tDecPlaces,
  356.            BTI_SIZE_PTR tExpLen,
  357.            BTI_CHAR_PTR sExpression );
  358.  
  359. BTI_API xDescribe(
  360.            BTI_SINT     iCursorID,
  361.            BTI_SINT     iOption,
  362.            BTI_SIZE_PTR tBufLen,
  363.            BTI_SIZE     tPosition,
  364.            BTI_SIZE_PTR tCount,
  365.            BTI_CHAR_PTR bDataBuf );
  366.  
  367. BTI_API xMovefld(
  368.            BTI_SINT iCursorID,
  369.            BTI_SIZE tFromPosition,
  370.            BTI_SIZE tToPosition );
  371.  
  372. BTI_API xFetch(
  373.            BTI_SINT     iCursorID,
  374.            BTI_SIZE_PTR tBufLen,
  375.            BTI_SINT     iOption,
  376.            BTI_LONG_PTR lRecordCount,
  377.            BTI_LONG_PTR lRejectCount,
  378.            BTI_CHAR_PTR bDataBuf );
  379.  
  380. BTI_API xField(
  381.            BTI_SINT     iCursorID,
  382.            BTI_SINT     iOption,
  383.            BTI_SIZE     tPosition,
  384.            BTI_SIZE_PTR tCount,
  385.            BTI_CHAR_PTR sFldNames );
  386.  
  387. BTI_API xFree(
  388.            BTI_SINT iCursorID );
  389.  
  390. BTI_API xInsert(
  391.            BTI_SINT     iCursorID,
  392.            BTI_SIZE_PTR tFileCount,
  393.            BTI_CHAR_PTR sFileNames,
  394.            BTI_LONG_PTR lRecordCount,
  395.            BTI_CHAR_PTR bDataBuf );
  396.  
  397. BTI_API xJoin(
  398.            BTI_SINT     iCursorID,
  399.            BTI_CHAR_PTR sSecFile,
  400.            BTI_CHAR_PTR sOwner,
  401.            BTI_SINT     iOption,
  402.            BTI_SIZE     tPriFldCount,
  403.            BTI_CHAR_PTR sPriFlds,
  404.            BTI_SIZE     tSecFldCount,
  405.            BTI_CHAR_PTR sSecFlds );
  406.  
  407. BTI_API xLogin(
  408.            BTI_CHAR_PTR sUser,
  409.            BTI_CHAR_PTR sPassword,
  410.            BTI_CHAR_PTR sDDPath,
  411.            BTI_CHAR_PTR sDataPath,
  412.            BTI_CHAR_PTR sReserved,
  413.            BTI_SINT     iFeaturesUsed );
  414.  
  415. BTI_API xLogout(
  416.            void );
  417.  
  418. BTI_API xNew(
  419.            BTI_SINT_PTR iCursorID,
  420.            BTI_CHAR_PTR sFileName,
  421.            BTI_CHAR_PTR sOwner,
  422.            BTI_SINT     iOpenMode );
  423.  
  424. BTI_API xOrder(
  425.            BTI_SINT     iCursorID,
  426.            BTI_SIZE     tCount,
  427.            BTI_CHAR_PTR sOrderFld );
  428.  
  429. BTI_API xRemall(
  430.            BTI_SINT     iCursorID,
  431.            BTI_SIZE_PTR tFileCount,
  432.            BTI_CHAR_PTR sFileNames,
  433.            BTI_SINT     iOption,
  434.            BTI_LONG_PTR lRecordCount,
  435.            BTI_LONG_PTR lRejectCount );
  436.  
  437. BTI_API xRemove(
  438.            BTI_SINT     iCursorID,
  439.            BTI_SIZE_PTR tFileCount,
  440.            BTI_CHAR_PTR sFileNames,
  441.            BTI_LONG_PTR lRecordCount );
  442.  
  443. BTI_API xReset(
  444.            BTI_CHAR_PTR sReserved );
  445.  
  446. BTI_API xRestrict(
  447.            BTI_SINT     iCursorID,
  448.            BTI_SINT     iOption,
  449.            BTI_SIZE_PTR tExpLen,
  450.            BTI_CHAR_PTR sExpression );
  451.  
  452. BTI_API xStop(
  453.            void );
  454.  
  455. BTI_API xTrans(
  456.            BTI_SINT iOption );
  457.  
  458. BTI_API xStore(
  459.            BTI_SINT     iCursorID,
  460.            BTI_CHAR_PTR sViewName,
  461.            BTI_SIZE     tTextLen,
  462.            BTI_CHAR_PTR sText );
  463.  
  464. BTI_API xRecall(
  465.            BTI_SINT_PTR iCursorID,
  466.            BTI_CHAR_PTR sViewName,
  467.            BTI_SIZE     tOwnerCount,
  468.            BTI_CHAR_PTR sOwner,
  469.            BTI_SINT     iOpenMode,
  470.            BTI_SIZE_PTR tTextLen,
  471.            BTI_CHAR_PTR sText );
  472.  
  473. BTI_API xUpdate(
  474.            BTI_SINT     iCursorID,
  475.            BTI_SIZE_PTR tFileCount,
  476.            BTI_CHAR_PTR sFileNames,
  477.            BTI_LONG_PTR lRecordCount,
  478.            BTI_CHAR_PTR bDataBuf );
  479.  
  480. BTI_API xUpdall(
  481.            BTI_SINT     iCursorID,
  482.            BTI_SIZE_PTR tFileCount,
  483.            BTI_CHAR_PTR sFileNames,
  484.            BTI_SINT     iOption,
  485.            BTI_LONG_PTR lRecordCount,
  486.            BTI_LONG_PTR lRejectCount,
  487.            BTI_SIZE     tFldCount,
  488.            BTI_CHAR_PTR sUpdateFld,
  489.            BTI_CHAR_PTR sReplaceFld );
  490.  
  491. BTI_API xDD(
  492.            BTI_CHAR_PTR sPathName,
  493.            BTI_SINT     iOption );
  494.  
  495. BTI_API xDDAttr(
  496.            BTI_SINT     iOption,
  497.            BTI_CHAR_PTR sFldName,
  498.            BTI_SINT     iAttrType,
  499.            BTI_SIZE_PTR tBufLen,
  500.            BTI_CHAR_PTR sAttrBuf );
  501.  
  502. BTI_API xDDModify(
  503.            BTI_SINT     iOption,
  504.            BTI_CHAR_PTR sFileName,
  505.            BTI_SINT     iCreate,
  506.            BTI_CHAR_PTR sPathName,
  507.            BTI_CHAR_PTR sOwner,
  508.            BTI_SINT     iOwnerFlag,
  509.            BTI_SIZE     tFldCount,
  510.            BTI_CHAR_PTR bFldBuf,
  511.            BTI_SIZE     tIndxCount,
  512.            BTI_CHAR_PTR bIndxBuf );
  513.  
  514. BTI_API xDDCreate(
  515.            BTI_SINT     iOption,
  516.            BTI_CHAR_PTR sFileName,
  517.            BTI_SINT     iCreate,
  518.            BTI_CHAR_PTR sPathName,
  519.            BTI_CHAR_PTR sOwner,
  520.            BTI_SINT     iOwnerFlag,
  521.            BTI_SIZE     tFldCount,
  522.            BTI_CHAR_PTR bFldBuf,
  523.            BTI_SIZE     tIndxCount,
  524.            BTI_CHAR_PTR bIndxBuf,
  525.            BTI_SIZE     tBufLen,
  526.            BTI_CHAR_PTR bCreateParmsBuf );
  527.  
  528. BTI_API xDDDrop(
  529.            BTI_CHAR_PTR sName,
  530.            BTI_SINT     iType,
  531.            BTI_SINT     iDelete );
  532.  
  533. BTI_API xDDField(
  534.            BTI_SINT     iOption,
  535.            BTI_SIZE_PTR tCount,
  536.            BTI_CHAR_PTR sFldNames,
  537.            BTI_SIZE_PTR tBufLen,
  538.            BTI_CHAR_PTR bDataBuf );
  539.  
  540. BTI_API xDDFile(
  541.            BTI_SINT     iOption,
  542.            BTI_SIZE_PTR tCount,
  543.            BTI_CHAR_PTR sFileNames,
  544.            BTI_SIZE_PTR tBufLen,
  545.            BTI_CHAR_PTR bDataBuf );
  546.  
  547. BTI_API xDDIndex(
  548.            BTI_SINT     iOption,
  549.            BTI_SIZE_PTR tCount,
  550.            BTI_CHAR_PTR sIndexName,
  551.            BTI_SIZE_PTR tBufLen,
  552.            BTI_CHAR_PTR bDataBuf );
  553.  
  554. BTI_API xDDPath(
  555.         BTI_SINT     iOption,
  556.         BTI_CHAR_PTR sPathName );
  557.  
  558. BTI_API xDDView(
  559.         BTI_SIZE_PTR tCount,
  560.         BTI_CHAR_PTR sViewName,
  561.         BTI_SIZE_PTR tBufLen,
  562.         BTI_CHAR_PTR bDataBuf );
  563.  
  564. BTI_API xAccess(
  565.            BTI_CHAR_PTR sMstrPswd,
  566.            BTI_CHAR_PTR sUser,
  567.            BTI_SINT     iOption,
  568.            BTI_SINT     iAccRights,
  569.            BTI_CHAR_PTR sFileName,
  570.            BTI_SIZE_PTR tCount,
  571.            BTI_CHAR_PTR sFldNames,
  572.            BTI_SIZE_PTR tBufLen,
  573.            BTI_CHAR_PTR bDataBuf );
  574.  
  575. BTI_API xPassword(
  576.            BTI_CHAR_PTR sUser,
  577.            BTI_CHAR_PTR sPassword );
  578.  
  579. BTI_API xSecurity(
  580.         BTI_CHAR_PTR sMstrPswd,
  581.         BTI_SINT     iOption );
  582.  
  583. BTI_API xUser(
  584.            BTI_CHAR_PTR sMstPswd,
  585.            BTI_SINT     iOption,
  586.            BTI_CHAR_PTR sUser,
  587.            BTI_CHAR_PTR sPassword,
  588.            BTI_SINT     iFlags,
  589.            BTI_SIZE_PTR tCount,
  590.            BTI_SIZE_PTR tBufLen,
  591.            BTI_CHAR_PTR bDataBuf );
  592.  
  593. BTI_API xChar(
  594.            BTI_SINT     iOption,
  595.            BTI_SINT     iType,
  596.            BTI_CHAR_PTR cCharacter );
  597.  
  598. BTI_API xVersion(
  599.            BTI_CHAR_PTR sVersion );
  600.  
  601. BTI_API xStatus(
  602.            BTI_SINT     iCursorID,
  603.            BTI_SINT     iOption,
  604.            BTI_SIZE_PTR tLen,
  605.            BTI_CHAR_PTR sStatBuf );
  606.  
  607. BTI_API xConvert(
  608.            BTI_SINT     iOption,
  609.            BTI_SINT     iType,
  610.            BTI_SIZE     tSize,
  611.            BTI_SIZE     tDec,
  612.            BTI_SIZE     tDSize,
  613.            BTI_CHAR_PTR sValue,
  614.            BTI_CHAR_PTR sRetVal,
  615.            BTI_CHAR_PTR sMask,
  616.            BTI_SINT     iJustify );
  617.  
  618. BTI_API xValidate(
  619.            BTI_SIZE_PTR tCount,
  620.            BTI_CHAR_PTR sFieldName,
  621.            BTI_SIZE     tBufLen,
  622.            BTI_CHAR_PTR bDataBuf );
  623.  
  624. BTI_API xMask(
  625.            BTI_SINT     iOption,
  626.            BTI_SINT     iType,
  627.            BTI_SIZE     tSize,
  628.            BTI_SINT     iDec,
  629.            BTI_SIZE_PTR tLen,
  630.            BTI_CHAR_PTR sMask );
  631.  
  632. /***************************************************************************
  633.    Structure Definitions
  634. ***************************************************************************/
  635. #define XQLP_SIG       0x504c5158       /* "XQLP" */
  636. #define XQLM_SIG       0x4d4c5158       /* "XQLM" */
  637.  
  638. /***************************************************************************
  639.     Named Database Constants and Structure Definitions
  640.       The following section is needed for both sqlapi.c and sqlapix.c.
  641.       Sqlapix.c is available only to internal BTI users.
  642. ***************************************************************************/
  643. #if defined(BTI_DOS)     || defined(BTI_DOS_32R) || \
  644.     defined(BTI_DOS_32P) || defined(BTI_DOS_32B) || \
  645.     defined(BTI_DOS_16B)
  646.  
  647. #define DBNM_SIG              0x4d4e4244L                         /* "DBNM" */
  648. #define DBNM_FUNC             768
  649. #define PMSW_SIGN             "PMSW"
  650.  
  651. /*  SQLAddDataBaseName Fcn: 0 */
  652. typedef struct
  653. {
  654.     BTI_CHAR_PTR databaseName;
  655.     BTI_CHAR_PTR databaseFlags;
  656.     BTI_ULONG    dictionaryBufLen;
  657.     BTI_CHAR_PTR dictionaryPath;
  658.     BTI_ULONG    dataPathBufLen;
  659.     BTI_CHAR_PTR dataPaths;
  660. } DBNADD;
  661.  
  662. /*  SQLDropDatabaseName Fcn: 1 */
  663. typedef struct
  664. {
  665.     BTI_CHAR_PTR databaseName;
  666. } DBNDROP;
  667.  
  668. /* SQLGetCountDatabaseNames Fcn: 2 */
  669. typedef struct
  670. {
  671.     BTI_ULONG count;
  672. } DBNGETCNT;
  673.  
  674. /* SQLGetDatabaseInfo Fcn: 3 */
  675. typedef struct
  676. {
  677.     BTI_CHAR_PTR databaseName;
  678.     BTI_CHAR_PTR databaseFlags;
  679.     BTI_ULONG    dictionaryBufLen;
  680.     BTI_CHAR_PTR dictionaryPath;
  681.     BTI_ULONG    dataPathBufLen;
  682.     BTI_CHAR_PTR dataPaths;
  683. } DBNGETINFO;
  684.  
  685. /*  SQLGetDatabaseNames Fcn: 4 */
  686. typedef struct
  687. {
  688.     BTI_ULONG    bufLen;
  689.     BTI_CHAR_PTR buffer;
  690. } DBNGETNAME;
  691.  
  692. /*  SQLModifyDatabaseInfo Fcn: 5 */
  693. typedef struct
  694. {
  695.     BTI_CHAR_PTR databaseName;
  696.     BTI_CHAR_PTR databaseFlags;
  697.     BTI_ULONG    dictionaryBufLen;
  698.     BTI_CHAR_PTR dictionaryPath;
  699.     BTI_ULONG    dataPathBufLen;
  700.     BTI_CHAR_PTR dataPaths;
  701. } DBNMODINFO;
  702.  
  703. /*  SQLRenameDatabase Fcn: 6 */
  704. typedef struct
  705. {
  706.     BTI_CHAR_PTR oldDatabaseName;
  707.     BTI_CHAR_PTR newDatabaseName;
  708. } DBNREN;
  709.  
  710. /*  SQLUnloadDBNames Fcn: 7 */
  711. typedef struct
  712. {
  713.     BTI_SINT reserved;
  714. } DBNUNLOAD;
  715.  
  716. /* Protected Mode switch parameter block */
  717. typedef struct
  718. {
  719.     BTI_CHAR     sign[ 4 ];
  720.     BTI_ULONG    flags;
  721.     BTI_ULONG    func;
  722.     BTI_LONG     stat;
  723.     BTI_ULONG    len;
  724.     BTI_VOID_PTR data;
  725. } pmswParmBlock;
  726. #endif
  727.  
  728.  
  729. /***************************************************************************
  730.    Structure Definitions for Primitives
  731. ***************************************************************************/
  732. /* xAccess */
  733. typedef struct
  734. {
  735.     BTI_CHAR_PTR mpswd;
  736.     BTI_CHAR_PTR username;
  737.     BTI_SINT     fcn;                         /* allow, deny, return rights */
  738.     BTI_SINT     rights;
  739.     BTI_CHAR_PTR filename;
  740.     BTI_SINT     count;                                 /* field list count */
  741.     BTI_CHAR_PTR name;                                  /* field list names */
  742.     BTI_SINT     buflen;                               /* max buffer length */
  743.     BTI_CHAR_PTR outbuf;                                   /* output buffer */
  744. } TACCESS;
  745.  
  746.  
  747. /* xChar */
  748. typedef struct
  749. {
  750.     BTI_SINT charFcn;
  751.     BTI_SINT charType;
  752.     BTI_SINT charValue;
  753. } TCHARX;
  754.  
  755.  
  756. /* xCompute */
  757. typedef struct
  758. {
  759.     BTI_CHAR_PTR fldname;
  760.     BTI_SINT     fldtype;
  761.     BTI_SINT     fldsize;
  762.     BTI_SINT     flddec;
  763.     BTI_SINT     explen;
  764.     BTI_CHAR_PTR expbuf;
  765. } TCOMPUTE;
  766.  
  767.  
  768. /* xConvert */
  769. typedef struct
  770. {
  771.     BTI_SINT     option;
  772.     BTI_SINT     type;
  773.     BTI_SINT     size;
  774.     BTI_SINT     dec;
  775.     BTI_SINT     dsize;
  776.     BTI_CHAR_PTR value;
  777.     BTI_CHAR_PTR retval;
  778.     BTI_CHAR_PTR mask;
  779.     BTI_SINT     justify;
  780. } TCONVERT;
  781.  
  782.  
  783. /* xDD */
  784. typedef struct
  785. {
  786.     BTI_CHAR_PTR dirpath;
  787.     BTI_SINT     function;
  788. } TDD;
  789.  
  790.  
  791. /* xDDAttr */
  792. typedef struct
  793. {
  794.     BTI_SINT     fcn;
  795.     BTI_CHAR_PTR fieldname;      /* field name */
  796.     BTI_SINT     attr;
  797.     BTI_SINT     bufsize;
  798.     BTI_CHAR_PTR attrbuf;        /* attributes buffer */
  799. } TDDATTR;
  800.  
  801.  
  802. /* xDDCreate */
  803. typedef struct
  804. {
  805.     BTI_SINT     option;
  806.     BTI_CHAR_PTR filename;
  807.     BTI_SINT     create;
  808.     BTI_CHAR_PTR pathname;
  809.     BTI_CHAR_PTR owner;
  810.     BTI_SINT     oaccess;         /* owner access restrictions */
  811.     BTI_SINT     fldcount;
  812.     BTI_CHAR_PTR fieldlist;
  813.     BTI_SINT     kcount;
  814.     BTI_CHAR_PTR keylist;
  815.     BTI_SINT     buflen;
  816.     BTI_CHAR_PTR createparms;
  817. } TDDCREATE;
  818.  
  819.  
  820. /* xDDDrop */
  821. typedef struct
  822. {
  823.     BTI_CHAR_PTR filename;
  824.     BTI_SINT     filetype;
  825.     BTI_SINT     deletepath;
  826. } TDDDROP;
  827.  
  828.  
  829. /* xDDField */
  830. typedef struct
  831. {
  832.     BTI_SINT     rtype;
  833.     BTI_SINT     count;
  834.     BTI_CHAR_PTR fieldbuf;
  835.     BTI_SINT     buflen;
  836.     BTI_CHAR_PTR outbuf;
  837. } TDDFIELD;
  838.  
  839.  
  840. /* xDDFile */
  841. typedef struct
  842. {
  843.     BTI_SINT     rtype;
  844.     BTI_SINT     count;
  845.     BTI_CHAR_PTR filebuf;
  846.     BTI_SINT     buflen;
  847.     BTI_CHAR_PTR outbuf;
  848. } TDDFILE;
  849.  
  850.  
  851. /* xDDIndex */
  852. typedef struct
  853. {
  854.     BTI_SINT     rtype;
  855.     BTI_SINT     count;
  856.     BTI_CHAR_PTR fieldbuf;
  857.     BTI_SINT     buflen;
  858.     BTI_CHAR_PTR outbuf;
  859. } TDDINDEX;
  860.  
  861.  
  862. /* xDDModify */
  863. typedef struct
  864. {
  865.     BTI_SINT     option;
  866.     BTI_CHAR_PTR filename;
  867.     BTI_SINT     create;
  868.     BTI_CHAR_PTR pathname;
  869.     BTI_CHAR_PTR owner;
  870.     BTI_SINT     oaccess;         /* owner access restrictions */
  871.     BTI_SINT     fldcount;
  872.     BTI_CHAR_PTR fieldlist;
  873.     BTI_SINT     kcount;
  874.     BTI_CHAR_PTR keylist;
  875. } TDDMOD;
  876.  
  877.  
  878. /* xDDPath */
  879. typedef struct
  880. {
  881.     BTI_SINT     dirtype;
  882.     BTI_CHAR_PTR pathname;
  883. } TDDPATH;
  884.  
  885.  
  886. /* xDDView */
  887. typedef struct
  888. {
  889.     BTI_SINT     count;
  890.     BTI_CHAR_PTR viewname;
  891.     BTI_SINT     buflen;
  892.     BTI_CHAR_PTR outbuf;
  893. } TDDVIEW;
  894.  
  895.  
  896. /* xDescribe */
  897. typedef struct
  898. {
  899.     BTI_SINT     option;
  900.     BTI_SINT     desclen;
  901.     BTI_SINT     position;
  902.     BTI_SINT     count;
  903.     BTI_CHAR_PTR desclist;
  904. } TDESCRIBE;
  905.  
  906.  
  907. /* xFetch */
  908. typedef struct
  909. {
  910.     BTI_SINT     datalen;
  911.     BTI_SINT     option;
  912.     long         select;
  913.     long         reject;
  914.     BTI_CHAR_PTR databuf;
  915. } TFETCH;
  916.  
  917.  
  918. /* xField */
  919. typedef struct
  920. {
  921.     BTI_SINT     option;
  922.     BTI_SINT     position;
  923.     BTI_SINT     count;
  924.     BTI_CHAR_PTR fldlist;
  925. } TFIELD;
  926.  
  927.  
  928. /* xInsert */
  929. /* xUpdate */
  930. /* xRemove */
  931. typedef struct
  932. {
  933.     BTI_SINT     filecount;
  934.     BTI_CHAR_PTR filelist;
  935.     long         editcount;
  936.     BTI_CHAR_PTR buf;
  937. } TEDIT;
  938.  
  939.  
  940. /* xJoin */
  941. typedef struct
  942. {
  943.     BTI_CHAR_PTR filename;
  944.     BTI_CHAR_PTR owner;
  945.     BTI_SINT     joinType;
  946.     BTI_SINT     pCount;
  947.     BTI_CHAR_PTR pNames;
  948.     BTI_SINT     sCount;
  949.     BTI_CHAR_PTR sNames;
  950. } TJOIN;
  951.  
  952.  
  953. /* xLogin */
  954. typedef struct
  955. {
  956.    BTI_CHAR_PTR username;
  957.    BTI_CHAR_PTR pswd;
  958.    BTI_CHAR_PTR dictionary;
  959.    BTI_CHAR_PTR filepath;
  960.    BTI_CHAR_PTR sreserved;
  961.    BTI_SINT     iFeaturesUsed;
  962. } TLOGIN;
  963.  
  964.  
  965. /* xMask */
  966. typedef struct
  967. {
  968.     BTI_SINT     option;
  969.     BTI_SINT     type;
  970.     BTI_SINT     size;
  971.     BTI_SINT     dec;
  972.     BTI_SINT     mlen;
  973.     BTI_CHAR_PTR mask;
  974. } TMASK;
  975.  
  976.  
  977. /* xMovefld */
  978. typedef struct
  979. {
  980.     BTI_SINT frompos;
  981.     BTI_SINT topos;
  982. } TMOVEFLD;
  983.  
  984.  
  985. /* xNew */
  986. typedef struct
  987. {
  988.     BTI_CHAR_PTR filename;
  989.     BTI_CHAR_PTR owner;
  990.     BTI_SINT     openmode;
  991. } TNEW;
  992.  
  993.  
  994. /* xOrder */
  995. typedef struct
  996. {
  997.     BTI_SINT     count;
  998.     BTI_CHAR_PTR fldlist;
  999. } TORDER;
  1000.  
  1001.  
  1002. /* xPassword */
  1003. typedef struct
  1004. {
  1005.     BTI_CHAR_PTR user;                                         /* user name */
  1006.     BTI_CHAR_PTR pswd;                                          /* password */
  1007. } TPASSWORD;
  1008.  
  1009.  
  1010. /* xRecall */
  1011. typedef struct
  1012. {
  1013.     BTI_CHAR_PTR RecallName;
  1014.     BTI_SINT     ownernum;
  1015.     BTI_CHAR_PTR ownerlst;
  1016.     BTI_SINT     openmode;
  1017.     BTI_SINT     buflen;
  1018.     BTI_CHAR_PTR buf;
  1019. } TRECALL;
  1020.  
  1021.  
  1022. /* xRemall */
  1023. typedef struct
  1024. {
  1025.     BTI_SINT     filecount;
  1026.     BTI_CHAR_PTR filelist;
  1027.     BTI_SINT     option;
  1028.     long         select;
  1029.     long         reject;
  1030. } TREMALL;
  1031.  
  1032.  
  1033. /* xReset */
  1034. typedef struct
  1035. {
  1036.     BTI_CHAR_PTR sreserved;
  1037. } TRESET;
  1038.  
  1039.  
  1040. /* xRestrict */
  1041. typedef struct
  1042. {
  1043.     BTI_SINT     option;                      /* new | extended restriction */
  1044.     BTI_SINT     explen;
  1045.     BTI_CHAR_PTR expbuf;
  1046. } TRESTRICT;
  1047.  
  1048.  
  1049. /* xSecurity */
  1050. typedef struct
  1051.  
  1052. {
  1053.     /* master password */
  1054.     BTI_CHAR_PTR mpswd;
  1055.     BTI_SINT     securityflag;
  1056. } TSECURE;
  1057.  
  1058.  
  1059. /* xStatus */
  1060. typedef struct
  1061. {
  1062.     BTI_SINT     option;
  1063.     BTI_SINT     buflen;
  1064.     BTI_CHAR_PTR buf;
  1065. } TSTATUS;
  1066.  
  1067.  
  1068. /* xStore */
  1069. typedef struct
  1070. {
  1071.     BTI_CHAR_PTR StoreName;
  1072.     BTI_SINT     BufLen;
  1073.     BTI_CHAR_PTR Buf;
  1074. } TSTORE;
  1075.  
  1076.  
  1077. /* xTrans */
  1078. typedef struct
  1079. {
  1080.     BTI_SINT option;
  1081. } TTRANS;
  1082.  
  1083.  
  1084. /* xUpdall */
  1085. typedef struct
  1086. {
  1087.     BTI_SINT     filecount;
  1088.     BTI_CHAR_PTR filelist;
  1089.     BTI_SINT     option;
  1090.     long         select;
  1091.     long         reject;
  1092.     BTI_SINT     count;
  1093.     BTI_CHAR_PTR result;
  1094.     BTI_CHAR_PTR value;
  1095. } TUPDALL;
  1096.  
  1097.  
  1098. /* xUser */
  1099. typedef struct
  1100. {
  1101.     BTI_CHAR_PTR mpswd;
  1102.     BTI_SINT     fcn;             /* add, modify, remove */
  1103.     BTI_CHAR_PTR username;
  1104.     BTI_CHAR_PTR pswd;
  1105.     BTI_SINT     grights;         /* global rights */
  1106.     BTI_SINT     count;
  1107.     BTI_SINT     buflen;
  1108.     BTI_CHAR_PTR userbuf;
  1109. } TUSER;
  1110.  
  1111.  
  1112. /* xValidate */
  1113. typedef struct
  1114. {
  1115.     BTI_SINT     count;
  1116.     BTI_CHAR_PTR fieldname;
  1117.     BTI_SINT     buflen;
  1118.     BTI_CHAR_PTR data;
  1119. } TVALIDATE;
  1120.  
  1121.  
  1122. /* xVersion */
  1123. typedef struct
  1124. {
  1125.     BTI_CHAR_PTR buffer;
  1126. } TVERSION;
  1127.  
  1128. typedef struct
  1129. {
  1130.    BTI_SINT     dumy1;
  1131.    BTI_SINT     btrop;                            /* Btrieve operation code */
  1132.    BTI_SINT     dumy2;
  1133.    BTI_SINT     dumy3;
  1134.    BTI_SINT     dumy4;
  1135.    BTI_CHAR_PTR btrstat;
  1136. } BBTRIEVE;
  1137.  
  1138. /***************************************************************************
  1139.    Structure Definitions for Management-Level APIs
  1140. ***************************************************************************/
  1141. /* XQLCompile */
  1142. typedef struct
  1143. {
  1144.    BTI_SINT     length;
  1145.    BTI_CHAR_PTR statement;
  1146. } XCOMPILE;
  1147.  
  1148.  
  1149. /* XQLConvert */
  1150. typedef struct
  1151. {
  1152.     BTI_SINT     option;
  1153.     BTI_SINT     type;
  1154.     BTI_SINT     size;
  1155.     BTI_SINT     dec;
  1156.     BTI_SINT     dsize;
  1157.     BTI_CHAR_PTR value;
  1158.     BTI_CHAR_PTR retval;
  1159.     BTI_CHAR_PTR mask;
  1160.     BTI_SINT     justify;
  1161. } XCONVERT;
  1162.  
  1163.  
  1164. /* XQLDescribe*/
  1165. typedef struct
  1166. {
  1167.     BTI_SINT     position;
  1168.     BTI_SINT     datatype;
  1169.     BTI_SINT     datasize;
  1170.     BTI_SINT     deccount;
  1171.     BTI_SINT     dsize;           /* display size */
  1172.     BTI_SINT     namelength;
  1173.     BTI_CHAR_PTR namebuf;
  1174. } XDESCRIBE;
  1175.  
  1176.  
  1177. /* XQLFetch */
  1178. typedef struct
  1179. {
  1180.     BTI_SINT     operation;
  1181.     BTI_SINT     datalen;
  1182.     BTI_CHAR_PTR databuf;
  1183.     long         select;
  1184.     BTI_SINT     ASCIIFlag;
  1185.     BTI_SINT     spacing;
  1186. } XFETCH;
  1187.  
  1188.  
  1189. /* XQLFormat */
  1190. typedef struct
  1191. {
  1192.     BTI_SINT     position;
  1193.     BTI_SINT     masklen;
  1194.     BTI_CHAR_PTR mask;
  1195. } XFORMAT;
  1196.  
  1197.  
  1198. /* XQLLogin */
  1199. typedef struct
  1200. {
  1201.     BTI_CHAR_PTR username;
  1202.     BTI_CHAR_PTR pswd;
  1203.     BTI_CHAR_PTR dictionary;
  1204.     BTI_CHAR_PTR filepath;
  1205.     BTI_CHAR_PTR sreserved;
  1206.     BTI_SINT     iFeaturesUsed;
  1207. } XLOGIN;
  1208.  
  1209.  
  1210. /* XQLMask */
  1211. typedef struct
  1212. {
  1213.     BTI_SINT     option;
  1214.     BTI_SINT     type;
  1215.     BTI_SINT     size;
  1216.     BTI_SINT     dec;
  1217.     BTI_SINT     mlen;
  1218.     BTI_CHAR_PTR mask;
  1219. } XMASK;
  1220.  
  1221.  
  1222. /* XQLSPUtility */
  1223. typedef struct
  1224. {
  1225.     BTI_SINT     option;
  1226.     BTI_SINT     stmntCnt;
  1227.     BTI_SINT     stmntExec;
  1228.     BTI_SINT     bufLen;
  1229.     BTI_CHAR_PTR statBuf;
  1230. } XSPUTILITY;
  1231.  
  1232.  
  1233. /* XQLStatus */
  1234. typedef struct
  1235. {
  1236.     BTI_SINT     option;
  1237.     BTI_CHAR_PTR buf;
  1238. } XSTATUS;
  1239.  
  1240.  
  1241. /* XQLSubstitute*/
  1242. typedef struct
  1243. {
  1244.     BTI_SINT     count;
  1245.     BTI_SINT     nlen;
  1246.     BTI_CHAR_PTR vname;       /* variable name */
  1247.     BTI_SINT     tlen;
  1248.     BTI_CHAR_PTR vtext;       /* variable text */
  1249. } XSUBST;
  1250.  
  1251.  
  1252. /* XQLValidate */
  1253. typedef struct
  1254. {
  1255.     BTI_SINT     count;
  1256.     BTI_CHAR_PTR fieldname;
  1257.     BTI_SINT     buflen;
  1258.     BTI_CHAR_PTR data;
  1259. } XVALID;
  1260.  
  1261.  
  1262. /* XQLVersion */
  1263. typedef struct
  1264. {
  1265.     BTI_CHAR_PTR buffer;
  1266. } XVERSION;
  1267.  
  1268.  
  1269. /* parameter block for XQLP (primitives) and XQLM (management-level) */
  1270. typedef struct
  1271. {
  1272.     BTI_BYTE XQL_ID[4];
  1273.     BTI_WORD fcn;
  1274.     BTI_WORD cursorid;
  1275.     BTI_SINT stat;
  1276.     BTI_SINT sessionid;
  1277.     union
  1278.     {
  1279.         TACCESS     taccessData;
  1280.         TCHARX      tcharData;
  1281.         TCOMPUTE    tcompData;
  1282.         TCONVERT    tcnvData;
  1283.         TDD         tddData;
  1284.         TDDATTR     tddattrData;
  1285.         TDDCREATE   tcreData;
  1286.         TDDDROP     tdddropData;
  1287.         TDDFIELD    tddfieldData;
  1288.         TDDFILE     tddfileData;
  1289.         TDDINDEX    tddindexData;
  1290.         TDDMOD      tmodData;
  1291.         TDDPATH     tddpathData;
  1292.         TDDVIEW     tddviewData;
  1293.         TDESCRIBE   tdescData;
  1294.         TEDIT       teditData;      /* xInsert, xUpdate, xRemove */
  1295.         TFETCH      tfetchData;
  1296.         TFIELD      tfldData;       /* used for both adds and deletes */
  1297.         TJOIN       tjoinData;
  1298.         XLOGIN      tloginData;
  1299.         TMASK       tmaskData;
  1300.         TMOVEFLD    tmovData;
  1301.         TNEW        tnewData;
  1302.         TORDER      tordData;
  1303.         TPASSWORD   tpswdData;
  1304.         TRECALL     trecallData;
  1305.         TREMALL     tremallData;
  1306.         TRESET      tresetData;
  1307.         TRESTRICT   trestData;
  1308.         TSECURE     tsecureData;
  1309.         TSTATUS     tstatData;
  1310.         TSTORE      tstoreData;
  1311.         TTRANS      ttransData;
  1312.         TUPDALL     tupdallData;
  1313.         TUSER       tuserData;
  1314.         TVALIDATE   tvalData;
  1315.         TVERSION    tversionData;
  1316.         XCOMPILE    xcData;
  1317.         XCONVERT    xcnvData;
  1318.         XDESCRIBE   xdData;
  1319.         XFETCH      xfData;
  1320.         XFORMAT     xfmData;
  1321.         XLOGIN      xlData;
  1322.         XMASK       xmaskData;
  1323.         XSPUTILITY  xspData;
  1324.         XSTATUS     xstData;
  1325.         XSUBST      xsData;
  1326.         XVALID      xvalData;
  1327.         XVERSION    xvData;
  1328.         BBTRIEVE    bxData;
  1329.         #if defined(BTI_DOS) || defined(BTI_DOS_32R) || \
  1330.             defined(BTI_DOS_32P) || defined(BTI_DOS_32B) || \
  1331.             defined(BTI_DOS_16B)
  1332.         DBNADD      dbnAddData;
  1333.         DBNDROP     dbnDropData;
  1334.         DBNGETCNT   dbnGetCntData;
  1335.         DBNGETINFO  dbnGetInfoData;
  1336.         DBNGETNAME  dbnGetNameData;
  1337.         DBNMODINFO  dbnModInfoData;
  1338.         DBNREN      dbnRenameData;
  1339.         DBNUNLOAD   dbnUnloadData;
  1340.         #endif
  1341.     } v;
  1342. } PARMBLOCK;
  1343.  
  1344.  
  1345. #ifdef __cplusplus
  1346. }
  1347. #endif
  1348.  
  1349. #define _SQLAPI_H_INCLUDED
  1350. #endif
  1351.