home *** CD-ROM | disk | FTP | other *** search
/ Datatid 1999 #6 / Datatid_1999-06.iso / internet / Tango352Promo / P.SQL / PTKPKG.1 / VGLOBALS.C < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-03  |  17.7 KB  |  673 lines

  1. /****************************************************************************
  2. **
  3. **     Copyright (c) 1982-1997 Pervasive Software Inc. All Rights Reserved.
  4. **
  5. ****************************************************************************/
  6. /****************************************************************************
  7. ** VGLOBALS.C
  8. **    This modules contains tables used by fixparms() and unfixparms().
  9. **
  10. ****************************************************************************/
  11.  
  12. /*
  13. **  Includes
  14. */
  15. #include <sqlapi.h>
  16. #include <fixparms.h>
  17. #include <wxqlords.h>
  18.  
  19.  
  20. BTI_WORD MaxSRBDataSize = 8192;
  21.  
  22.  
  23. /*
  24. **
  25. **  FcnParmCount
  26. **
  27. **  This structure is initialized with the number of parameters each
  28. **  function uses.  The values are ordered by function number; XQLM
  29. **  functions are first, followed by XQLP functions, followed by DBNames
  30. **  functions.
  31. **
  32. **  The parameter count does not include the XQLM cursor id or the XQLP
  33. **  view handle since these parameters are in the fixed portion of the
  34. **  parameter block.
  35. */
  36.  
  37. BTI_WORD FcnParmCount[] =
  38. {         /* XQLM */
  39.      6,  0,  0,  2,  3,  6,  7,  5,  0,  0,
  40.      2,  0,  1,  9,  4,  6,  5,
  41.          /* XQLP+17 */
  42.      6,  0,  3,  0,  2,  4,  5,  5,  6,  2,
  43.      3,  7,  4,  4,  8,  3,  5,  1,  1,  3,
  44.          /* +20 */
  45.     12,  3,  6,  0,  5,  5,  5, 10,  4,  3,
  46.      2,  5,  2,  2,  8,  9,  2,  3,  1,  9,
  47.          /* +20 */
  48.      4,  6,  8,
  49.          /* +2 */
  50.          /* DBNames */
  51.      6,  1,  1,  6,  2,  6,  2,  1,
  52.          /* +8 */
  53.          /* DBU* */
  54.      7,  7
  55. };
  56.  
  57.  
  58. /*
  59. **
  60. **  FcnVariableLen
  61. **
  62. **  This structure specifies the total number of bytes of space required
  63. **  to store the variable portion of the parameter block.  Integer
  64. **  parameters require 2 bytes; long integer and pointer variables
  65. **  require 4 bytes each.
  66. **
  67. */
  68.  
  69.  
  70. BTI_WORD FcnVariableLen[] =
  71. {
  72.     /* XQLM */
  73.     22,  0,   0,  6,  8, 16, 16, 14,
  74.     0,  0,   6,  0,  4, 24, 12, 14,
  75.     12,
  76.  
  77.     /* XQLP */
  78.     22,  0,  10,  0,  4, 10, 12, 16,
  79.     16,  6,  10, 22, 14, 14, 26, 14,
  80.     16,  4,   2,  8, 38, 10, 18,  0,
  81.     14, 14,  14, 30, 12,  8,  6, 14,
  82.     6,   6,  24, 28,  8,  6,  4, 24,
  83.     12, 14,  22,
  84.  
  85.     /* DBNames */
  86.     24,  4,   4, 24,  8, 24,  8,   2,
  87.  
  88.     /* DBU* */
  89.     24, 24
  90. };
  91.  
  92.  
  93. /*
  94. **  initialized at runtime to starting offset of each function's
  95. **  offset into tables
  96. */
  97.  
  98. BTI_WORD initParmOffsets = TRUE;
  99.  
  100.  
  101. /*
  102. **
  103. **  parmOffsets
  104. **
  105. **  This structure is initialized at runtime with a cumulative offset
  106. **  using the values in FcnParmCount.
  107. **
  108. **  SRBFormat/SRBUnformat/fixParms/unfixParms use these values to
  109. **  determine the starting offset into the parmLength and parmFlags
  110. **  arrays for each function.
  111. **
  112. */
  113.  
  114. BTI_WORD ParmOffsets[MAX_SSQL_FUNCTIONS] = {0};
  115.  
  116.  
  117. /*
  118. **  parmLength
  119. **
  120. **  This array contains the maximum size of each string parameter for
  121. **  each function call.  Zeros are used as place holders for integer and
  122. **  long integer parameters.  If the parameter is a buffer of variable
  123. **  length, the constant CVAR is used to indicate this.  The data buffer
  124. **  length or count parameter is used to determine the total buffer size.
  125. **
  126. **  Again, these lengths are not specified for the XQLM cursorid or
  127. **  the XQLP view handle.
  128. **
  129. */
  130.  
  131. BTI_BYTE parmLength[] = {
  132.                             /*  XQLLogin     */
  133.     C30, C8, C64, C64, C8, 0,
  134.                             /*  XQLCompile     */
  135.     0, CVAR,
  136.                             /*  XQLFormat     */
  137.     0, 0, CVAR,
  138.                             /*  XQLFetch     */
  139.     0, 0, CVAR,  0, 0, 0,
  140.                             /*  XQLDescribe  */
  141.     0, 0, 0, 0, 0, 0, CVAR,
  142.                             /*  XQLSubst     */
  143.     0, 0, CVAR, 0, CVAR,
  144.                             /*  XQLStatus     */
  145.     0, C30,
  146.                             /*  XQLVersion     */
  147.     C4,
  148.                             /*  XQLConvert     */
  149.     0, 0, 0, 0, 0, CVAR, CVAR, C30, 0,
  150.                             /*  XQLValidate  */
  151.     0, C44, 0, CVAR,
  152.                             /*  XQLMask      */
  153.     0, 0, 0, 0, 0, CVAR,
  154.                             /*  XQLSPUtility */
  155.     0, 0, 0, 0, CVAR,
  156.                             /*    xLogin     */
  157.     C30, C8, C64, C64, C8, 0,
  158.                             /*    xNew       */
  159.     C20, C8, 0,
  160.                             /*    xMovefld     */
  161.     0, 0,
  162.                             /*    xField     */
  163.     0, 0, 0, C44,
  164.                             /*    xDescribe  */
  165.     0, 0, 0, 0, CVAR,
  166.                             /*    xFetch     */
  167.     0, 0, 0, 0, CVAR,
  168.                             /*    xCompute     */
  169.     C20, 0, 0, 0, 0, CVAR,
  170.                             /*    xOrder     */
  171.     0, C46,
  172.                             /*    xRestrict  */
  173.     0, 0, CVAR,
  174.                             /*    xJoin      */
  175.     C20, C8, 0, 0, C44, 0, C44,
  176.                             /*    xInsert     */
  177.     0, C20, 0, CVAR,
  178.                             /*    xUpdate     */
  179.     0, C20, 0, CVAR,
  180.                             /*    xUpdall     */
  181.     0, C20, 0, 0, 0, 0, C44, C44,
  182.                             /*    xRemove     */
  183.     0, C20, 0,
  184.                             /*    xRemall     */
  185.     0, C20, 0, 0, 0,
  186.                             /*    xReset     */
  187.     C8,
  188.                             /*    xTrans     */
  189.     0,
  190.                             /*    xStatus     */
  191.     0, 0, CVAR,
  192.                             /*    xDDCreate  */
  193.     0, C20, 0, C64, C8, 0, 0, C28, 0, C22, 0, CVAR,
  194.                             /*    xStore     */
  195.     C20, 0, CVAR,
  196.                             /*    xRecall     */
  197.     C20, 0, C8, 0, 0, CVAR,
  198.                             /*    xDDFile     */
  199.     0, 0, C20, 0, CVAR,
  200.                             /*    xDDField     */
  201.     0, 0, C44, 0, CVAR,
  202.                             /*    xDDIndex     */
  203.     0, 0, C44, 0, CVAR,
  204.                             /*    xDDModify  */
  205.     0, C20, 0, C64, C8, 0, 0, C28, 0, C22,
  206.                             /*    xDDView     */
  207.     0, C20, 0, CVAR,
  208.                             /*    xDDDrop     */
  209.     C20, 0, 0,
  210.                             /*    xDDPath     */
  211.     0, C64,
  212.                             /*    xDDAttr     */
  213.     0, C44, 0, 0, CVAR,
  214.                             /*    xDD        */
  215.     C64, 0,
  216.                             /*    xSecurity  */
  217.     C8, 0,
  218.                             /*    xUser      */
  219.     C8, 0, C30, C8, 0, 0, 0, CVAR,
  220.                             /*    xAccess     */
  221.     C8, C30, 0, 0, C20, 0, C44, 0, CVAR,
  222.                             /*    xPassword  */
  223.     C30, C8,
  224.                             /*    xChar      */
  225.     0, 0, 0,
  226.                             /*    xVersion     */
  227.     C4,
  228.                             /*    xConvert     */
  229.     0, 0, 0, 0, 0, CVAR, CVAR, C30, 0,
  230.                             /*    xValidate  */
  231.     0, C44, 0, CVAR,
  232.                             /*    xMask      */
  233.     0, 0, 0, 0, 0, CVAR,
  234.                             /*    xVersion2  */
  235.     C4, 0, 0, CVAR, 0, 0, 0, C4,
  236.                                                    /* SQLAddDataBaseName */
  237.     C20, C10, 0, CVAR, 0, CVAR,
  238.                                                   /* SQLDropDatabaseName */
  239.     C20,
  240.                                              /* SQLGetCountDatabaseNames */
  241.     0,
  242.                                                    /* SQLGetDatabaseInfo */
  243.     C20, C10, 0, CVAR, 0, CVAR,
  244.                                                   /* SQLGetDatabaseNames */
  245.     0, CVAR,
  246.                                                 /* SQLModifyDatabaseInfo */
  247.     C20, C10, 0, CVAR, 0, CVAR,
  248.                                                     /* SQLRenameDatabase */
  249.     C20, C20,
  250.                                                      /* SQLUnloadDBNames */
  251.     0,
  252.                                                            /* DBUGetInfo */
  253.     0, 0, 0, 0, CVAR, 0, CVAR,
  254.                                                            /* DBUSetInfo */
  255.     0, 0, 0, 0, CVAR, 0, 0
  256. };
  257.  
  258.  
  259. /*
  260. **
  261. **  parmFlags
  262. **
  263. **  For each parameter, this array contains flags that indicate the
  264. **  parameter type.  The flags are defined in 'fixparms.h'.
  265. **
  266. **  Again, these lengths are not specified for the XQLM cursorid or the
  267. **  XQLP view handle.
  268. **
  269. */
  270.  
  271. BTI_WORD parmFlags[] =
  272. {
  273.                             /* XQLLogin */
  274.     STR_PARM+SEND_DATA,
  275.       STR_PARM+SEND_DATA,
  276.       STR_PARM+SEND_DATA+REDIR_DEVICE,
  277.       STR_PARM+SEND_DATA,
  278.       STR_PARM+SEND_DATA,
  279.       CONST_VAL+SEND_DATA,
  280.  
  281.                             /* XQLCompile */
  282.     CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  283.       STR_PARM+SEND_DATA,
  284.  
  285.                             /* XQLFormat */
  286.     CONST_VAL+SEND_DATA,
  287.       CONST_VAL+SEND_DATA+LEN_VAL,
  288.       STR_PARM+SEND_DATA,
  289.  
  290.                             /* XQLFetch */
  291.     CONST_VAL+SEND_DATA,
  292.       CONST_VAL+LEN_VAL+SEND_DATA+RET_DATA,
  293.       DATA_PARM+RET_DATA,
  294.       LONG_VAL+SEND_DATA+RET_DATA,
  295.       CONST_VAL+SEND_DATA,
  296.       CONST_VAL+SEND_DATA,
  297.  
  298.                             /* XQLDescribe */
  299.     CONST_VAL+SEND_DATA,
  300.       CONST_VAL+SEND_DATA+RET_DATA,
  301.       CONST_VAL+SEND_DATA+RET_DATA,
  302.       CONST_VAL+SEND_DATA+RET_DATA,
  303.       CONST_VAL+SEND_DATA+RET_DATA,
  304.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  305.       STR_PARM+RET_DATA+SPEC_PARM,
  306.  
  307.                             /* XQLSubst */
  308.     CONST_VAL+SEND_DATA,
  309.       CONST_VAL+SEND_DATA+LEN_VAL,
  310.       DATA_PARM+SEND_DATA,
  311.       CONST_VAL+SEND_DATA+LEN_VAL,
  312.       DATA_PARM+SEND_DATA,
  313.  
  314.                             /* XQLStatus */
  315.     CONST_VAL+SEND_DATA,
  316.       DATA_PARM+RET_DATA+SPEC_PARM,
  317.  
  318.                             /* XQLVersion */
  319.     DATA_PARM+RET_DATA,
  320.  
  321.                             /* XQLConvert */
  322.     CONST_VAL+SEND_DATA,
  323.       CONST_VAL+SEND_DATA,
  324.       CONST_VAL+SEND_DATA,
  325.       CONST_VAL+SEND_DATA,
  326.       CONST_VAL+SEND_DATA,
  327.       DATA_PARM+SEND_DATA+SPEC_PARM,
  328.       DATA_PARM+RET_DATA+SPEC_PARM,
  329.       STR_PARM+SEND_DATA,
  330.       CONST_VAL+SEND_DATA,
  331.  
  332.                             /* XQLValidate */
  333.     CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  334.       STR_PARM+SEND_DATA,
  335.       CONST_VAL+SEND_DATA+LEN_VAL,
  336.       DATA_PARM+SEND_DATA,
  337.  
  338.                             /* XQLMask */
  339.     CONST_VAL+SEND_DATA,
  340.       CONST_VAL+SEND_DATA,
  341.       CONST_VAL+SEND_DATA,
  342.       CONST_VAL+SEND_DATA,
  343.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  344.       STR_PARM+SEND_DATA+RET_DATA,
  345.  
  346.                             /* XQLSPUtility  */
  347.     CONST_VAL+SEND_DATA,
  348.       CONST_VAL+SEND_DATA+RET_DATA,
  349.       CONST_VAL+RET_DATA,
  350.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  351.       DATA_PARM+SEND_DATA+RET_DATA,
  352.  
  353.                             /* xLogin */
  354.     STR_PARM+SEND_DATA,
  355.       STR_PARM+SEND_DATA,
  356.       STR_PARM+SEND_DATA+REDIR_DEVICE,
  357.       STR_PARM+SEND_DATA,
  358.       STR_PARM+SEND_DATA,
  359.       CONST_VAL+SEND_DATA,
  360.  
  361.                             /* xNew */
  362.     STR_PARM+SEND_DATA,
  363.       STR_PARM+SEND_DATA,
  364.       CONST_VAL+SEND_DATA,
  365.  
  366.                             /* xMovefld */
  367.     CONST_VAL+SEND_DATA,
  368.       CONST_VAL+SEND_DATA,
  369.  
  370.                             /* xField */
  371.     CONST_VAL+SEND_DATA,
  372.       CONST_VAL+SEND_DATA,
  373.       CONST_VAL+CNT_VAL+SEND_DATA+RET_DATA,
  374.       STR_PARM+SEND_DATA,
  375.  
  376.                             /* xDescribe */
  377.     CONST_VAL+SEND_DATA,
  378.       CONST_VAL+LEN_VAL+SEND_DATA+RET_DATA,
  379.       CONST_VAL+SEND_DATA,
  380.       CONST_VAL+CNT_VAL+SEND_DATA+RET_DATA,
  381.       DATA_PARM+RET_DATA+SEND_DATA+SPEC_PARM,
  382.  
  383.                             /* xFetch */
  384.     CONST_VAL+LEN_VAL+SEND_DATA+RET_DATA,
  385.       CONST_VAL+SEND_DATA,
  386.       LONG_VAL+SEND_DATA+RET_DATA,
  387.       LONG_VAL+SEND_DATA+RET_DATA,
  388.       DATA_PARM+SEND_DATA+RET_DATA+SPEC_PARM,
  389.  
  390.                             /* xCompute */
  391.     STR_PARM+SEND_DATA,
  392.       CONST_VAL+SEND_DATA,
  393.       CONST_VAL+SEND_DATA,
  394.       CONST_VAL+SEND_DATA,
  395.       CONST_VAL+LEN_VAL+SEND_DATA+RET_DATA,
  396.       STR_PARM+SEND_DATA,
  397.  
  398.                             /* xOrder */
  399.     CONST_VAL+CNT_VAL+SEND_DATA,
  400.       DATA_PARM+SEND_DATA,
  401.  
  402.                             /* xRestrict */
  403.     CONST_VAL+SEND_DATA,
  404.       CONST_VAL+LEN_VAL+SEND_DATA+RET_DATA,
  405.       STR_PARM+SEND_DATA,
  406.  
  407.                             /* xJoin */
  408.     STR_PARM+SEND_DATA,
  409.       STR_PARM+SEND_DATA,
  410.       CONST_VAL+SEND_DATA,
  411.       CONST_VAL+SEND_DATA+CNT_VAL,
  412.       STR_PARM+SEND_DATA,
  413.       CONST_VAL+SEND_DATA+CNT_VAL,
  414.       STR_PARM+SEND_DATA,
  415.  
  416.                             /* xInsert */
  417.     CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  418.       STR_PARM+SEND_DATA,
  419.       LONG_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  420.       DATA_PARM+SEND_DATA+SPEC_PARM+RET_DATA,
  421.  
  422.                             /* xUpdate */
  423.     CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  424.       STR_PARM+SEND_DATA,
  425.       LONG_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  426.       DATA_PARM+SEND_DATA+SPEC_PARM,
  427.  
  428.                             /* xUpdall */
  429.     CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  430.       STR_PARM+SEND_DATA,
  431.       CONST_VAL+SEND_DATA,
  432.       LONG_VAL+SEND_DATA+RET_DATA,
  433.       LONG_VAL+SEND_DATA+RET_DATA,
  434.       CONST_VAL+SEND_DATA+CNT_VAL,
  435.       STR_PARM+SEND_DATA,
  436.       STR_PARM+SEND_DATA,
  437.  
  438.                             /* xRemove */
  439.     CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  440.       STR_PARM+SEND_DATA,
  441.       LONG_VAL+SEND_DATA+RET_DATA,
  442.  
  443.                             /* xRemall */
  444.     CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  445.       STR_PARM+SEND_DATA,
  446.       CONST_VAL+SEND_DATA,
  447.       LONG_VAL+SEND_DATA+RET_DATA,
  448.       LONG_VAL+SEND_DATA+RET_DATA,
  449.  
  450.                             /* xReset */
  451.     STR_PARM+SEND_DATA,
  452.  
  453.                             /* xTrans */
  454.     CONST_VAL+SEND_DATA,
  455.  
  456.                             /* xStatus */
  457.     CONST_VAL+SEND_DATA,
  458.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  459.       DATA_PARM+RET_DATA,
  460.  
  461.                             /* xDDCreate */
  462.     CONST_VAL+SEND_DATA,
  463.       STR_PARM+SEND_DATA,
  464.       CONST_VAL+SEND_DATA,
  465.       STR_PARM+SEND_DATA,
  466.       STR_PARM+SEND_DATA,
  467.       CONST_VAL+SEND_DATA,
  468.       CONST_VAL+SEND_DATA+CNT_VAL,
  469.       DATA_PARM+SEND_DATA+SPEC_PARM,
  470.       CONST_VAL+SEND_DATA+CNT_VAL,
  471.       DATA_PARM+SEND_DATA,
  472.       CONST_VAL+SEND_DATA+LEN_VAL,
  473.       DATA_PARM+SEND_DATA,
  474.  
  475.                             /* xStore */
  476.     STR_PARM+SEND_DATA,
  477.       CONST_VAL+SEND_DATA+LEN_VAL,
  478.       DATA_PARM+SEND_DATA+SPEC_PARM,
  479.  
  480.                             /* xRecall */
  481.     STR_PARM+SEND_DATA,
  482.       CONST_VAL+SEND_DATA+CNT_VAL,
  483.       STR_PARM+SEND_DATA,
  484.       CONST_VAL+SEND_DATA,
  485.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  486.       DATA_PARM+RET_DATA,
  487.  
  488.                             /* xDDFile */
  489.     CONST_VAL+SEND_DATA,
  490.       CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  491.       STR_PARM+SEND_DATA,
  492.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  493.       DATA_PARM+SEND_DATA+RET_DATA+SPEC_PARM,
  494.  
  495.                             /* xDDField */
  496.     CONST_VAL+SEND_DATA,
  497.       CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  498.       STR_PARM+SEND_DATA,
  499.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  500.       DATA_PARM+RET_DATA,
  501.  
  502.                             /* xDDIndex */
  503.     CONST_VAL+SEND_DATA,
  504.       CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  505.       STR_PARM+SEND_DATA,
  506.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  507.       DATA_PARM+RET_DATA,
  508.  
  509.                             /* xDDModify */
  510.     CONST_VAL+SEND_DATA,
  511.       STR_PARM+SEND_DATA,
  512.       CONST_VAL+SEND_DATA,
  513.       STR_PARM+SEND_DATA,
  514.       STR_PARM+SEND_DATA,
  515.       CONST_VAL+SEND_DATA,
  516.       CONST_VAL+SEND_DATA+CNT_VAL,
  517.       DATA_PARM+SEND_DATA+SPEC_PARM,
  518.       CONST_VAL+SEND_DATA+CNT_VAL,
  519.       DATA_PARM+SEND_DATA,
  520.  
  521.                             /* xDDView */
  522.     CONST_VAL+SEND_DATA+RET_DATA,
  523.       STR_PARM+SEND_DATA,
  524.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  525.       DATA_PARM+RET_DATA,
  526.  
  527.                             /* xDDDrop */
  528.     STR_PARM+SEND_DATA+SPEC_PARM,
  529.       CONST_VAL+SEND_DATA,
  530.       CONST_VAL+SEND_DATA,
  531.  
  532.                             /* xDDPath */
  533.     CONST_VAL+SEND_DATA,
  534.       STR_PARM+SEND_DATA+REDIR_DEVICE,
  535.  
  536.                             /* xDDAttr */
  537.     CONST_VAL+SEND_DATA,
  538.       STR_PARM+SEND_DATA,
  539.       CONST_VAL+SEND_DATA,
  540.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  541.       DATA_PARM+SEND_DATA+RET_DATA+SPEC_PARM,
  542.  
  543.                             /* xDD */
  544.     STR_PARM+SEND_DATA+REDIR_DEVICE,
  545.       CONST_VAL+SEND_DATA,
  546.  
  547.                             /* xSecurity */
  548.     STR_PARM+SEND_DATA,
  549.       CONST_VAL+SEND_DATA,
  550.  
  551.                             /* xUser */
  552.     STR_PARM+SEND_DATA,
  553.       CONST_VAL+SEND_DATA,
  554.       STR_PARM+SEND_DATA,
  555.       STR_PARM+SEND_DATA,
  556.       CONST_VAL+SEND_DATA,
  557.       CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  558.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  559.       DATA_PARM+SEND_DATA+RET_DATA+SPEC_PARM,
  560.  
  561.                             /* xAccess */
  562.     STR_PARM+SEND_DATA,
  563.       STR_PARM+SEND_DATA,
  564.       CONST_VAL+SEND_DATA,
  565.       CONST_VAL+SEND_DATA,
  566.       STR_PARM+SEND_DATA,
  567.       CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  568.       DATA_PARM+SEND_DATA,
  569.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  570.       DATA_PARM+RET_DATA+SPEC_PARM,
  571.  
  572.                             /* xPassword */
  573.     STR_PARM+SEND_DATA,
  574.       STR_PARM+SEND_DATA,
  575.  
  576.                             /* xChar */
  577.     CONST_VAL+SEND_DATA,
  578.       CONST_VAL+SEND_DATA,
  579.       CONST_VAL+SEND_DATA+RET_DATA,
  580.  
  581.                             /* xVersion */
  582.     DATA_PARM+RET_DATA,
  583.  
  584.                             /* xConvert */
  585.     CONST_VAL+SEND_DATA,
  586.       CONST_VAL+SEND_DATA,
  587.       CONST_VAL+SEND_DATA,
  588.       CONST_VAL+SEND_DATA,
  589.       CONST_VAL+SEND_DATA,
  590.       DATA_PARM+SEND_DATA+SPEC_PARM,
  591.       DATA_PARM+RET_DATA+SPEC_PARM,
  592.       STR_PARM+SEND_DATA,
  593.       CONST_VAL+SEND_DATA,
  594.  
  595.                             /* xValidate */
  596.     CONST_VAL+SEND_DATA+RET_DATA+CNT_VAL,
  597.       STR_PARM+SEND_DATA,
  598.       CONST_VAL+SEND_DATA+LEN_VAL,
  599.       DATA_PARM+SEND_DATA,
  600.  
  601.                             /* xMask */
  602.     CONST_VAL+SEND_DATA,
  603.       CONST_VAL+SEND_DATA,
  604.       CONST_VAL+SEND_DATA,
  605.       CONST_VAL+SEND_DATA,
  606.       CONST_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  607.       STR_PARM+SEND_DATA+RET_DATA,
  608.  
  609.                             /* xVersion2 */
  610.     LONG_VAL+SEND_DATA,
  611.       CONST_VAL+SEND_DATA,
  612.       CONST_VAL+SEND_DATA,
  613.       SPEC_PARM+DATA_PARM+SEND_DATA,
  614.       CONST_VAL+RET_DATA,
  615.       CONST_VAL+RET_DATA,
  616.       CONST_VAL+RET_DATA,
  617.       LONG_VAL+RET_DATA,
  618.  
  619.                                                /* SQLAddDataBaseName */
  620.     DATA_PARM+SEND_DATA,
  621.       DATA_PARM+SEND_DATA,
  622.       LONG_VAL+SEND_DATA+LEN_VAL,
  623.       STR_PARM+SEND_DATA,
  624.       LONG_VAL+SEND_DATA+LEN_VAL,
  625.       STR_PARM+SEND_DATA,
  626.  
  627.                                               /* SQLDropDatabaseName */
  628.     DATA_PARM+SEND_DATA,
  629.  
  630.                                          /* SQLGetCountDatabaseNames */
  631.     LONG_VAL+RET_DATA,
  632.  
  633.                                                /* SQLGetDatabaseInfo */
  634.     DATA_PARM+SEND_DATA,
  635.       DATA_PARM+RET_DATA,
  636.       LONG_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  637.       STR_PARM+RET_DATA,
  638.       LONG_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  639.       STR_PARM+RET_DATA,
  640.  
  641.                                               /* SQLGetDatabaseNames */
  642.     LONG_VAL+LEN_VAL+SEND_DATA+RET_DATA,
  643.       DATA_PARM+SEND_DATA+RET_DATA,
  644.  
  645.                                             /* SQLModifyDatabaseInfo */
  646.     DATA_PARM+SEND_DATA,
  647.       DATA_PARM+SEND_DATA,
  648.       LONG_VAL+SEND_DATA+LEN_VAL,
  649.       STR_PARM+SEND_DATA,
  650.       LONG_VAL+SEND_DATA+LEN_VAL,
  651.       STR_PARM+SEND_DATA,
  652.  
  653.                                                 /* SQLRenameDatabase */
  654.     DATA_PARM+SEND_DATA,
  655.       DATA_PARM+SEND_DATA,
  656.  
  657.                                                  /* SQLUnloadDBNames */
  658.     CONST_VAL+SEND_DATA+RET_DATA,
  659.  
  660.                                                        /* DBUGetInfo */
  661.     LONG_VAL+SEND_DATA, CONST_VAL+SEND_DATA,
  662.       CONST_VAL+SEND_DATA, LONG_VAL+SEND_DATA+LEN_VAL,
  663.       DATA_PARM+SEND_DATA, LONG_VAL+SEND_DATA+RET_DATA+LEN_VAL,
  664.       DATA_PARM+RET_DATA,
  665.  
  666.                                                        /* DBUSetInfo */
  667.     LONG_VAL+SEND_DATA, CONST_VAL+SEND_DATA,
  668.       CONST_VAL+SEND_DATA, LONG_VAL+SEND_DATA+LEN_VAL,
  669.       DATA_PARM+SEND_DATA, LONG_VAL+SEND_DATA, LONG_VAL+SEND_DATA
  670. };
  671.  
  672.  
  673.