| 
| typedef int  | opaque_mdl_type | 
|   | 
| typedef int  | opaque_mdl_duration | 
|   | 
| typedef int  | opaque_mdl_status | 
|   | 
| typedef struct PSI_metadata_lock  | PSI_metadata_lock | 
|   | 
| typedef struct PSI_metadata_locker  | PSI_metadata_locker | 
|   | 
| typedef struct PSI_metadata_locker_state_v1  | PSI_metadata_locker_state_v1 | 
|   | 
| typedef PSI_metadata_lock *(*  | create_metadata_lock_v1_t) (void *identity, const struct MDL_key *key, opaque_mdl_type mdl_type, opaque_mdl_duration mdl_duration, opaque_mdl_status mdl_status, const char *src_file, unsigned int src_line) | 
|   | 
| typedef void(*  | set_metadata_lock_status_v1_t) (PSI_metadata_lock *lock, opaque_mdl_status mdl_status) | 
|   | 
| typedef void(*  | set_metadata_lock_duration_v2_t) (PSI_metadata_lock *lock, opaque_mdl_duration mdl_duration) | 
|   | 
| typedef void(*  | set_metadata_lock_type_v3_t) (PSI_metadata_lock *lock, opaque_mdl_type mdl_type) | 
|   | 
| typedef void(*  | destroy_metadata_lock_v1_t) (PSI_metadata_lock *lock) | 
|   | 
| typedef struct PSI_metadata_locker *(*  | start_metadata_wait_v1_t) (struct PSI_metadata_locker_state_v1 *state, struct PSI_metadata_lock *mdl, const char *src_file, unsigned int src_line) | 
|   | 
| typedef void(*  | end_metadata_wait_v1_t) (struct PSI_metadata_locker *locker, int rc) | 
|   | 
| typedef struct PSI_metadata_locker_state_v1  | PSI_metadata_locker_state | 
|   | 
Performance schema instrumentation interface.