home *** CD-ROM | disk | FTP | other *** search
/ Datatid 1999 #6 / Datatid_1999-06.iso / internet / Tango352Promo / P.SQL / PTKPKG.1 / SQLAPI16.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-12-09  |  31.2 KB  |  998 lines

  1. {*************************************************************************
  2. **
  3. **  Copyright 1998 Pervasive Software Inc. All Rights Reserved
  4. **
  5. *************************************************************************}
  6. {***********************************************************************
  7.      SQLAPI16.PAS
  8.             This is the Pascal unit for Scalable SQL to be called by a Borland
  9.             Pascal or Delphi applications on 16-bit Windows.
  10.  
  11. ************************************************************************}
  12. UNIT sqlapi16;
  13.  
  14. INTERFACE
  15. {***********************************************************************
  16.      The following types are needed for use with 'XQLCallback'.
  17. ************************************************************************}
  18. TYPE
  19.      SQL_YIELD_T = RECORD
  20.             iSessionID : WORD;
  21.      END;
  22.  
  23.      BTRV_YIELD_T = RECORD
  24.             iOpCode           : WORD;
  25.             bClientIDlastFour : ARRAY[ 1..4 ] OF BYTE;
  26.      END;
  27.  
  28.      BTI_CB_INFO_T = RECORD
  29.             typex : WORD;
  30.             size  : WORD;
  31.             case u: Boolean of
  32.                  False: ( sYield : SQL_YIELD_T );
  33.                  True:  ( bYield : BTRV_YIELD_T );
  34.      END;
  35.  
  36.      BTI_CB_FUNC_PTR_T = FUNCTION(
  37.                                                     VAR bCallbackInfo : BTI_CB_INFO_T;
  38.                                                     VAR bUserData )   : WORD;
  39.  
  40.      BTI_CB_FUNC_PTR_PTR_T = ^BTI_CB_FUNC_PTR_T;
  41. {***********************************************************************
  42.      SESSION MANAGEMENT PRIMITIVES
  43.             The following primitives are required by applications which
  44.             want to use multiple SQL logins:
  45.                  xGetSessionID
  46.                  xPutSessionID
  47. ************************************************************************}
  48.      FUNCTION xGetSessionID(
  49.                              VAR iSessionID : INTEGER ) : INTEGER;
  50.  
  51.      FUNCTION xPutSessionID(
  52.                              iSessionID : INTEGER ) : INTEGER;
  53.  
  54. {***********************************************************************
  55.      MISCELLANEOUS FUNCTIONS
  56.             XQLCallback                    ( MS Windows )
  57.             xShareSessionID                ( MS Windows )
  58.             SQLGetCountDatabaseNames       ( MS Windows )
  59.             SQLGetCountRemoteDatabaseNames ( MS Windows )
  60.             SQLGetDatabaseNames            ( MS Windows )
  61.             SQLGetRemoteDatabaseNames      ( MS Windows )
  62.             SQLUnloadDBNames               ( MS Windows )
  63. ************************************************************************}
  64.      FUNCTION XQLCallback(
  65.                              iAction                   : WORD;
  66.                              iOption                   : WORD;
  67.                              fCallBackFunction         : BTI_CB_FUNC_PTR_T;
  68.                              fPreviousCallBackFunction : BTI_CB_FUNC_PTR_PTR_T;
  69.                      VAR bUserData;
  70.                      VAR bPreviousUserData         : POINTER ) : INTEGER;
  71.  
  72.      FUNCTION xShareSessionID(
  73.                              VAR tChangeCount : INTEGER ) : INTEGER;
  74.  
  75.      FUNCTION SQLGetCountDatabaseNames(
  76.                             VAR tCount : INTEGER ) : INTEGER;
  77.  
  78.      FUNCTION SQLGetCountRemoteDatabaseNames(
  79.                             VAR tCount : INTEGER ) : INTEGER;
  80.  
  81.      FUNCTION SQLGetDatabaseNames(
  82.                             VAR tBufLen  : INTEGER;
  83.                      VAR bDataBuf ) : INTEGER;
  84.  
  85.      FUNCTION SQLGetRemoteDatabaseNames(
  86.                             VAR tBufLen  : INTEGER;
  87.                      VAR bDataBuf  ) : INTEGER;
  88.  
  89.      FUNCTION SQLUnloadDBNAMES(
  90.                             iReserved : INTEGER ) : INTEGER;
  91.  
  92. {***********************************************************************
  93.      SQL-LEVEL FUNCTIONS
  94.             XQLCursor     XQLFetch    XQLSPUtility   XQLVersion
  95.             XQLCompile    XQLFormat   XQLStatus      XQLConvert
  96.       XQLDescribe   XQLFree     XQLStop        XQLValidate
  97.       XQLExec       XQLLogin    XQLSubst       XQLMask
  98.                     XQLLogout
  99. ***********************************************************************}
  100.    FUNCTION XQLCursor(
  101.                VAR iCursorID : INTEGER ) : INTEGER;
  102.  
  103.    FUNCTION XQLCompile(
  104.                iCursorID     : INTEGER;
  105.            VAR tStatementLen : INTEGER;
  106.            VAR sStatement )  : INTEGER;
  107.  
  108.    FUNCTION XQLDescribe(
  109.                iCursorID   : INTEGER;
  110.                tPosition   : INTEGER;
  111.            VAR iDataType   : INTEGER;
  112.            VAR tSize       : INTEGER;
  113.            VAR tDecPlaces  : INTEGER;
  114.            VAR tDisplayLen : INTEGER;
  115.            VAR tNameLen    : INTEGER;
  116.            VAR sName     ) : INTEGER;
  117.  
  118.     FUNCTION XQLExec(
  119.                 iCursorID : INTEGER ) : INTEGER;
  120.  
  121.    FUNCTION XQLFetch(
  122.                iCursorID  : INTEGER;
  123.                iOption    : INTEGER;
  124.            VAR tBufLen    : INTEGER;
  125.            VAR bDataBuf;
  126.            VAR lCount     : LONGINT;
  127.                iASCIIFlag : INTEGER;
  128.                              iSpacing   : INTEGER ) : INTEGER;
  129.  
  130.    FUNCTION XQLFormat(
  131.                iCursorID : INTEGER;
  132.                tPosition : INTEGER;
  133.                tMaskLen  : INTEGER;
  134.            VAR sMask   ) : INTEGER;
  135.  
  136.    FUNCTION XQLFree(
  137.                iCursorID : INTEGER ) : INTEGER;
  138.  
  139.    FUNCTION XQLLogin(
  140.                VAR sUser;
  141.                VAR sPassword;
  142.                VAR sDDPath;
  143.                VAR sDataPath;
  144.                VAR sReserved;
  145.                    iFeaturesUsed : INTEGER ) : INTEGER;
  146.  
  147.    FUNCTION XQLLogout : INTEGER;
  148.  
  149.    FUNCTION XQLSPUtility(
  150.                iCursorID       : INTEGER;
  151.                iOption         : INTEGER;
  152.            VAR tStatementCount : INTEGER;
  153.            VAR tStatementExec  : INTEGER;
  154.            VAR tBufLen         : INTEGER;
  155.            VAR bDataBuf )      : INTEGER;
  156.  
  157.    FUNCTION XQLStatus(
  158.                iCursor : INTEGER;
  159.                iOption : INTEGER;
  160.            VAR sStatBuf ) : INTEGER;
  161.  
  162.    FUNCTION XQLStop : INTEGER;
  163.  
  164.    FUNCTION XQLSubst(
  165.                iCursorID : INTEGER;
  166.                tCount    : INTEGER;
  167.                tNameLen  : INTEGER;
  168.            VAR sVarNames;
  169.                tTextLen  : INTEGER;
  170.            VAR sValueText ) : INTEGER;
  171.  
  172.    FUNCTION XQLVersion(
  173.                VAR sVersion ) : INTEGER;
  174.  
  175.    FUNCTION XQLConvert(
  176.                iOption  : INTEGER;
  177.                iType    : INTEGER;
  178.                tSize    : INTEGER;
  179.                tDec     : INTEGER;
  180.                tdSize   : INTEGER;
  181.            VAR sValue;
  182.            VAR sRetVal;
  183.            VAR sMask;
  184.                sJustify : INTEGER ) : INTEGER;
  185.  
  186.    FUNCTION XQLValidate(
  187.                VAR tCount     : INTEGER;
  188.                VAR sFieldName;
  189.                    tBufLen    : INTEGER;
  190.                VAR bDataBuf ) : INTEGER;
  191.  
  192.    FUNCTION XQLMask(
  193.                iOption : INTEGER;
  194.                              iType   : INTEGER;
  195.                tSize   : INTEGER;
  196.                tDec    : INTEGER;
  197.            VAR tLen    : INTEGER;
  198.            VAR sMask ) : INTEGER;
  199.  
  200. {***********************************************************************
  201.    HISTORICAL RELATIONAL PRIMITIVES
  202.       The following functions will be phased out over time.  They
  203.       are included here to support existing applications.  New applications
  204.       should not use these functions.
  205.  
  206.       xCompute    xOrder         xDD            xAccess
  207.       xDescribe   xRemall        xDDAttr        xPassword
  208.       xMovefld    xRemove        xDDModify      xSecurity
  209.       xFetch      xReset         xDDCreate      xUser
  210.       xField      xRestrict      xDDDrop        xChar
  211.       xFree       xStop          xDDField       xVersion
  212.       xInsert     xTrans         xDDFile        xStatus
  213.       xJoin       xStore         xDDIndex       xConvert
  214.       xLogin      xRecall        xDDPath        xValidate
  215.       xLogout     xUpdate        xDDView        xMask
  216.       xNew        xUpdall
  217. ***********************************************************************}
  218.    FUNCTION xCompute(
  219.                iCursorID  : INTEGER;
  220.            VAR sFldName;
  221.                iFldType   : INTEGER;
  222.                tFldLen    : INTEGER;
  223.                tDecPlaces : INTEGER;
  224.            VAR tExpLen    : INTEGER;
  225.            VAR sExpression ) : INTEGER;
  226.  
  227.      FUNCTION xDescribe(
  228.                iCursorID  : INTEGER;
  229.                iOption    : INTEGER;
  230.            VAR tBufLen    : INTEGER;
  231.                tPosition  : INTEGER;
  232.            VAR tCount     : INTEGER;
  233.            VAR bDataBuf ) : INTEGER;
  234.  
  235.    FUNCTION xMovefld(
  236.                iCursorID     : INTEGER;
  237.                tFromPosition : INTEGER;
  238.                tToPosition   : INTEGER ) : INTEGER;
  239.  
  240.    FUNCTION xFetch(
  241.                iCursorID    : INTEGER;
  242.            VAR tBufLen      : INTEGER;
  243.                iOption      : INTEGER;
  244.            VAR lRecordCount : LONGINT;
  245.            VAR lRejectCount : LONGINT;
  246.            VAR bDataBuf  )  : INTEGER;
  247.  
  248.    FUNCTION xField(
  249.                iCursorID   : INTEGER;
  250.                iOption     : INTEGER;
  251.                tPosition   : INTEGER;
  252.            VAR tCount      : INTEGER;
  253.            VAR sFldNames ) : INTEGER;
  254.  
  255.    FUNCTION xFree(
  256.                iCursorID : INTEGER ) : INTEGER;
  257.  
  258.    FUNCTION xInsert(
  259.                iCursorID    : INTEGER;
  260.                      VAR tFileCount   : INTEGER;
  261.            VAR sFileNames;
  262.            VAR lRecordCount : LONGINT;
  263.            VAR bDataBuf )   : INTEGER;
  264.  
  265.    FUNCTION xJoin(
  266.                iCursorID    : INTEGER;
  267.            VAR sSecFile;
  268.            VAR sOwner;
  269.                iOption      : INTEGER;
  270.                tPriFldCount : INTEGER;
  271.            VAR sPriFlds;
  272.                tSecFldCount : INTEGER;
  273.            VAR sSecFlds )   : INTEGER;
  274.  
  275.    FUNCTION xLogin(
  276.            VAR sUser;
  277.            VAR sPassword;
  278.            VAR sDDPath;
  279.            VAR sDataPath;
  280.            VAR sReserved;
  281.                iFeaturesUsed : INTEGER ) : INTEGER;
  282.  
  283.    FUNCTION xLogout : INTEGER;
  284.  
  285.    FUNCTION xNew(
  286.            VAR iCursorID : INTEGER;
  287.            VAR sFileName;
  288.            VAR sOwner;
  289.                iOpenMode : INTEGER ) : INTEGER;
  290.  
  291.    FUNCTION xOrder(
  292.                iCursorID : INTEGER;
  293.                              tCount    : INTEGER;
  294.            VAR sOrder )  : INTEGER;
  295.  
  296.    FUNCTION xRemall(
  297.                iCursorID    : INTEGER;
  298.            VAR tFileCount   : INTEGER;
  299.            VAR sFileNames;
  300.                iOption      : INTEGER;
  301.            VAR lRecordCount : LONGINT;
  302.                lRejectCount : LONGINT ) : INTEGER;
  303.  
  304.    FUNCTION xRemove(
  305.                iCursorID    : INTEGER;
  306.            VAR tFileCount   : INTEGER;
  307.            VAR sFileNames;
  308.            VAR lRecordCount : LONGINT ) : INTEGER;
  309.  
  310.    FUNCTION xReset(
  311.            VAR sReserved ) : INTEGER;
  312.  
  313.    FUNCTION xRestrict(
  314.                iCursorID : INTEGER;
  315.                iOption   : INTEGER;
  316.            VAR tExpLen   : INTEGER;
  317.            VAR sExpression ) : INTEGER;
  318.  
  319.    FUNCTION xStop : INTEGER;
  320.  
  321.    FUNCTION xTrans(
  322.                iOption : INTEGER ) : INTEGER;
  323.  
  324.    FUNCTION xStore(
  325.                iCursorID : INTEGER;
  326.                      VAR sViewName;
  327.                tTextLen  : INTEGER;
  328.            VAR sText )   : INTEGER;
  329.  
  330.    FUNCTION xRecall(
  331.            VAR iCursorID   : INTEGER;
  332.            VAR sViewName;
  333.                tOwnerCount : INTEGER;
  334.            VAR sOwner;
  335.                iOpenMode   : INTEGER;
  336.            VAR tTextLen    : INTEGER;
  337.            VAR sText )     : INTEGER;
  338.  
  339.    FUNCTION xUpdate(
  340.                iCursorID    : INTEGER;
  341.            VAR tFileCount   : INTEGER;
  342.            VAR sFileNames;
  343.            VAR lRecordCount : LONGINT;
  344.            VAR bDataBuf )   : INTEGER;
  345.  
  346.    FUNCTION xUpdall(
  347.                iCursorID    : INTEGER;
  348.            VAR tFileCount   : INTEGER;
  349.            VAR sFileNames;
  350.                iOption      : INTEGER;
  351.            VAR lRecordCount : LONGINT;
  352.            VAR lRejectCount : LONGINT;
  353.                tFldCount    : INTEGER;
  354.            VAR sUpdateFld;
  355.            VAR sReplaceFld ) : INTEGER;
  356.  
  357.    FUNCTION xDD(
  358.            VAR sPathName;
  359.                              iOption : INTEGER ) : INTEGER;
  360.  
  361.    FUNCTION xDDAttr(
  362.                 iOption    : INTEGER;
  363.             VAR sFldName;
  364.                 iAttrType  : INTEGER;
  365.             VAR tBufLen    : INTEGER;
  366.             VAR sAttrBuf ) : INTEGER;
  367.  
  368.    FUNCTION xDDModify(
  369.                iOption     : INTEGER;
  370.            VAR sFileName;
  371.                iCreate    : INTEGER;
  372.            VAR sPathName;
  373.            VAR sOwner;
  374.                iOwnerFlag : INTEGER;
  375.                tFldCount  : INTEGER;
  376.            VAR bFldBuf;
  377.                tIndxCount : INTEGER;
  378.            VAR bIndxBuf ) : INTEGER;
  379.  
  380.    FUNCTION xDDCreate(
  381.                iOption           : INTEGER;
  382.            VAR sFileName;
  383.                iCreate           : INTEGER;
  384.            VAR sPathName;
  385.            VAR sOwner;
  386.                iOwnerFlag        : INTEGER;
  387.                tFldCount         : INTEGER;
  388.            VAR bFldBuf;
  389.                tIndxCount        : INTEGER;
  390.            VAR bIndxBuf;
  391.                tBufLen           : INTEGER;
  392.                      VAR bCreateParmsBuf ) : INTEGER;
  393.  
  394.    FUNCTION xDDDrop(
  395.            VAR sName;
  396.                iType   : INTEGER;
  397.                iDelete : INTEGER ) : INTEGER;
  398.  
  399.     FUNCTION xDDField(
  400.                 iOption    : INTEGER;
  401.             VAR tCount     : INTEGER;
  402.             VAR sFldNames;
  403.             VAR tBufLen    : INTEGER;
  404.             VAR bDataBuf ) : INTEGER;
  405.  
  406.    FUNCTION xDDFile(
  407.                iOption    : INTEGER;
  408.            VAR tCount     : INTEGER;
  409.            VAR sFileNames;
  410.            VAR tBufLen    : INTEGER;
  411.            VAR bDataBuf ) : INTEGER;
  412.  
  413.    FUNCTION xDDIndex(
  414.                iOption    : INTEGER;
  415.            VAR tCount     : INTEGER;
  416.            VAR sIndexName;
  417.            VAR tBufLen    : INTEGER;
  418.            VAR bDataBuf ) : INTEGER;
  419.  
  420.    FUNCTION xDDPath(
  421.                iOption     : INTEGER;
  422.            VAR sPathName ) : INTEGER;
  423.  
  424.    FUNCTION xDDView(
  425.                      VAR tCount     : INTEGER;
  426.            VAR sViewName;
  427.            VAR tBufLen    : INTEGER;
  428.            VAR bDataBuf ) : INTEGER;
  429.  
  430.    FUNCTION xAccess(
  431.            VAR sMstrPswd;
  432.            VAR sUser;
  433.                iOption    : INTEGER;
  434.                iAccRights : INTEGER;
  435.            VAR sFileName;
  436.            VAR tCount     : INTEGER;
  437.            VAR sFldNames;
  438.            VAR tBufLen    : INTEGER;
  439.            VAR bDataBuf ) : INTEGER;
  440.  
  441.    FUNCTION xPassword(
  442.            VAR sUser;
  443.            VAR sPassword ) : INTEGER;
  444.  
  445.    FUNCTION xSecurity(
  446.            VAR sMstrPswd;
  447.                iOption : INTEGER ) : INTEGER;
  448.  
  449.    FUNCTION xUser(
  450.            VAR sMstPswd;
  451.                iOption    : INTEGER;
  452.            VAR sUser;
  453.            VAR sPassword;
  454.                iFlags     : INTEGER;
  455.            VAR tCount     : INTEGER;
  456.            VAR tBufLen    : INTEGER;
  457.            VAR bDataBuf ) : INTEGER;
  458.  
  459.    FUNCTION xChar(
  460.                iOption : INTEGER;
  461.                iType   : INTEGER;
  462.            VAR cCharacter ) : INTEGER;
  463.  
  464.    FUNCTION xVersion(
  465.            VAR sVersion ) : INTEGER;
  466.  
  467.    FUNCTION xStatus(
  468.                iCursorID  : INTEGER;
  469.                iOption    : INTEGER;
  470.            VAR tLen       : INTEGER;
  471.            VAR sStatBuf ) : INTEGER;
  472.  
  473.    FUNCTION xConvert(
  474.                iOption  : INTEGER;
  475.                iType    : INTEGER;
  476.                tSize    : INTEGER;
  477.                tDec     : INTEGER;
  478.                tDSize   : INTEGER;
  479.            VAR sValue;
  480.            VAR sRetVal;
  481.            VAR sMask;
  482.                iJustify : INTEGER ) : INTEGER;
  483.  
  484.    FUNCTION xValidate(
  485.            VAR tCount     : INTEGER;
  486.            VAR sFieldName;
  487.                tBufLen    : INTEGER;
  488.            VAR bDataBuf ) : INTEGER;
  489.  
  490.    FUNCTION xMask(
  491.                              iOption : INTEGER;
  492.                iType   : INTEGER;
  493.                tSize   : INTEGER;
  494.                iDec    : INTEGER;
  495.            VAR tLen    : INTEGER;
  496.            VAR sMask ) : INTEGER;
  497.  
  498. {***********************************************************************
  499.    PASCAL IMPLEMENTATION SECTION
  500. ************************************************************************}
  501. IMPLEMENTATION
  502.  
  503. {***********************************************************************
  504.    SESSION MANAGEMENT PRIMITIVES
  505. ************************************************************************}
  506.    FUNCTION xGetSessionID(
  507.                VAR iSessionID : INTEGER ) : INTEGER;
  508.                external 'W1SQLV7' name 'XGETSESSIONID';
  509.  
  510.    FUNCTION xPutSessionID(
  511.                iSessionID : INTEGER ) : INTEGER;
  512.                external 'W1SQLV7' name 'XPUTSESSIONID';
  513.  
  514. {***********************************************************************
  515.    MISCELLANEOUS FUNCTIONS
  516. ************************************************************************}
  517.    FUNCTION XQLCallback(
  518.                iAction                   : WORD;
  519.                iOption                   : WORD;
  520.                fCallBackFunction         : BTI_CB_FUNC_PTR_T;
  521.                fPreviousCallBackFunction : BTI_CB_FUNC_PTR_PTR_T;
  522.            VAR bUserData;
  523.            VAR bPreviousUserData         : POINTER ) : INTEGER;
  524.                              external 'W1SQLV7' name 'XQLCALLBACK';
  525.  
  526.    FUNCTION xShareSessionID(
  527.                VAR tChangeCount : INTEGER ) : INTEGER;
  528.                external 'W1SQLV7' name 'XSHARESESSIONID';
  529.  
  530.    FUNCTION SQLGetCountDatabaseNames(
  531.               VAR tCount : INTEGER ) : INTEGER;
  532.               external 'W1DBNV7' name 'SQLGETCOUNTDATABASENAMES';
  533.  
  534.    FUNCTION SQLGetCountRemoteDatabaseNames(
  535.               VAR tCount : INTEGER ) : INTEGER;
  536.               external 'W1DBNV7' name 'SQLGETCOUNTREMOTEDATABASENAMES';
  537.  
  538.    FUNCTION SQLGetDatabaseNames(
  539.               VAR tBufLen  : INTEGER;
  540.               VAR bDataBuf  ) : INTEGER;
  541.               external 'W1DBNV7' name 'SQLGETDATABASENAMES';
  542.  
  543.    FUNCTION SQLGetRemoteDatabaseNames(
  544.               VAR tBufLen  : INTEGER;
  545.               VAR bDataBuf ) : INTEGER;
  546.               external 'W1DBNV7' name 'SQLGETREMOTEDATABASENAMES';
  547.  
  548.    FUNCTION SQLUnloadDBNAMES(
  549.               iReserved : INTEGER ) : INTEGER;
  550.               external 'W1DBNV7' name 'SQLUNLOADDBNAMES';
  551.  
  552. {***********************************************************************
  553.    SQL-LEVEL FUNCTIONS
  554. ***********************************************************************}
  555.    FUNCTION XQLCursor(
  556.                VAR iCursorID : INTEGER ) : INTEGER;
  557.                              external 'W1SQLV7' name 'XQLCURSOR';
  558.  
  559.    FUNCTION XQLCompile(
  560.                iCursorID     : INTEGER;
  561.            VAR tStatementLen : INTEGER;
  562.            VAR sStatement )  : INTEGER;
  563.            external 'W1SQLV7' name 'XQLCOMPILE';
  564.  
  565.    FUNCTION XQLDescribe(
  566.                iCursorID   : INTEGER;
  567.                tPosition   : INTEGER;
  568.            VAR iDataType   : INTEGER;
  569.            VAR tSize       : INTEGER;
  570.            VAR tDecPlaces  : INTEGER;
  571.            VAR tDisplayLen : INTEGER;
  572.            VAR tNameLen    : INTEGER;
  573.            VAR sName     ) : INTEGER;
  574.            external 'W1SQLV7' name 'XQLDESCRIBE';
  575.  
  576.     FUNCTION XQLExec(
  577.                 iCursorID : INTEGER ) : INTEGER;
  578.            external 'W1SQLV7' name 'XQLEXEC';
  579.  
  580.    FUNCTION XQLFetch(
  581.                iCursorID  : INTEGER;
  582.                iOption    : INTEGER;
  583.            VAR tBufLen    : INTEGER;
  584.            VAR bDataBuf;
  585.            VAR lCount     : LONGINT;
  586.                iASCIIFlag : INTEGER;
  587.                iSpacing   : INTEGER ) : INTEGER;
  588.            external 'W1SQLV7' name 'XQLFETCH';
  589.  
  590.      FUNCTION XQLFormat(
  591.                iCursorID : INTEGER;
  592.                tPosition : INTEGER;
  593.                tMaskLen  : INTEGER;
  594.            VAR sMask   ) : INTEGER;
  595.            external 'W1SQLV7' name 'XQLFORMAT';
  596.  
  597.    FUNCTION XQLFree(
  598.                iCursorID : INTEGER ) : INTEGER;
  599.            external 'W1SQLV7' name 'XQLFREE';
  600.  
  601.    FUNCTION XQLLogin(
  602.                VAR sUser;
  603.                VAR sPassword;
  604.                VAR sDDPath;
  605.                VAR sDataPath;
  606.                VAR sReserved;
  607.                    iFeaturesUsed : INTEGER ) : INTEGER;
  608.            external 'W1SQLV7' name 'XQLLOGIN';
  609.  
  610.    FUNCTION XQLLogout : INTEGER;
  611.            external 'W1SQLV7' name 'XQLLOGOUT';
  612.  
  613.    FUNCTION XQLSPUtility(
  614.                iCursorID       : INTEGER;
  615.                iOption         : INTEGER;
  616.            VAR tStatementCount : INTEGER;
  617.            VAR tStatementExec  : INTEGER;
  618.            VAR tBufLen         : INTEGER;
  619.            VAR bDataBuf )      : INTEGER;
  620.            external 'W1SQLV7' name 'XQLSPUTILITY';
  621.  
  622.    FUNCTION XQLStatus(
  623.                              iCursor : INTEGER;
  624.                iOption : INTEGER;
  625.            VAR sStatBuf ) : INTEGER;
  626.            external 'W1SQLV7' name 'XQLSTATUS';
  627.  
  628.    FUNCTION XQLStop : INTEGER;
  629.             external 'W1SQLV7' name 'XQLSTOP';
  630.  
  631.    FUNCTION XQLSubst(
  632.                iCursorID : INTEGER;
  633.                tCount    : INTEGER;
  634.                tNameLen  : INTEGER;
  635.            VAR sVarNames;
  636.                tTextLen  : INTEGER;
  637.            VAR sValueText ) : INTEGER;
  638.             external 'W1SQLV7' name 'XQLSUBST';
  639.  
  640.    FUNCTION XQLVersion(
  641.                VAR sVersion ) : INTEGER;
  642.             external 'W1SQLV7' name 'XQLVERSION';
  643.  
  644.    FUNCTION XQLConvert(
  645.                iOption  : INTEGER;
  646.                iType    : INTEGER;
  647.                tSize    : INTEGER;
  648.                tDec     : INTEGER;
  649.                tdSize   : INTEGER;
  650.            VAR sValue;
  651.            VAR sRetVal;
  652.            VAR sMask;
  653.                sJustify : INTEGER ) : INTEGER;
  654.            external 'W1SQLV7' name 'XQLCONVERT';
  655.  
  656.      FUNCTION XQLValidate(
  657.                VAR tCount     : INTEGER;
  658.                VAR sFieldName;
  659.                    tBufLen    : INTEGER;
  660.                VAR bDataBuf ) : INTEGER;
  661.            external 'W1SQLV7' name 'XQLVALIDATE';
  662.  
  663.    FUNCTION XQLMask(
  664.                iOption : INTEGER;
  665.                iType   : INTEGER;
  666.                tSize   : INTEGER;
  667.                tDec    : INTEGER;
  668.            VAR tLen    : INTEGER;
  669.            VAR sMask ) : INTEGER;
  670.            external 'W1SQLV7' name 'XQLMASK';
  671.  
  672. {***********************************************************************
  673.    HISTORICAL RELATIONAL PRIMITIVES
  674. ***********************************************************************}
  675.    FUNCTION xCompute(
  676.                iCursorID  : INTEGER;
  677.            VAR sFldName;
  678.                iFldType   : INTEGER;
  679.                tFldLen    : INTEGER;
  680.                tDecPlaces : INTEGER;
  681.            VAR tExpLen    : INTEGER;
  682.            VAR sExpression ) : INTEGER;
  683.            external 'W1SQLV7' name 'XCOMPUTE';
  684.  
  685.    FUNCTION xDescribe(
  686.                iCursorID  : INTEGER;
  687.                iOption    : INTEGER;
  688.            VAR tBufLen    : INTEGER;
  689.                              tPosition  : INTEGER;
  690.            VAR tCount     : INTEGER;
  691.            VAR bDataBuf ) : INTEGER;
  692.            external 'W1SQLV7' name 'XDESCRIBE';
  693.  
  694.    FUNCTION xMovefld(
  695.                iCursorID     : INTEGER;
  696.                tFromPosition : INTEGER;
  697.                tToPosition   : INTEGER ) : INTEGER;
  698.            external 'W1SQLV7' name 'XMOVEFLD';
  699.  
  700.    FUNCTION xFetch(
  701.                iCursorID    : INTEGER;
  702.            VAR tBufLen      : INTEGER;
  703.                iOption      : INTEGER;
  704.            VAR lRecordCount : LONGINT;
  705.            VAR lRejectCount : LONGINT;
  706.            VAR bDataBuf  )  : INTEGER;
  707.            external 'W1SQLV7' name 'XFETCH';
  708.  
  709.    FUNCTION xField(
  710.                iCursorID   : INTEGER;
  711.                iOption     : INTEGER;
  712.                tPosition   : INTEGER;
  713.            VAR tCount      : INTEGER;
  714.            VAR sFldNames ) : INTEGER;
  715.            external 'W1SQLV7' name 'XFIELD';
  716.  
  717.    FUNCTION xFree(
  718.                iCursorID : INTEGER ) : INTEGER;
  719.            external 'W1SQLV7' name 'XFREE';
  720.  
  721.    FUNCTION xInsert(
  722.                              iCursorID    : INTEGER;
  723.            VAR tFileCount   : INTEGER;
  724.            VAR sFileNames;
  725.            VAR lRecordCount : LONGINT;
  726.            VAR bDataBuf )   : INTEGER;
  727.            external 'W1SQLV7' name 'XINSERT';
  728.  
  729.    FUNCTION xJoin(
  730.                iCursorID    : INTEGER;
  731.            VAR sSecFile;
  732.            VAR sOwner;
  733.                iOption      : INTEGER;
  734.                tPriFldCount : INTEGER;
  735.            VAR sPriFlds;
  736.                tSecFldCount : INTEGER;
  737.            VAR sSecFlds )   : INTEGER;
  738.            external 'W1SQLV7' name 'XJOIN';
  739.  
  740.    FUNCTION xLogin(
  741.            VAR sUser;
  742.            VAR sPassword;
  743.            VAR sDDPath;
  744.            VAR sDataPath;
  745.            VAR sReserved;
  746.                iFeaturesUsed : INTEGER ) : INTEGER;
  747.            external 'W1SQLV7' name 'XLOGIN';
  748.  
  749.    FUNCTION xLogout : INTEGER;
  750.            external 'W1SQLV7' name 'XLOGOUT';
  751.  
  752.    FUNCTION xNew(
  753.            VAR iCursorID : INTEGER;
  754.            VAR sFileName;
  755.                      VAR sOwner;
  756.                iOpenMode : INTEGER ) : INTEGER;
  757.            external 'W1SQLV7' name 'XNEW';
  758.  
  759.    FUNCTION xOrder(
  760.                iCursorID : INTEGER;
  761.                tCount    : INTEGER;
  762.            VAR sOrder )  : INTEGER;
  763.            external 'W1SQLV7' name 'XORDER';
  764.  
  765.    FUNCTION xRemall(
  766.                iCursorID    : INTEGER;
  767.            VAR tFileCount   : INTEGER;
  768.            VAR sFileNames;
  769.                iOption      : INTEGER;
  770.            VAR lRecordCount : LONGINT;
  771.                lRejectCount : LONGINT ) : INTEGER;
  772.            external 'W1SQLV7' name 'XREMALL';
  773.  
  774.    FUNCTION xRemove(
  775.                iCursorID    : INTEGER;
  776.            VAR tFileCount   : INTEGER;
  777.            VAR sFileNames;
  778.            VAR lRecordCount : LONGINT ) : INTEGER;
  779.            external 'W1SQLV7' name 'XREMOVE';
  780.  
  781.    FUNCTION xReset(
  782.            VAR sReserved ) : INTEGER;
  783.            external 'W1SQLV7' name 'XRESET';
  784.  
  785.    FUNCTION xRestrict(
  786.                iCursorID : INTEGER;
  787.                iOption   : INTEGER;
  788.                      VAR tExpLen   : INTEGER;
  789.            VAR sExpression ) : INTEGER;
  790.            external 'W1SQLV7' name 'XRESTRICT';
  791.  
  792.    FUNCTION xStop : INTEGER;
  793.            external 'W1SQLV7' name 'XSTOP';
  794.  
  795.    FUNCTION xTrans(
  796.                iOption : INTEGER ) : INTEGER;
  797.            external 'W1SQLV7' name 'XTRANS';
  798.  
  799.    FUNCTION xStore(
  800.                iCursorID : INTEGER;
  801.            VAR sViewName;
  802.                tTextLen  : INTEGER;
  803.            VAR sText )   : INTEGER;
  804.            external 'W1SQLV7' name 'XSTORE';
  805.  
  806.    FUNCTION xRecall(
  807.            VAR iCursorID   : INTEGER;
  808.            VAR sViewName;
  809.                tOwnerCount : INTEGER;
  810.            VAR sOwner;
  811.                iOpenMode   : INTEGER;
  812.            VAR tTextLen    : INTEGER;
  813.            VAR sText )     : INTEGER;
  814.            external 'W1SQLV7' name 'XRECALL';
  815.  
  816.    FUNCTION xUpdate(
  817.                iCursorID    : INTEGER;
  818.            VAR tFileCount   : INTEGER;
  819.            VAR sFileNames;
  820.            VAR lRecordCount : LONGINT;
  821.                      VAR bDataBuf )   : INTEGER;
  822.            external 'W1SQLV7' name 'XUPDATE';
  823.  
  824.    FUNCTION xUpdall(
  825.                iCursorID    : INTEGER;
  826.            VAR tFileCount   : INTEGER;
  827.            VAR sFileNames;
  828.                iOption      : INTEGER;
  829.            VAR lRecordCount : LONGINT;
  830.            VAR lRejectCount : LONGINT;
  831.                tFldCount    : INTEGER;
  832.            VAR sUpdateFld;
  833.            VAR sReplaceFld ) : INTEGER;
  834.            external 'W1SQLV7' name 'XUPDALL';
  835.  
  836.    FUNCTION xDD(
  837.            VAR sPathName;
  838.                iOption : INTEGER ) : INTEGER;
  839.            external 'W1SQLV7' name 'XDD';
  840.  
  841.    FUNCTION xDDAttr(
  842.                 iOption    : INTEGER;
  843.             VAR sFldName;
  844.                 iAttrType  : INTEGER;
  845.             VAR tBufLen    : INTEGER;
  846.             VAR sAttrBuf ) : INTEGER;
  847.            external 'W1SQLV7' name 'XDDATTR';
  848.  
  849.    FUNCTION xDDModify(
  850.                iOption     : INTEGER;
  851.            VAR sFileName;
  852.                iCreate    : INTEGER;
  853.            VAR sPathName;
  854.                      VAR sOwner;
  855.                iOwnerFlag : INTEGER;
  856.                tFldCount  : INTEGER;
  857.            VAR bFldBuf;
  858.                tIndxCount : INTEGER;
  859.            VAR bIndxBuf ) : INTEGER;
  860.            external 'W1SQLV7' name 'XDDMODIFY';
  861.  
  862.    FUNCTION xDDCreate(
  863.                iOption           : INTEGER;
  864.            VAR sFileName;
  865.                iCreate           : INTEGER;
  866.            VAR sPathName;
  867.            VAR sOwner;
  868.                iOwnerFlag        : INTEGER;
  869.                tFldCount         : INTEGER;
  870.            VAR bFldBuf;
  871.                tIndxCount        : INTEGER;
  872.            VAR bIndxBuf;
  873.                tBufLen           : INTEGER;
  874.            VAR bCreateParmsBuf ) : INTEGER;
  875.            external 'W1SQLV7' name 'XDDCREATE';
  876.  
  877.    FUNCTION xDDDrop(
  878.            VAR sName;
  879.                iType   : INTEGER;
  880.                iDelete : INTEGER ) : INTEGER;
  881.            external 'W1SQLV7' name 'XDDDROP';
  882.  
  883.     FUNCTION xDDField(
  884.                 iOption    : INTEGER;
  885.             VAR tCount     : INTEGER;
  886.             VAR sFldNames;
  887.                         VAR tBufLen    : INTEGER;
  888.             VAR bDataBuf ) : INTEGER;
  889.            external 'W1SQLV7' name 'XDDFIELD';
  890.  
  891.    FUNCTION xDDFile(
  892.                iOption    : INTEGER;
  893.            VAR tCount     : INTEGER;
  894.            VAR sFileNames;
  895.            VAR tBufLen    : INTEGER;
  896.            VAR bDataBuf ) : INTEGER;
  897.            external 'W1SQLV7' name 'XDDFILE';
  898.  
  899.    FUNCTION xDDIndex(
  900.                iOption    : INTEGER;
  901.            VAR tCount     : INTEGER;
  902.            VAR sIndexName;
  903.            VAR tBufLen    : INTEGER;
  904.            VAR bDataBuf ) : INTEGER;
  905.            external 'W1SQLV7' name 'XDDINDEX';
  906.  
  907.    FUNCTION xDDPath(
  908.                iOption     : INTEGER;
  909.            VAR sPathName ) : INTEGER;
  910.            external 'W1SQLV7' name 'XDDPATH';
  911.  
  912.    FUNCTION xDDView(
  913.            VAR tCount     : INTEGER;
  914.            VAR sViewName;
  915.            VAR tBufLen    : INTEGER;
  916.            VAR bDataBuf ) : INTEGER;
  917.            external 'W1SQLV7' name 'XDDVIEW';
  918.  
  919.    FUNCTION xAccess(
  920.                      VAR sMstrPswd;
  921.            VAR sUser;
  922.                iOption    : INTEGER;
  923.                iAccRights : INTEGER;
  924.            VAR sFileName;
  925.            VAR tCount     : INTEGER;
  926.            VAR sFldNames;
  927.            VAR tBufLen    : INTEGER;
  928.            VAR bDataBuf ) : INTEGER;
  929.            external 'W1SQLV7' name 'XACCESS';
  930.  
  931.      FUNCTION xPassword(
  932.            VAR sUser;
  933.            VAR sPassword ) : INTEGER;
  934.            external 'W1SQLV7' name 'XPASSWORD';
  935.  
  936.    FUNCTION xSecurity(
  937.            VAR sMstrPswd;
  938.                iOption : INTEGER ) : INTEGER;
  939.            external 'W1SQLV7' name 'XSECURITY';
  940.  
  941.    FUNCTION xUser(
  942.            VAR sMstPswd;
  943.                iOption    : INTEGER;
  944.            VAR sUser;
  945.            VAR sPassword;
  946.                iFlags     : INTEGER;
  947.            VAR tCount     : INTEGER;
  948.            VAR tBufLen    : INTEGER;
  949.            VAR bDataBuf ) : INTEGER;
  950.            external 'W1SQLV7' name 'XUSER';
  951.  
  952.    FUNCTION xChar(
  953.                              iOption : INTEGER;
  954.                iType   : INTEGER;
  955.            VAR cCharacter ) : INTEGER;
  956.            external 'W1SQLV7' name 'XCHAR';
  957.  
  958.    FUNCTION xVersion(
  959.            VAR sVersion ) : INTEGER;
  960.            external 'W1SQLV7' name 'XVERSION';
  961.  
  962.    FUNCTION xStatus(
  963.                iCursorID  : INTEGER;
  964.                              iOption    : INTEGER;
  965.            VAR tLen       : INTEGER;
  966.            VAR sStatBuf ) : INTEGER;
  967.            external 'W1SQLV7' name 'XSTATUS';
  968.  
  969.    FUNCTION xConvert(
  970.                iOption  : INTEGER;
  971.                iType    : INTEGER;
  972.                tSize    : INTEGER;
  973.                tDec     : INTEGER;
  974.                tDSize   : INTEGER;
  975.            VAR sValue;
  976.            VAR sRetVal;
  977.            VAR sMask;
  978.                iJustify : INTEGER ) : INTEGER;
  979.            external 'W1SQLV7' name 'XCONVERT';
  980.  
  981.    FUNCTION xValidate(
  982.            VAR tCount     : INTEGER;
  983.            VAR sFieldName;
  984.                tBufLen    : INTEGER;
  985.            VAR bDataBuf ) : INTEGER;
  986.                      external 'W1SQLV7' name 'XVALIDATE';
  987.  
  988.    FUNCTION xMask(
  989.                iOption : INTEGER;
  990.                iType   : INTEGER;
  991.                tSize   : INTEGER;
  992.                iDec    : INTEGER;
  993.            VAR tLen    : INTEGER;
  994.            VAR sMask ) : INTEGER;
  995.            external 'W1SQLV7' name 'XMASK';
  996.  
  997. END.
  998.