miback.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. /*
  2. * Licensed Materials - Property of IBM and/or HCL
  3. *
  4. * IBM Informix Dynamic Server
  5. * (c) Copyright IBM Corporation 1996, 2004 All rights reserved.
  6. * (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved.
  7. *
  8. ***************************************************************************
  9. *
  10. * Title: miback.h
  11. * Description:
  12. * MIAPI backward compatible definitions
  13. *
  14. ***************************************************************************
  15. */
  16. #ifndef _MIBACK_H_
  17. #define _MIBACK_H_
  18. /*
  19. * SQL Data Types
  20. */
  21. typedef mi_string MI_STRING;
  22. typedef MI_ROW * mi_composite;
  23. /*
  24. * NOTE for the mi_oid typedef below -
  25. * Not Supported in IUS! This has no function but to allow certain special
  26. * case code to compile. See mi_typeoid and mi_funcoid for IUS supported
  27. * types.
  28. */
  29. typedef mi_ref mi_oid;
  30. typedef void (MI_PROC_CALLBACK * MI_VOID) ARGS((MI_EVENT_TYPE type,
  31. MI_CONNECTION MI_FAR *conn,
  32. void MI_FAR *cb_data,
  33. void MI_FAR *user_data));
  34. /*
  35. * Variable Length Data Types
  36. */
  37. typedef mi_lvarchar mi_varlena;
  38. typedef mi_lvarchar mi_text;
  39. typedef mi_lvarchar mi_bytea;
  40. /*
  41. * mi_oid type from LIBMI is now an mi_typeoid for storing type id
  42. * and an mi_funcoid for storing function id within the MI_FPARAM structure
  43. */
  44. typedef MI_TYPEID mi_typeoid;
  45. typedef mi_funcid mi_funcoid;
  46. /*
  47. * Varchar Macros: now map to functions
  48. */
  49. #define MI_GET_TEXTLEN mi_get_varlen
  50. #define MI_GET_TEXTDATA mi_get_vardata
  51. #define MI_GET_TEXTDATA_ALIGN mi_get_vardata_align
  52. #define MI_SET_TEXTLEN mi_set_varlen
  53. #define MI_SET_TEXTDATA mi_set_vardata
  54. #define MI_SET_TEXTDATA_ALIGN mi_set_vardata_align
  55. #define mi_text_to_string mi_lvarchar_to_string
  56. #define mi_string_to_text mi_string_to_lvarchar
  57. #define mi_varlena_copy mi_var_copy
  58. #define mi_text_to_buffer mi_var_to_buffer
  59. #define MI_NEW_VAR mi_new_var
  60. #define MI_SET_VARPTR mi_set_varptr
  61. #define MI_GET_VARLEN mi_get_varlen
  62. #define MI_GET_VARDATA mi_get_vardata
  63. #define MI_GET_VARDATA_ALIGN mi_get_vardata_align
  64. #define MI_SET_VARLEN mi_set_varlen
  65. #define MI_SET_VARDATA mi_set_vardata
  66. #define MI_SET_VARDATA_ALIGN mi_set_vardata_align
  67. /*
  68. * MI_FPARAM Accessors: now map to functions
  69. */
  70. #define MI_FP_FUNCSTATE mi_fp_funcstate
  71. #define MI_FP_SETFUNCSTATE mi_fp_setfuncstate
  72. #define MI_FP_REQUEST mi_fp_request
  73. #define MI_FP_SETISDONE mi_fp_setisdone
  74. #define MI_FP_RETURNISNULL(fp) mi_fp_returnisnull((fp), 0)
  75. #define MI_FP_SETRETURNISNULL(fp, val) mi_fp_setreturnisnull((fp), 0, (val))
  76. #define MI_FP_NARGS mi_fp_nargs
  77. #define MI_FP_SETNARGS mi_fp_setnargs
  78. #define MI_FP_ARGISNULL mi_fp_argisnull
  79. #define MI_FP_SETARGISNULL mi_fp_setargisnull
  80. #define MI_FP_SETFUNCOID mi_fp_setfuncid
  81. #define MI_FP_ARGTYPEOID mi_fp_argtype
  82. #define MI_FP_SETARGTYPEOID mi_fp_setargtype
  83. #define MI_FP_RETTYPEOID(fparamPtr) mi_fp_rettype(fparamPtr, 0)
  84. #define MI_FP_SETRETTYPEOID(fparamPtr,typeID) \
  85. mi_fp_setrettype(fparamPtr, 0, typeID)
  86. EXTERNC_BEGIN
  87. /*
  88. * Callback Functions
  89. */
  90. MI_DECL
  91. mi_integer MI_PROC_EXPORT
  92. mi_add_callback ARGS((MI_EVENT_TYPE event_type,
  93. MI_VOID func,
  94. void MI_FAR *user_data));
  95. MI_DECL
  96. mi_integer MI_PROC_EXPORT
  97. mi_delete_callback ARGS((MI_EVENT_TYPE event_type));
  98. MI_DECL
  99. mi_integer MI_PROC_EXPORT
  100. mi_get_callback ARGS((MI_EVENT_TYPE event_type,
  101. MI_VOID *ret_function,
  102. void MI_FAR * MI_FAR *ret_user_data));
  103. EXTERNC_END
  104. /*
  105. * Error and Exception Handling
  106. */
  107. #define mi_error_sql_code mi_error_sql_state
  108. /* server state transitions */
  109. MI_DECL
  110. void MI_PROC_EXPORT
  111. mi_xact_levels ARGS((void *xe,
  112. mi_integer *oldlevel,
  113. mi_integer *newlevel));
  114. MI_DECL
  115. mi_integer MI_PROC_EXPORT
  116. mi_xact_state ARGS((void *xe));
  117. #endif /* _MIBACK_H_ */