32#ifndef MYSQL_ABI_CHECK
40#define MYSQL_AUDIT_INTERFACE_VERSION 0x0401
122#define MYSQL_AUDIT_GENERAL_ALL \
123 (MYSQL_AUDIT_GENERAL_LOG | MYSQL_AUDIT_GENERAL_ERROR | \
124 MYSQL_AUDIT_GENERAL_RESULT | MYSQL_AUDIT_GENERAL_STATUS)
146#define MYSQL_AUDIT_CONNECTION_ALL \
147 (MYSQL_AUDIT_CONNECTION_CONNECT | MYSQL_AUDIT_CONNECTION_DISCONNECT | \
148 MYSQL_AUDIT_CONNECTION_CHANGE_USER | \
149 MYSQL_AUDIT_CONNECTION_PRE_AUTHENTICATE)
199#define MYSQL_AUDIT_PARSE_ALL \
200 (MYSQL_AUDIT_PARSE_PREPARSE | MYSQL_AUDIT_PARSE_POSTPARSE)
247#define MYSQL_AUDIT_AUTHORIZATION_ALL \
248 (MYSQL_AUDIT_AUTHORIZATION_USER | MYSQL_AUDIT_AUTHORIZATION_DB | \
249 MYSQL_AUDIT_AUTHORIZATION_TABLE | MYSQL_AUDIT_AUTHORIZATION_COLUMN | \
250 MYSQL_AUDIT_AUTHORIZATION_PROCEDURE | MYSQL_AUDIT_AUTHORIZATION_PROXY)
298#define MYSQL_AUDIT_TABLE_ACCESS_ALL \
299 (MYSQL_AUDIT_TABLE_ACCESS_READ | MYSQL_AUDIT_TABLE_ACCESS_INSERT | \
300 MYSQL_AUDIT_TABLE_ACCESS_UPDATE | MYSQL_AUDIT_TABLE_ACCESS_DELETE)
336#define MYSQL_AUDIT_GLOBAL_VARIABLE_ALL \
337 (MYSQL_AUDIT_GLOBAL_VARIABLE_GET | MYSQL_AUDIT_GLOBAL_VARIABLE_SET)
363#define MYSQL_AUDIT_SERVER_STARTUP_ALL (MYSQL_AUDIT_SERVER_STARTUP_STARTUP)
389#define MYSQL_AUDIT_SERVER_SHUTDOWN_ALL (MYSQL_AUDIT_SERVER_SHUTDOWN_SHUTDOWN)
429#define MYSQL_AUDIT_COMMAND_ALL \
430 (MYSQL_AUDIT_COMMAND_START | MYSQL_AUDIT_COMMAND_END)
471#define MYSQL_AUDIT_QUERY_ALL \
472 (MYSQL_AUDIT_QUERY_START | MYSQL_AUDIT_QUERY_NESTED_START | \
473 MYSQL_AUDIT_QUERY_STATUS_END | MYSQL_AUDIT_QUERY_NESTED_STATUS_END)
504#define MYSQL_AUDIT_STORED_PROGRAM_ALL (MYSQL_AUDIT_STORED_PROGRAM_EXECUTE)
556#define MYSQL_AUDIT_AUTHENTICATION_ALL \
557 (MYSQL_AUDIT_AUTHENTICATION_FLUSH | \
558 MYSQL_AUDIT_AUTHENTICATION_AUTHID_CREATE | \
559 MYSQL_AUDIT_AUTHENTICATION_CREDENTIAL_CHANGE | \
560 MYSQL_AUDIT_AUTHENTICATION_AUTHID_RENAME | \
561 MYSQL_AUDIT_AUTHENTICATION_AUTHID_DROP)
595#define MYSQL_AUDIT_MESSAGE_ALL \
596 (MYSQL_AUDIT_MESSAGE_INTERNAL | MYSQL_AUDIT_MESSAGE_USER)
#define MYSQL_THD
Definition: backup_page_tracker.h:37
enum_server_command
A list of all MySQL protocol commands.
Definition: my_command.h:47
enum_sql_command
Definition: my_sqlcommand.h:45
enum enum_sql_command enum_sql_command_t
SQL command type definition.
Definition: plugin_audit.h:104
enum enum_server_command enum_server_command_t
Server command type definition.
Definition: plugin_audit.h:436
mysql_event_global_variable_subclass_t
Events for MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS event class.
Definition: plugin_audit.h:329
@ MYSQL_AUDIT_GLOBAL_VARIABLE_SET
Occurs when global variable is set.
Definition: plugin_audit.h:333
@ MYSQL_AUDIT_GLOBAL_VARIABLE_GET
Occurs when global variable is retrieved.
Definition: plugin_audit.h:331
mysql_event_server_startup_subclass_t
Events for MYSQL_AUDIT_SERVER_STARTUP_CLASS event class.
Definition: plugin_audit.h:358
@ MYSQL_AUDIT_SERVER_STARTUP_STARTUP
Occurs after all subsystem are initialized during system start.
Definition: plugin_audit.h:360
mysql_event_general_subclass_t
Events for the MYSQL_AUDIT_GENERAL_CLASS event class.
Definition: plugin_audit.h:111
@ MYSQL_AUDIT_GENERAL_ERROR
occurs before transmitting errors to the user.
Definition: plugin_audit.h:115
@ MYSQL_AUDIT_GENERAL_STATUS
occurs after transmitting a resultset or errors
Definition: plugin_audit.h:119
@ MYSQL_AUDIT_GENERAL_LOG
occurs before emitting to the general query log.
Definition: plugin_audit.h:113
@ MYSQL_AUDIT_GENERAL_RESULT
occurs after transmitting a resultset to the user.
Definition: plugin_audit.h:117
mysql_event_command_subclass_t
Events for MYSQL_AUDIT_COMMAND_CLASS event class.
Definition: plugin_audit.h:422
@ MYSQL_AUDIT_COMMAND_START
Command start event.
Definition: plugin_audit.h:424
@ MYSQL_AUDIT_COMMAND_END
Command end event.
Definition: plugin_audit.h:426
mysql_event_table_access_subclass_t
Events for MYSQL_AUDIT_TABLE_ACCESS_CLASS event class.
Definition: plugin_audit.h:284
@ MYSQL_AUDIT_TABLE_ACCESS_READ
Occurs when table data are read.
Definition: plugin_audit.h:286
@ MYSQL_AUDIT_TABLE_ACCESS_DELETE
Occurs when table data are deleted.
Definition: plugin_audit.h:292
@ MYSQL_AUDIT_TABLE_ACCESS_UPDATE
Occurs when table data are updated.
Definition: plugin_audit.h:290
@ MYSQL_AUDIT_TABLE_ACCESS_INSERT
Occurs when table data are inserted.
Definition: plugin_audit.h:288
mysql_event_authentication_subclass_t
Events for MYSQL_AUDIT_AUTHENTICATION_CLASS event class.
Definition: plugin_audit.h:538
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_CREATE
Generated after CREATE USER | CREATE ROLE.
Definition: plugin_audit.h:542
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_RENAME
Generated after RENAME USER.
Definition: plugin_audit.h:551
@ MYSQL_AUDIT_AUTHENTICATION_CREDENTIAL_CHANGE
Generated after credential change through:
Definition: plugin_audit.h:549
@ MYSQL_AUDIT_AUTHENTICATION_FLUSH
Generated after FLUSH PRIVILEGES.
Definition: plugin_audit.h:540
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_DROP
Generated after DROP USER.
Definition: plugin_audit.h:553
mysql_event_authorization_subclass_t
Events for MYSQL_AUDIT_AUTHORIZATION_CLASS event class.
Definition: plugin_audit.h:233
@ MYSQL_AUDIT_AUTHORIZATION_TABLE
Occurs when table privilege is checked.
Definition: plugin_audit.h:238
@ MYSQL_AUDIT_AUTHORIZATION_PROXY
Occurs when proxy privilege is checked.
Definition: plugin_audit.h:244
@ MYSQL_AUDIT_AUTHORIZATION_COLUMN
Occurs when column privilege is checked.
Definition: plugin_audit.h:240
@ MYSQL_AUDIT_AUTHORIZATION_USER
Definition: plugin_audit.h:234
@ MYSQL_AUDIT_AUTHORIZATION_DB
Occurs when database privilege is checked.
Definition: plugin_audit.h:236
@ MYSQL_AUDIT_AUTHORIZATION_PROCEDURE
Occurs when procedure privilege is checked.
Definition: plugin_audit.h:242
mysql_event_query_subclass_t
Events for MYSQL_AUDIT_QUERY_CLASS event class.
Definition: plugin_audit.h:460
@ MYSQL_AUDIT_QUERY_START
Query start event.
Definition: plugin_audit.h:462
@ MYSQL_AUDIT_QUERY_NESTED_STATUS_END
Nested query status end event.
Definition: plugin_audit.h:468
@ MYSQL_AUDIT_QUERY_NESTED_START
Nested query start event.
Definition: plugin_audit.h:464
@ MYSQL_AUDIT_QUERY_STATUS_END
Query post parse event.
Definition: plugin_audit.h:466
mysql_event_parse_rewrite_plugin_flag
Definition: plugin_audit.h:202
@ MYSQL_AUDIT_PARSE_REWRITE_PLUGIN_QUERY_REWRITTEN
mysql_event_parse::flags Must be set by a plugin if the query is rewritten.
Definition: plugin_audit.h:206
@ MYSQL_AUDIT_PARSE_REWRITE_PLUGIN_IS_PREPARED_STATEMENT
mysql_event_parse::flags Is set by the server if the query is prepared statement.
Definition: plugin_audit.h:209
@ MYSQL_AUDIT_PARSE_REWRITE_PLUGIN_NONE
Definition: plugin_audit.h:203
mysql_event_server_shutdown_subclass_t
Events for MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS event class.
Definition: plugin_audit.h:384
@ MYSQL_AUDIT_SERVER_SHUTDOWN_SHUTDOWN
Occurs when global variable is set.
Definition: plugin_audit.h:386
mysql_event_parse_subclass_t
Events for MYSQL_AUDIT_PARSE_CLASS event class.
Definition: plugin_audit.h:192
@ MYSQL_AUDIT_PARSE_POSTPARSE
occurs after the query parsing.
Definition: plugin_audit.h:196
@ MYSQL_AUDIT_PARSE_PREPARSE
occurs before the query parsing.
Definition: plugin_audit.h:194
mysql_event_class_t
Audit event classes.
Definition: plugin_audit.h:47
@ MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS
Definition: plugin_audit.h:55
@ MYSQL_AUDIT_AUTHENTICATION_CLASS
Definition: plugin_audit.h:59
@ MYSQL_AUDIT_STORED_PROGRAM_CLASS
Definition: plugin_audit.h:58
@ MYSQL_AUDIT_MESSAGE_CLASS
Definition: plugin_audit.h:60
@ MYSQL_AUDIT_GENERAL_CLASS
Definition: plugin_audit.h:48
@ MYSQL_AUDIT_SERVER_STARTUP_CLASS
Definition: plugin_audit.h:54
@ MYSQL_AUDIT_PARSE_CLASS
Definition: plugin_audit.h:50
@ MYSQL_AUDIT_CLASS_MASK_SIZE
Definition: plugin_audit.h:62
@ MYSQL_AUDIT_QUERY_CLASS
Definition: plugin_audit.h:57
@ MYSQL_AUDIT_COMMAND_CLASS
Definition: plugin_audit.h:56
@ MYSQL_AUDIT_AUTHORIZATION_CLASS
Definition: plugin_audit.h:51
@ MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS
Definition: plugin_audit.h:53
@ MYSQL_AUDIT_TABLE_ACCESS_CLASS
Definition: plugin_audit.h:52
@ MYSQL_AUDIT_CONNECTION_CLASS
Definition: plugin_audit.h:49
mysql_server_shutdown_reason_t
Server shutdown reason.
Definition: plugin_audit.h:396
@ MYSQL_AUDIT_SERVER_SHUTDOWN_REASON_ABORT
The server aborts.
Definition: plugin_audit.h:400
@ MYSQL_AUDIT_SERVER_SHUTDOWN_REASON_SHUTDOWN
User requested shut down.
Definition: plugin_audit.h:398
mysql_event_stored_program_subclass_t
Events for MYSQL_AUDIT_STORED_PROGRAM_CLASS event class.
Definition: plugin_audit.h:499
@ MYSQL_AUDIT_STORED_PROGRAM_EXECUTE
Stored program execution event.
Definition: plugin_audit.h:501
mysql_event_connection_subclass_t
Events for MYSQL_AUDIT_CONNECTION_CLASS event class.
Definition: plugin_audit_connection_types.h:36
mysql_event_message_subclass_t
Events for MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit_message_types.h:40
Definition: m_ctype.h:382
Definition: mysql_lex_string.h:39
Structure for MYSQL_AUDIT_AUTHENTICATION_CLASS event class.
Definition: plugin_audit.h:568
mysql_event_authentication_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:570
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:576
bool is_role
AuthorizationID type.
Definition: plugin_audit.h:592
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:580
MYSQL_LEX_CSTRING new_user
New user name.
Definition: plugin_audit.h:588
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:578
MYSQL_LEX_CSTRING user
User name.
Definition: plugin_audit.h:582
MYSQL_LEX_CSTRING new_host
New host name.
Definition: plugin_audit.h:590
int status
Event status.
Definition: plugin_audit.h:572
MYSQL_LEX_CSTRING host
Host name.
Definition: plugin_audit.h:584
unsigned int connection_id
Connection id.
Definition: plugin_audit.h:574
MYSQL_LEX_CSTRING authentication_plugin
Authentication plugin.
Definition: plugin_audit.h:586
Structure for MYSQL_AUDIT_AUTHORIZATION_CLASS event class.
Definition: plugin_audit.h:256
unsigned int connection_id
Connection id.
Definition: plugin_audit.h:262
MYSQL_LEX_CSTRING database
Database name.
Definition: plugin_audit.h:270
MYSQL_LEX_CSTRING table
Table name.
Definition: plugin_audit.h:272
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:266
int status
Event status.
Definition: plugin_audit.h:260
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:268
unsigned long requested_privilege
Requested authorization privileges.
Definition: plugin_audit.h:276
mysql_event_authorization_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:258
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:264
MYSQL_LEX_CSTRING object
Other name associated with the event.
Definition: plugin_audit.h:274
unsigned long granted_privilege
Currently granted authorization privileges.
Definition: plugin_audit.h:278
Event for MYSQL_AUDIT_COMMAND_CLASS event class.
Definition: plugin_audit.h:444
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:450
enum_server_command_t command_id
Command id.
Definition: plugin_audit.h:452
int status
Command event status.
Definition: plugin_audit.h:448
mysql_event_command_subclass_t event_subclass
Command event subclass.
Definition: plugin_audit.h:446
Structure for the MYSQL_AUDIT_CONNECTION_CLASS event class.
Definition: plugin_audit.h:155
int connection_type
Connection type:
Definition: plugin_audit.h:184
MYSQL_LEX_CSTRING user
User name of this connection.
Definition: plugin_audit.h:163
MYSQL_LEX_CSTRING ip
IP of the connection.
Definition: plugin_audit.h:173
mysql_event_connection_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:157
MYSQL_LEX_CSTRING external_user
External user name.
Definition: plugin_audit.h:167
MYSQL_LEX_CSTRING priv_user
Priv user name.
Definition: plugin_audit.h:165
MYSQL_LEX_CSTRING proxy_user
Proxy user used for this connection.
Definition: plugin_audit.h:169
MYSQL_LEX_CSTRING host
Connection host.
Definition: plugin_audit.h:171
MYSQL_LEX_CSTRING database
Database name specified at connection time.
Definition: plugin_audit.h:175
int status
Current status of the connection.
Definition: plugin_audit.h:159
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:161
Structure for the MYSQL_AUDIT_GENERAL_CLASS event class.
Definition: plugin_audit.h:130
int general_error_code
Definition: plugin_audit.h:132
MYSQL_LEX_CSTRING general_external_user
Definition: plugin_audit.h:142
mysql_event_general_subclass_t event_subclass
Definition: plugin_audit.h:131
unsigned long general_thread_id
Definition: plugin_audit.h:133
unsigned long long general_time
Definition: plugin_audit.h:138
MYSQL_LEX_CSTRING general_host
Definition: plugin_audit.h:140
MYSQL_LEX_CSTRING general_user
Definition: plugin_audit.h:134
MYSQL_LEX_CSTRING general_ip
Definition: plugin_audit.h:143
MYSQL_LEX_CSTRING general_command
Definition: plugin_audit.h:135
MYSQL_LEX_CSTRING general_sql_command
Definition: plugin_audit.h:141
unsigned long long general_rows
Definition: plugin_audit.h:139
CHARSET_INFO * general_charset
Definition: plugin_audit.h:137
MYSQL_LEX_CSTRING general_query
Definition: plugin_audit.h:136
Events for MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS event class.
Definition: plugin_audit.h:340
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:344
mysql_event_global_variable_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:342
MYSQL_LEX_CSTRING variable_value
Variable value.
Definition: plugin_audit.h:350
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:346
MYSQL_LEX_CSTRING variable_name
Variable name.
Definition: plugin_audit.h:348
Structure that stores key-value pair of the MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit_message_types.h:63
Structure for MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit.h:603
mysql_event_message_key_value_t * key_value_map
Key value map pointer.
Definition: plugin_audit.h:613
size_t key_value_map_length
Key value map length.
Definition: plugin_audit.h:615
mysql_event_message_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:605
MYSQL_LEX_CSTRING message
Message.
Definition: plugin_audit.h:611
MYSQL_LEX_CSTRING component
Component.
Definition: plugin_audit.h:607
MYSQL_LEX_CSTRING producer
Producer.
Definition: plugin_audit.h:609
Data for the MYSQL_AUDIT_PARSE events.
Definition: plugin_audit.h:213
MYSQL_LEX_CSTRING query
input: the original query text
Definition: plugin_audit.h:221
mysql_event_parse_subclass_t event_subclass
MYSQL_AUDIT_[PRE|POST]_PARSE event id.
Definition: plugin_audit.h:215
MYSQL_LEX_CSTRING * rewritten_query
output: returns the null-terminated rewritten query allocated by my_malloc()
Definition: plugin_audit.h:225
mysql_event_parse_rewrite_plugin_flag * flags
one of FLAG_REWRITE_PLUGIN_*
Definition: plugin_audit.h:218
Definition: plugin_audit.h:479
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:491
int status
Event status.
Definition: plugin_audit.h:483
mysql_event_query_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:481
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:487
MYSQL_LEX_CSTRING query
SQL query.
Definition: plugin_audit.h:489
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:485
Structure for MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS event class.
Definition: plugin_audit.h:408
mysql_event_server_shutdown_subclass_t event_subclass
Shutdown event.
Definition: plugin_audit.h:410
int exit_code
Exit code associated with the shutdown event.
Definition: plugin_audit.h:412
mysql_server_shutdown_reason_t reason
Shutdown reason.
Definition: plugin_audit.h:414
Structure for MYSQL_AUDIT_SERVER_STARTUP_CLASS event class.
Definition: plugin_audit.h:370
unsigned int argc
Command line arguments count.
Definition: plugin_audit.h:376
const char ** argv
Command line arguments.
Definition: plugin_audit.h:374
mysql_event_server_startup_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:372
Definition: plugin_audit.h:511
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:519
MYSQL_LEX_CSTRING name
Name of the stored program.
Definition: plugin_audit.h:525
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:521
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:517
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:515
mysql_event_stored_program_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:513
MYSQL_LEX_CSTRING database
The Database the procedure is defined in.
Definition: plugin_audit.h:523
void * parameters
Stored program parameters.
Definition: plugin_audit.h:527
Definition: plugin_audit.h:307
MYSQL_LEX_CSTRING query
SQL query.
Definition: plugin_audit.h:315
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:317
mysql_event_table_access_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:309
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:311
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:313
MYSQL_LEX_CSTRING table_name
Table name.
Definition: plugin_audit.h:321
MYSQL_LEX_CSTRING table_database
Database name.
Definition: plugin_audit.h:319
The descriptor structure that is referred from st_mysql_plugin.
Definition: plugin_audit.h:70
unsigned long class_mask[MYSQL_AUDIT_CLASS_MASK_SIZE]
An array of bits used to indicate what event classes that this plugin wants to receive.
Definition: plugin_audit.h:96
void(* release_thd)(MYSQL_THD)
Event occurs when the event class consumer is to be disassociated from the specified THD....
Definition: plugin_audit.h:82
int(* event_notify)(MYSQL_THD, mysql_event_class_t, const void *)
Invoked whenever an event occurs which is of any class for which the plugin has interest....
Definition: plugin_audit.h:90
int interface_version
Interface version.
Definition: plugin_audit.h:74