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

  1. /****************************************************************************
  2. **
  3. **  Copyright (c) 1982-1997 Pervasive Software Inc. All Rights Reserved.
  4. **
  5. ****************************************************************************/
  6. /****************************************************************************
  7. **
  8. ** FIXPARMS.H
  9. **      This module contains definitions used by fixparms.c.
  10. **
  11. ****************************************************************************/
  12. #if !defined(_FIXPARMS_H)
  13. #define _FIXPARMS_H
  14.  
  15. #if !defined(NULL)
  16. #define NULL 0
  17. #endif /* NULL */
  18.  
  19. #if !defined(FALSE)
  20. #define FALSE 0
  21. #endif /* FALSE */
  22.  
  23. #if !defined(TRUE)
  24. #define TRUE 1
  25. #endif /* TRUE */
  26.  
  27. #define FXP_DEFAULT     0
  28. #define FXP_COPYUP      1
  29. #define FXP_COPYDOWN    2
  30. #define FXP_FREE        3
  31. #define FXP_OFFPTR      4
  32. #define FXP_PTROFF      5
  33.  
  34.  
  35. #define SEND_DATA     0x0001      /* value is sent to server               */
  36. #define RET_DATA      0x0002      /* value is returned to application      */
  37. #define CONST_VAL     0x0004      /* constant integer value                */
  38. #define LONG_VAL      0x0008      /* long integer value                    */
  39. #define STR_PARM      0x0010      /* null terminated string                */
  40. #define DATA_PARM     0x0020      /* data, ASCII or binary                 */
  41. #define LEN_VAL       0x0040      /* parameter is a buffer length          */
  42. #define CNT_VAL       0x0080      /* parameter is a count value            */
  43. #define SPEC_PARM     0x0100      /* parameter requires special processing */
  44. #define REDIR_DEVICE  0x0200      /* which server to access                */
  45.  
  46.  
  47. #define C1          0x0001
  48. #define C4          0x0004
  49. #define C8          0x0008
  50. #define C10         0x000A
  51. #define C20         0x0014
  52. #define C22         0x0016
  53. #define C28         0x001C
  54. #define C30         0x001E
  55. #define C44         0x002C
  56. #define C46         0x002E
  57. #define C64         0x0040
  58. #define CVAR        0       /* indicates variable length, use buffer length */
  59.  
  60.  
  61. /* offsets of items of interest in an SSQL parmblock  */
  62. #define  PARM_ID    0           /* XQL identifier  */
  63. #define  PARM_FCN   4           /* function code   */
  64. #define  PARM_HNDL  6           /* file identifier */
  65. #define  PARM_CURSR 6           /* cursor identifier */
  66. #define  PARM_STAT  8           /* return status */
  67. #define  PARM_SSID 10           /* session identifier */
  68. #define  PARM_USID 10           /* user identifier */
  69. #define  VAR_DATA  12           /* start of variable data */
  70. #define  PARM_FIXED_LEN 12      /* start of variable data */
  71.  
  72.  
  73. extern BTI_WORD FcnParmCount[];
  74. extern BTI_WORD FcnVariableLen[];
  75. extern BTI_WORD initParmOffsets;
  76. extern BTI_WORD ParmOffsets[];
  77. extern BTI_BYTE parmLength[];
  78. extern BTI_WORD parmFlags[];
  79.  
  80. extern BTI_SINT fixParms(
  81.                    PARMBLOCK *from,
  82.                    PARMBLOCK *to );
  83.  
  84. extern BTI_SINT unfixParms(
  85.                    PARMBLOCK *from,
  86.                    PARMBLOCK *to );
  87.  
  88. #endif /* !_FIXPARMS_H */
  89.