psi_abi_v2.h.pp 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. C_MODE_START
  2. struct TABLE_SHARE;
  3. struct sql_digest_storage;
  4. struct PSI_mutex;
  5. typedef struct PSI_mutex PSI_mutex;
  6. struct PSI_rwlock;
  7. typedef struct PSI_rwlock PSI_rwlock;
  8. struct PSI_cond;
  9. typedef struct PSI_cond PSI_cond;
  10. struct PSI_table_share;
  11. typedef struct PSI_table_share PSI_table_share;
  12. struct PSI_table;
  13. typedef struct PSI_table PSI_table;
  14. struct PSI_thread;
  15. typedef struct PSI_thread PSI_thread;
  16. struct PSI_file;
  17. typedef struct PSI_file PSI_file;
  18. struct PSI_socket;
  19. typedef struct PSI_socket PSI_socket;
  20. struct PSI_table_locker;
  21. typedef struct PSI_table_locker PSI_table_locker;
  22. struct PSI_statement_locker;
  23. typedef struct PSI_statement_locker PSI_statement_locker;
  24. struct PSI_idle_locker;
  25. typedef struct PSI_idle_locker PSI_idle_locker;
  26. struct PSI_digest_locker;
  27. typedef struct PSI_digest_locker PSI_digest_locker;
  28. struct PSI_bootstrap
  29. {
  30. void* (*get_interface)(int version);
  31. };
  32. typedef struct PSI_bootstrap PSI_bootstrap;
  33. struct PSI_mutex_locker;
  34. typedef struct PSI_mutex_locker PSI_mutex_locker;
  35. struct PSI_rwlock_locker;
  36. typedef struct PSI_rwlock_locker PSI_rwlock_locker;
  37. struct PSI_cond_locker;
  38. typedef struct PSI_cond_locker PSI_cond_locker;
  39. struct PSI_file_locker;
  40. typedef struct PSI_file_locker PSI_file_locker;
  41. struct PSI_socket_locker;
  42. typedef struct PSI_socket_locker PSI_socket_locker;
  43. enum PSI_mutex_operation
  44. {
  45. PSI_MUTEX_LOCK= 0,
  46. PSI_MUTEX_TRYLOCK= 1
  47. };
  48. typedef enum PSI_mutex_operation PSI_mutex_operation;
  49. enum PSI_rwlock_operation
  50. {
  51. PSI_RWLOCK_READLOCK= 0,
  52. PSI_RWLOCK_WRITELOCK= 1,
  53. PSI_RWLOCK_TRYREADLOCK= 2,
  54. PSI_RWLOCK_TRYWRITELOCK= 3
  55. };
  56. typedef enum PSI_rwlock_operation PSI_rwlock_operation;
  57. enum PSI_cond_operation
  58. {
  59. PSI_COND_WAIT= 0,
  60. PSI_COND_TIMEDWAIT= 1
  61. };
  62. typedef enum PSI_cond_operation PSI_cond_operation;
  63. enum PSI_file_operation
  64. {
  65. PSI_FILE_CREATE= 0,
  66. PSI_FILE_CREATE_TMP= 1,
  67. PSI_FILE_OPEN= 2,
  68. PSI_FILE_STREAM_OPEN= 3,
  69. PSI_FILE_CLOSE= 4,
  70. PSI_FILE_STREAM_CLOSE= 5,
  71. PSI_FILE_READ= 6,
  72. PSI_FILE_WRITE= 7,
  73. PSI_FILE_SEEK= 8,
  74. PSI_FILE_TELL= 9,
  75. PSI_FILE_FLUSH= 10,
  76. PSI_FILE_STAT= 11,
  77. PSI_FILE_FSTAT= 12,
  78. PSI_FILE_CHSIZE= 13,
  79. PSI_FILE_DELETE= 14,
  80. PSI_FILE_RENAME= 15,
  81. PSI_FILE_SYNC= 16
  82. };
  83. typedef enum PSI_file_operation PSI_file_operation;
  84. enum PSI_table_io_operation
  85. {
  86. PSI_TABLE_FETCH_ROW= 0,
  87. PSI_TABLE_WRITE_ROW= 1,
  88. PSI_TABLE_UPDATE_ROW= 2,
  89. PSI_TABLE_DELETE_ROW= 3
  90. };
  91. typedef enum PSI_table_io_operation PSI_table_io_operation;
  92. enum PSI_table_lock_operation
  93. {
  94. PSI_TABLE_LOCK= 0,
  95. PSI_TABLE_EXTERNAL_LOCK= 1
  96. };
  97. typedef enum PSI_table_lock_operation PSI_table_lock_operation;
  98. enum PSI_socket_state
  99. {
  100. PSI_SOCKET_STATE_IDLE= 1,
  101. PSI_SOCKET_STATE_ACTIVE= 2
  102. };
  103. typedef enum PSI_socket_state PSI_socket_state;
  104. enum PSI_socket_operation
  105. {
  106. PSI_SOCKET_CREATE= 0,
  107. PSI_SOCKET_CONNECT= 1,
  108. PSI_SOCKET_BIND= 2,
  109. PSI_SOCKET_CLOSE= 3,
  110. PSI_SOCKET_SEND= 4,
  111. PSI_SOCKET_RECV= 5,
  112. PSI_SOCKET_SENDTO= 6,
  113. PSI_SOCKET_RECVFROM= 7,
  114. PSI_SOCKET_SENDMSG= 8,
  115. PSI_SOCKET_RECVMSG= 9,
  116. PSI_SOCKET_SEEK= 10,
  117. PSI_SOCKET_OPT= 11,
  118. PSI_SOCKET_STAT= 12,
  119. PSI_SOCKET_SHUTDOWN= 13,
  120. PSI_SOCKET_SELECT= 14
  121. };
  122. typedef enum PSI_socket_operation PSI_socket_operation;
  123. typedef unsigned int PSI_mutex_key;
  124. typedef unsigned int PSI_rwlock_key;
  125. typedef unsigned int PSI_cond_key;
  126. typedef unsigned int PSI_thread_key;
  127. typedef unsigned int PSI_file_key;
  128. typedef unsigned int PSI_stage_key;
  129. typedef unsigned int PSI_statement_key;
  130. typedef unsigned int PSI_socket_key;
  131. struct PSI_v2
  132. {
  133. int placeholder;
  134. };
  135. struct PSI_mutex_info_v2
  136. {
  137. int placeholder;
  138. };
  139. struct PSI_rwlock_info_v2
  140. {
  141. int placeholder;
  142. };
  143. struct PSI_cond_info_v2
  144. {
  145. int placeholder;
  146. };
  147. struct PSI_thread_info_v2
  148. {
  149. int placeholder;
  150. };
  151. struct PSI_file_info_v2
  152. {
  153. int placeholder;
  154. };
  155. struct PSI_stage_info_v2
  156. {
  157. int placeholder;
  158. };
  159. struct PSI_statement_info_v2
  160. {
  161. int placeholder;
  162. };
  163. struct PSI_idle_locker_state_v2
  164. {
  165. int placeholder;
  166. };
  167. struct PSI_mutex_locker_state_v2
  168. {
  169. int placeholder;
  170. };
  171. struct PSI_rwlock_locker_state_v2
  172. {
  173. int placeholder;
  174. };
  175. struct PSI_cond_locker_state_v2
  176. {
  177. int placeholder;
  178. };
  179. struct PSI_file_locker_state_v2
  180. {
  181. int placeholder;
  182. };
  183. struct PSI_table_locker_state_v2
  184. {
  185. int placeholder;
  186. };
  187. struct PSI_statement_locker_state_v2
  188. {
  189. int placeholder;
  190. };
  191. struct PSI_socket_locker_state_v2
  192. {
  193. int placeholder;
  194. };
  195. typedef struct PSI_v2 PSI;
  196. typedef struct PSI_mutex_info_v2 PSI_mutex_info;
  197. typedef struct PSI_rwlock_info_v2 PSI_rwlock_info;
  198. typedef struct PSI_cond_info_v2 PSI_cond_info;
  199. typedef struct PSI_thread_info_v2 PSI_thread_info;
  200. typedef struct PSI_file_info_v2 PSI_file_info;
  201. typedef struct PSI_stage_info_v2 PSI_stage_info;
  202. typedef struct PSI_statement_info_v2 PSI_statement_info;
  203. typedef struct PSI_socket_info_v2 PSI_socket_info;
  204. typedef struct PSI_idle_locker_state_v2 PSI_idle_locker_state;
  205. typedef struct PSI_mutex_locker_state_v2 PSI_mutex_locker_state;
  206. typedef struct PSI_rwlock_locker_state_v2 PSI_rwlock_locker_state;
  207. typedef struct PSI_cond_locker_state_v2 PSI_cond_locker_state;
  208. typedef struct PSI_file_locker_state_v2 PSI_file_locker_state;
  209. typedef struct PSI_table_locker_state_v2 PSI_table_locker_state;
  210. typedef struct PSI_statement_locker_state_v2 PSI_statement_locker_state;
  211. typedef struct PSI_socket_locker_state_v2 PSI_socket_locker_state;
  212. extern MYSQL_PLUGIN_IMPORT PSI *PSI_server;
  213. C_MODE_END