1C_MODE_START
2struct TABLE_SHARE;
3struct sql_digest_storage;
4struct PSI_mutex;
5typedef struct PSI_mutex PSI_mutex;
6struct PSI_rwlock;
7typedef struct PSI_rwlock PSI_rwlock;
8struct PSI_cond;
9typedef struct PSI_cond PSI_cond;
10struct PSI_table_share;
11typedef struct PSI_table_share PSI_table_share;
12struct PSI_table;
13typedef struct PSI_table PSI_table;
14struct PSI_thread;
15typedef struct PSI_thread PSI_thread;
16struct PSI_file;
17typedef struct PSI_file PSI_file;
18struct PSI_socket;
19typedef struct PSI_socket PSI_socket;
20struct PSI_table_locker;
21typedef struct PSI_table_locker PSI_table_locker;
22struct PSI_statement_locker;
23typedef struct PSI_statement_locker PSI_statement_locker;
24struct PSI_idle_locker;
25typedef struct PSI_idle_locker PSI_idle_locker;
26struct PSI_digest_locker;
27typedef struct PSI_digest_locker PSI_digest_locker;
28struct PSI_bootstrap
29{
30  void* (*get_interface)(int version);
31};
32typedef struct PSI_bootstrap PSI_bootstrap;
33struct PSI_mutex_locker;
34typedef struct PSI_mutex_locker PSI_mutex_locker;
35struct PSI_rwlock_locker;
36typedef struct PSI_rwlock_locker PSI_rwlock_locker;
37struct PSI_cond_locker;
38typedef struct PSI_cond_locker PSI_cond_locker;
39struct PSI_file_locker;
40typedef struct PSI_file_locker PSI_file_locker;
41struct PSI_socket_locker;
42typedef struct PSI_socket_locker PSI_socket_locker;
43enum PSI_mutex_operation
44{
45  PSI_MUTEX_LOCK= 0,
46  PSI_MUTEX_TRYLOCK= 1
47};
48typedef enum PSI_mutex_operation PSI_mutex_operation;
49enum 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};
56typedef enum PSI_rwlock_operation PSI_rwlock_operation;
57enum PSI_cond_operation
58{
59  PSI_COND_WAIT= 0,
60  PSI_COND_TIMEDWAIT= 1
61};
62typedef enum PSI_cond_operation PSI_cond_operation;
63enum 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};
83typedef enum PSI_file_operation PSI_file_operation;
84enum 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};
91typedef enum PSI_table_io_operation PSI_table_io_operation;
92enum PSI_table_lock_operation
93{
94  PSI_TABLE_LOCK= 0,
95  PSI_TABLE_EXTERNAL_LOCK= 1
96};
97typedef enum PSI_table_lock_operation PSI_table_lock_operation;
98enum PSI_socket_state
99{
100  PSI_SOCKET_STATE_IDLE= 1,
101  PSI_SOCKET_STATE_ACTIVE= 2
102};
103typedef enum PSI_socket_state PSI_socket_state;
104enum 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};
122typedef enum PSI_socket_operation PSI_socket_operation;
123typedef unsigned int PSI_mutex_key;
124typedef unsigned int PSI_rwlock_key;
125typedef unsigned int PSI_cond_key;
126typedef unsigned int PSI_thread_key;
127typedef unsigned int PSI_file_key;
128typedef unsigned int PSI_stage_key;
129typedef unsigned int PSI_statement_key;
130typedef unsigned int PSI_socket_key;
131struct PSI_v2
132{
133  int placeholder;
134};
135struct PSI_mutex_info_v2
136{
137  int placeholder;
138};
139struct PSI_rwlock_info_v2
140{
141  int placeholder;
142};
143struct PSI_cond_info_v2
144{
145  int placeholder;
146};
147struct PSI_thread_info_v2
148{
149  int placeholder;
150};
151struct PSI_file_info_v2
152{
153  int placeholder;
154};
155struct PSI_stage_info_v2
156{
157  int placeholder;
158};
159struct PSI_statement_info_v2
160{
161  int placeholder;
162};
163struct PSI_idle_locker_state_v2
164{
165  int placeholder;
166};
167struct PSI_mutex_locker_state_v2
168{
169  int placeholder;
170};
171struct PSI_rwlock_locker_state_v2
172{
173  int placeholder;
174};
175struct PSI_cond_locker_state_v2
176{
177  int placeholder;
178};
179struct PSI_file_locker_state_v2
180{
181  int placeholder;
182};
183struct PSI_table_locker_state_v2
184{
185  int placeholder;
186};
187struct PSI_statement_locker_state_v2
188{
189  int placeholder;
190};
191struct PSI_socket_locker_state_v2
192{
193  int placeholder;
194};
195typedef struct PSI_v2 PSI;
196typedef struct PSI_mutex_info_v2 PSI_mutex_info;
197typedef struct PSI_rwlock_info_v2 PSI_rwlock_info;
198typedef struct PSI_cond_info_v2 PSI_cond_info;
199typedef struct PSI_thread_info_v2 PSI_thread_info;
200typedef struct PSI_file_info_v2 PSI_file_info;
201typedef struct PSI_stage_info_v2 PSI_stage_info;
202typedef struct PSI_statement_info_v2 PSI_statement_info;
203typedef struct PSI_socket_info_v2 PSI_socket_info;
204typedef struct PSI_idle_locker_state_v2 PSI_idle_locker_state;
205typedef struct PSI_mutex_locker_state_v2 PSI_mutex_locker_state;
206typedef struct PSI_rwlock_locker_state_v2 PSI_rwlock_locker_state;
207typedef struct PSI_cond_locker_state_v2 PSI_cond_locker_state;
208typedef struct PSI_file_locker_state_v2 PSI_file_locker_state;
209typedef struct PSI_table_locker_state_v2 PSI_table_locker_state;
210typedef struct PSI_statement_locker_state_v2 PSI_statement_locker_state;
211typedef struct PSI_socket_locker_state_v2 PSI_socket_locker_state;
212extern MYSQL_PLUGIN_IMPORT my_bool pfs_enabled;
213extern MYSQL_PLUGIN_IMPORT PSI *PSI_server;
214C_MODE_END
215