34#ifndef MYSQL_ABI_CHECK
43#define MYSQL_AUDIT_INTERFACE_VERSION 0x0401
125#define MYSQL_AUDIT_GENERAL_ALL \
126 (MYSQL_AUDIT_GENERAL_LOG | MYSQL_AUDIT_GENERAL_ERROR | \
127 MYSQL_AUDIT_GENERAL_RESULT | MYSQL_AUDIT_GENERAL_STATUS)
149#define MYSQL_AUDIT_CONNECTION_ALL \
150 (MYSQL_AUDIT_CONNECTION_CONNECT | MYSQL_AUDIT_CONNECTION_DISCONNECT | \
151 MYSQL_AUDIT_CONNECTION_CHANGE_USER | \
152 MYSQL_AUDIT_CONNECTION_PRE_AUTHENTICATE)
202#define MYSQL_AUDIT_PARSE_ALL \
203 (MYSQL_AUDIT_PARSE_PREPARSE | MYSQL_AUDIT_PARSE_POSTPARSE)
250#define MYSQL_AUDIT_AUTHORIZATION_ALL \
251 (MYSQL_AUDIT_AUTHORIZATION_USER | MYSQL_AUDIT_AUTHORIZATION_DB | \
252 MYSQL_AUDIT_AUTHORIZATION_TABLE | MYSQL_AUDIT_AUTHORIZATION_COLUMN | \
253 MYSQL_AUDIT_AUTHORIZATION_PROCEDURE | MYSQL_AUDIT_AUTHORIZATION_PROXY)
301#define MYSQL_AUDIT_TABLE_ACCESS_ALL \
302 (MYSQL_AUDIT_TABLE_ACCESS_READ | MYSQL_AUDIT_TABLE_ACCESS_INSERT | \
303 MYSQL_AUDIT_TABLE_ACCESS_UPDATE | MYSQL_AUDIT_TABLE_ACCESS_DELETE)
339#define MYSQL_AUDIT_GLOBAL_VARIABLE_ALL \
340 (MYSQL_AUDIT_GLOBAL_VARIABLE_GET | MYSQL_AUDIT_GLOBAL_VARIABLE_SET)
366#define MYSQL_AUDIT_SERVER_STARTUP_ALL (MYSQL_AUDIT_SERVER_STARTUP_STARTUP)
392#define MYSQL_AUDIT_SERVER_SHUTDOWN_ALL (MYSQL_AUDIT_SERVER_SHUTDOWN_SHUTDOWN)
432#define MYSQL_AUDIT_COMMAND_ALL \
433 (MYSQL_AUDIT_COMMAND_START | MYSQL_AUDIT_COMMAND_END)
474#define MYSQL_AUDIT_QUERY_ALL \
475 (MYSQL_AUDIT_QUERY_START | MYSQL_AUDIT_QUERY_NESTED_START | \
476 MYSQL_AUDIT_QUERY_STATUS_END | MYSQL_AUDIT_QUERY_NESTED_STATUS_END)
507#define MYSQL_AUDIT_STORED_PROGRAM_ALL (MYSQL_AUDIT_STORED_PROGRAM_EXECUTE)
559#define MYSQL_AUDIT_AUTHENTICATION_ALL \
560 (MYSQL_AUDIT_AUTHENTICATION_FLUSH | \
561 MYSQL_AUDIT_AUTHENTICATION_AUTHID_CREATE | \
562 MYSQL_AUDIT_AUTHENTICATION_CREDENTIAL_CHANGE | \
563 MYSQL_AUDIT_AUTHENTICATION_AUTHID_RENAME | \
564 MYSQL_AUDIT_AUTHENTICATION_AUTHID_DROP)
598#define MYSQL_AUDIT_MESSAGE_ALL \
599 (MYSQL_AUDIT_MESSAGE_INTERNAL | MYSQL_AUDIT_MESSAGE_USER)
#define MYSQL_THD
Definition: backup_page_tracker.h:38
enum_server_command
A list of all MySQL protocol commands.
Definition: my_command.h:48
enum_sql_command
Definition: my_sqlcommand.h:46
enum enum_sql_command enum_sql_command_t
SQL command type definition.
Definition: plugin_audit.h:107
enum enum_server_command enum_server_command_t
Server command type definition.
Definition: plugin_audit.h:439
mysql_event_global_variable_subclass_t
Events for MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS event class.
Definition: plugin_audit.h:332
@ MYSQL_AUDIT_GLOBAL_VARIABLE_SET
Occurs when global variable is set.
Definition: plugin_audit.h:336
@ MYSQL_AUDIT_GLOBAL_VARIABLE_GET
Occurs when global variable is retrieved.
Definition: plugin_audit.h:334
mysql_event_server_startup_subclass_t
Events for MYSQL_AUDIT_SERVER_STARTUP_CLASS event class.
Definition: plugin_audit.h:361
@ MYSQL_AUDIT_SERVER_STARTUP_STARTUP
Occurs after all subsystem are initialized during system start.
Definition: plugin_audit.h:363
mysql_event_general_subclass_t
Events for the MYSQL_AUDIT_GENERAL_CLASS event class.
Definition: plugin_audit.h:114
@ MYSQL_AUDIT_GENERAL_ERROR
occurs before transmitting errors to the user.
Definition: plugin_audit.h:118
@ MYSQL_AUDIT_GENERAL_STATUS
occurs after transmitting a resultset or errors
Definition: plugin_audit.h:122
@ MYSQL_AUDIT_GENERAL_LOG
occurs before emitting to the general query log.
Definition: plugin_audit.h:116
@ MYSQL_AUDIT_GENERAL_RESULT
occurs after transmitting a resultset to the user.
Definition: plugin_audit.h:120
mysql_event_command_subclass_t
Events for MYSQL_AUDIT_COMMAND_CLASS event class.
Definition: plugin_audit.h:425
@ MYSQL_AUDIT_COMMAND_START
Command start event.
Definition: plugin_audit.h:427
@ MYSQL_AUDIT_COMMAND_END
Command end event.
Definition: plugin_audit.h:429
mysql_event_table_access_subclass_t
Events for MYSQL_AUDIT_TABLE_ACCESS_CLASS event class.
Definition: plugin_audit.h:287
@ MYSQL_AUDIT_TABLE_ACCESS_READ
Occurs when table data are read.
Definition: plugin_audit.h:289
@ MYSQL_AUDIT_TABLE_ACCESS_DELETE
Occurs when table data are deleted.
Definition: plugin_audit.h:295
@ MYSQL_AUDIT_TABLE_ACCESS_UPDATE
Occurs when table data are updated.
Definition: plugin_audit.h:293
@ MYSQL_AUDIT_TABLE_ACCESS_INSERT
Occurs when table data are inserted.
Definition: plugin_audit.h:291
mysql_event_authentication_subclass_t
Events for MYSQL_AUDIT_AUTHENTICATION_CLASS event class.
Definition: plugin_audit.h:541
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_CREATE
Generated after CREATE USER | CREATE ROLE.
Definition: plugin_audit.h:545
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_RENAME
Generated after RENAME USER.
Definition: plugin_audit.h:554
@ MYSQL_AUDIT_AUTHENTICATION_CREDENTIAL_CHANGE
Generated after credential change through:
Definition: plugin_audit.h:552
@ MYSQL_AUDIT_AUTHENTICATION_FLUSH
Generated after FLUSH PRIVILEGES.
Definition: plugin_audit.h:543
@ MYSQL_AUDIT_AUTHENTICATION_AUTHID_DROP
Generated after DROP USER.
Definition: plugin_audit.h:556
mysql_event_authorization_subclass_t
Events for MYSQL_AUDIT_AUTHORIZATION_CLASS event class.
Definition: plugin_audit.h:236
@ MYSQL_AUDIT_AUTHORIZATION_TABLE
Occurs when table privilege is checked.
Definition: plugin_audit.h:241
@ MYSQL_AUDIT_AUTHORIZATION_PROXY
Occurs when proxy privilege is checked.
Definition: plugin_audit.h:247
@ MYSQL_AUDIT_AUTHORIZATION_COLUMN
Occurs when column privilege is checked.
Definition: plugin_audit.h:243
@ MYSQL_AUDIT_AUTHORIZATION_USER
Definition: plugin_audit.h:237
@ MYSQL_AUDIT_AUTHORIZATION_DB
Occurs when database privilege is checked.
Definition: plugin_audit.h:239
@ MYSQL_AUDIT_AUTHORIZATION_PROCEDURE
Occurs when procedure privilege is checked.
Definition: plugin_audit.h:245
mysql_event_query_subclass_t
Events for MYSQL_AUDIT_QUERY_CLASS event class.
Definition: plugin_audit.h:463
@ MYSQL_AUDIT_QUERY_START
Query start event.
Definition: plugin_audit.h:465
@ MYSQL_AUDIT_QUERY_NESTED_STATUS_END
Nested query status end event.
Definition: plugin_audit.h:471
@ MYSQL_AUDIT_QUERY_NESTED_START
Nested query start event.
Definition: plugin_audit.h:467
@ MYSQL_AUDIT_QUERY_STATUS_END
Query post parse event.
Definition: plugin_audit.h:469
mysql_event_parse_rewrite_plugin_flag
Definition: plugin_audit.h:205
@ 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:209
@ 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:212
@ MYSQL_AUDIT_PARSE_REWRITE_PLUGIN_NONE
Definition: plugin_audit.h:206
mysql_event_server_shutdown_subclass_t
Events for MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS event class.
Definition: plugin_audit.h:387
@ MYSQL_AUDIT_SERVER_SHUTDOWN_SHUTDOWN
Occurs when global variable is set.
Definition: plugin_audit.h:389
mysql_event_parse_subclass_t
Events for MYSQL_AUDIT_PARSE_CLASS event class.
Definition: plugin_audit.h:195
@ MYSQL_AUDIT_PARSE_POSTPARSE
occurs after the query parsing.
Definition: plugin_audit.h:199
@ MYSQL_AUDIT_PARSE_PREPARSE
occurs before the query parsing.
Definition: plugin_audit.h:197
mysql_event_class_t
Audit event classes.
Definition: plugin_audit.h:50
@ MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS
Definition: plugin_audit.h:58
@ MYSQL_AUDIT_AUTHENTICATION_CLASS
Definition: plugin_audit.h:62
@ MYSQL_AUDIT_STORED_PROGRAM_CLASS
Definition: plugin_audit.h:61
@ MYSQL_AUDIT_MESSAGE_CLASS
Definition: plugin_audit.h:63
@ MYSQL_AUDIT_GENERAL_CLASS
Definition: plugin_audit.h:51
@ MYSQL_AUDIT_SERVER_STARTUP_CLASS
Definition: plugin_audit.h:57
@ MYSQL_AUDIT_PARSE_CLASS
Definition: plugin_audit.h:53
@ MYSQL_AUDIT_CLASS_MASK_SIZE
Definition: plugin_audit.h:65
@ MYSQL_AUDIT_QUERY_CLASS
Definition: plugin_audit.h:60
@ MYSQL_AUDIT_COMMAND_CLASS
Definition: plugin_audit.h:59
@ MYSQL_AUDIT_AUTHORIZATION_CLASS
Definition: plugin_audit.h:54
@ MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS
Definition: plugin_audit.h:56
@ MYSQL_AUDIT_TABLE_ACCESS_CLASS
Definition: plugin_audit.h:55
@ MYSQL_AUDIT_CONNECTION_CLASS
Definition: plugin_audit.h:52
mysql_server_shutdown_reason_t
Server shutdown reason.
Definition: plugin_audit.h:399
@ MYSQL_AUDIT_SERVER_SHUTDOWN_REASON_ABORT
The server aborts.
Definition: plugin_audit.h:403
@ MYSQL_AUDIT_SERVER_SHUTDOWN_REASON_SHUTDOWN
User requested shut down.
Definition: plugin_audit.h:401
mysql_event_stored_program_subclass_t
Events for MYSQL_AUDIT_STORED_PROGRAM_CLASS event class.
Definition: plugin_audit.h:502
@ MYSQL_AUDIT_STORED_PROGRAM_EXECUTE
Stored program execution event.
Definition: plugin_audit.h:504
mysql_event_connection_subclass_t
Events for MYSQL_AUDIT_CONNECTION_CLASS event class.
Definition: plugin_audit_connection_types.h:37
mysql_event_message_subclass_t
Events for MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit_message_types.h:41
Definition: m_ctype.h:423
Definition: mysql_lex_string.h:40
Structure for MYSQL_AUDIT_AUTHENTICATION_CLASS event class.
Definition: plugin_audit.h:571
mysql_event_authentication_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:573
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:579
bool is_role
AuthorizationID type.
Definition: plugin_audit.h:595
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:583
MYSQL_LEX_CSTRING new_user
New user name.
Definition: plugin_audit.h:591
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:581
MYSQL_LEX_CSTRING user
User name.
Definition: plugin_audit.h:585
MYSQL_LEX_CSTRING new_host
New host name.
Definition: plugin_audit.h:593
int status
Event status.
Definition: plugin_audit.h:575
MYSQL_LEX_CSTRING host
Host name.
Definition: plugin_audit.h:587
unsigned int connection_id
Connection id.
Definition: plugin_audit.h:577
MYSQL_LEX_CSTRING authentication_plugin
Authentication plugin.
Definition: plugin_audit.h:589
Structure for MYSQL_AUDIT_AUTHORIZATION_CLASS event class.
Definition: plugin_audit.h:259
unsigned int connection_id
Connection id.
Definition: plugin_audit.h:265
MYSQL_LEX_CSTRING database
Database name.
Definition: plugin_audit.h:273
MYSQL_LEX_CSTRING table
Table name.
Definition: plugin_audit.h:275
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:269
int status
Event status.
Definition: plugin_audit.h:263
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:271
unsigned long requested_privilege
Requested authorization privileges.
Definition: plugin_audit.h:279
mysql_event_authorization_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:261
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:267
MYSQL_LEX_CSTRING object
Other name associated with the event.
Definition: plugin_audit.h:277
unsigned long granted_privilege
Currently granted authorization privileges.
Definition: plugin_audit.h:281
Event for MYSQL_AUDIT_COMMAND_CLASS event class.
Definition: plugin_audit.h:447
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:453
enum_server_command_t command_id
Command id.
Definition: plugin_audit.h:455
int status
Command event status.
Definition: plugin_audit.h:451
mysql_event_command_subclass_t event_subclass
Command event subclass.
Definition: plugin_audit.h:449
Structure for the MYSQL_AUDIT_CONNECTION_CLASS event class.
Definition: plugin_audit.h:158
int connection_type
Connection type:
Definition: plugin_audit.h:187
MYSQL_LEX_CSTRING user
User name of this connection.
Definition: plugin_audit.h:166
MYSQL_LEX_CSTRING ip
IP of the connection.
Definition: plugin_audit.h:176
mysql_event_connection_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:160
MYSQL_LEX_CSTRING external_user
External user name.
Definition: plugin_audit.h:170
MYSQL_LEX_CSTRING priv_user
Priv user name.
Definition: plugin_audit.h:168
MYSQL_LEX_CSTRING proxy_user
Proxy user used for this connection.
Definition: plugin_audit.h:172
MYSQL_LEX_CSTRING host
Connection host.
Definition: plugin_audit.h:174
MYSQL_LEX_CSTRING database
Database name specified at connection time.
Definition: plugin_audit.h:178
int status
Current status of the connection.
Definition: plugin_audit.h:162
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:164
Structure for the MYSQL_AUDIT_GENERAL_CLASS event class.
Definition: plugin_audit.h:133
int general_error_code
Definition: plugin_audit.h:135
MYSQL_LEX_CSTRING general_external_user
Definition: plugin_audit.h:145
mysql_event_general_subclass_t event_subclass
Definition: plugin_audit.h:134
unsigned long general_thread_id
Definition: plugin_audit.h:136
unsigned long long general_time
Definition: plugin_audit.h:141
MYSQL_LEX_CSTRING general_host
Definition: plugin_audit.h:143
MYSQL_LEX_CSTRING general_user
Definition: plugin_audit.h:137
MYSQL_LEX_CSTRING general_ip
Definition: plugin_audit.h:146
MYSQL_LEX_CSTRING general_command
Definition: plugin_audit.h:138
MYSQL_LEX_CSTRING general_sql_command
Definition: plugin_audit.h:144
unsigned long long general_rows
Definition: plugin_audit.h:142
CHARSET_INFO * general_charset
Definition: plugin_audit.h:140
MYSQL_LEX_CSTRING general_query
Definition: plugin_audit.h:139
Events for MYSQL_AUDIT_GLOBAL_VARIABLE_CLASS event class.
Definition: plugin_audit.h:343
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:347
mysql_event_global_variable_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:345
MYSQL_LEX_CSTRING variable_value
Variable value.
Definition: plugin_audit.h:353
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:349
MYSQL_LEX_CSTRING variable_name
Variable name.
Definition: plugin_audit.h:351
Structure that stores key-value pair of the MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit_message_types.h:64
Structure for MYSQL_AUDIT_MESSAGE_CLASS event class.
Definition: plugin_audit.h:606
mysql_event_message_key_value_t * key_value_map
Key value map pointer.
Definition: plugin_audit.h:616
size_t key_value_map_length
Key value map length.
Definition: plugin_audit.h:618
mysql_event_message_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:608
MYSQL_LEX_CSTRING message
Message.
Definition: plugin_audit.h:614
MYSQL_LEX_CSTRING component
Component.
Definition: plugin_audit.h:610
MYSQL_LEX_CSTRING producer
Producer.
Definition: plugin_audit.h:612
Data for the MYSQL_AUDIT_PARSE events.
Definition: plugin_audit.h:216
MYSQL_LEX_CSTRING query
input: the original query text
Definition: plugin_audit.h:224
mysql_event_parse_subclass_t event_subclass
MYSQL_AUDIT_[PRE|POST]_PARSE event id.
Definition: plugin_audit.h:218
MYSQL_LEX_CSTRING * rewritten_query
output: returns the null-terminated rewritten query allocated by my_malloc()
Definition: plugin_audit.h:228
mysql_event_parse_rewrite_plugin_flag * flags
one of FLAG_REWRITE_PLUGIN_*
Definition: plugin_audit.h:221
Definition: plugin_audit.h:482
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:494
int status
Event status.
Definition: plugin_audit.h:486
mysql_event_query_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:484
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:490
MYSQL_LEX_CSTRING query
SQL query.
Definition: plugin_audit.h:492
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:488
Structure for MYSQL_AUDIT_SERVER_SHUTDOWN_CLASS event class.
Definition: plugin_audit.h:411
mysql_event_server_shutdown_subclass_t event_subclass
Shutdown event.
Definition: plugin_audit.h:413
int exit_code
Exit code associated with the shutdown event.
Definition: plugin_audit.h:415
mysql_server_shutdown_reason_t reason
Shutdown reason.
Definition: plugin_audit.h:417
Structure for MYSQL_AUDIT_SERVER_STARTUP_CLASS event class.
Definition: plugin_audit.h:373
unsigned int argc
Command line arguments count.
Definition: plugin_audit.h:379
const char ** argv
Command line arguments.
Definition: plugin_audit.h:377
mysql_event_server_startup_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:375
Definition: plugin_audit.h:514
MYSQL_LEX_CSTRING query
SQL query text.
Definition: plugin_audit.h:522
MYSQL_LEX_CSTRING name
Name of the stored program.
Definition: plugin_audit.h:528
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:524
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:520
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:518
mysql_event_stored_program_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:516
MYSQL_LEX_CSTRING database
The Database the procedure is defined in.
Definition: plugin_audit.h:526
void * parameters
Stored program parameters.
Definition: plugin_audit.h:530
Definition: plugin_audit.h:310
MYSQL_LEX_CSTRING query
SQL query.
Definition: plugin_audit.h:318
const CHARSET_INFO * query_charset
SQL query charset.
Definition: plugin_audit.h:320
mysql_event_table_access_subclass_t event_subclass
Event subclass.
Definition: plugin_audit.h:312
unsigned long connection_id
Connection id.
Definition: plugin_audit.h:314
enum_sql_command_t sql_command_id
SQL command id.
Definition: plugin_audit.h:316
MYSQL_LEX_CSTRING table_name
Table name.
Definition: plugin_audit.h:324
MYSQL_LEX_CSTRING table_database
Database name.
Definition: plugin_audit.h:322
The descriptor structure that is referred from st_mysql_plugin.
Definition: plugin_audit.h:73
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:99
void(* release_thd)(MYSQL_THD)
Event occurs when the event class consumer is to be disassociated from the specified THD....
Definition: plugin_audit.h:85
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:93
int interface_version
Interface version.
Definition: plugin_audit.h:77