polardbxengine/include/mysql/psi/psi_abi_rwlock_v1.h.pp

104 lines
3.8 KiB
Puppet

#include "mysql/psi/psi_rwlock.h"
#include "my_inttypes.h"
#include "my_config.h"
typedef unsigned char uchar;
typedef long long int longlong;
typedef unsigned long long int ulonglong;
typedef int8_t int8;
typedef uint8_t uint8;
typedef int16_t int16;
typedef uint16_t uint16;
typedef int32_t int32;
typedef uint32_t uint32;
typedef int64_t int64;
typedef uint64_t uint64;
typedef intptr_t intptr;
typedef ulonglong my_off_t;
typedef int myf;
#include "my_macros.h"
#include "my_psi_config.h"
#include "my_sharedlib.h"
#include "mysql/components/services/psi_rwlock_bits.h"
typedef unsigned int PSI_rwlock_key;
struct PSI_rwlock;
typedef struct PSI_rwlock PSI_rwlock;
struct PSI_rwlock_locker;
typedef struct PSI_rwlock_locker PSI_rwlock_locker;
enum PSI_rwlock_operation {
PSI_RWLOCK_READLOCK = 0,
PSI_RWLOCK_WRITELOCK = 1,
PSI_RWLOCK_TRYREADLOCK = 2,
PSI_RWLOCK_TRYWRITELOCK = 3,
PSI_RWLOCK_UNLOCK = 4,
PSI_RWLOCK_SHAREDLOCK = 5,
PSI_RWLOCK_SHAREDEXCLUSIVELOCK = 6,
PSI_RWLOCK_EXCLUSIVELOCK = 7,
PSI_RWLOCK_TRYSHAREDLOCK = 8,
PSI_RWLOCK_TRYSHAREDEXCLUSIVELOCK = 9,
PSI_RWLOCK_TRYEXCLUSIVELOCK = 10,
PSI_RWLOCK_SHAREDUNLOCK = 11,
PSI_RWLOCK_SHAREDEXCLUSIVEUNLOCK = 12,
PSI_RWLOCK_EXCLUSIVEUNLOCK = 13
};
typedef enum PSI_rwlock_operation PSI_rwlock_operation;
struct PSI_rwlock_info_v1 {
PSI_rwlock_key *m_key;
const char *m_name;
unsigned int m_flags;
int m_volatility;
const char *m_documentation;
};
typedef struct PSI_rwlock_info_v1 PSI_rwlock_info_v1;
struct PSI_rwlock_locker_state_v1 {
unsigned int m_flags;
enum PSI_rwlock_operation m_operation;
struct PSI_rwlock *m_rwlock;
struct PSI_thread *m_thread;
unsigned long long m_timer_start;
unsigned long long (*m_timer)(void);
void *m_wait;
};
typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state_v1;
typedef void (*register_rwlock_v1_t)(const char *category,
struct PSI_rwlock_info_v1 *info,
int count);
typedef struct PSI_rwlock *(*init_rwlock_v1_t)(PSI_rwlock_key key,
const void *identity);
typedef void (*destroy_rwlock_v1_t)(struct PSI_rwlock *rwlock);
typedef struct PSI_rwlock_locker *(*start_rwlock_rdwait_v1_t)(
struct PSI_rwlock_locker_state_v1 *state, struct PSI_rwlock *rwlock,
enum PSI_rwlock_operation op, const char *src_file, unsigned int src_line);
typedef void (*end_rwlock_rdwait_v1_t)(struct PSI_rwlock_locker *locker,
int rc);
typedef struct PSI_rwlock_locker *(*start_rwlock_wrwait_v1_t)(
struct PSI_rwlock_locker_state_v1 *state, struct PSI_rwlock *rwlock,
enum PSI_rwlock_operation op, const char *src_file, unsigned int src_line);
typedef void (*end_rwlock_wrwait_v1_t)(struct PSI_rwlock_locker *locker,
int rc);
typedef void (*unlock_rwlock_v1_t)(struct PSI_rwlock *rwlock);
typedef void (*unlock_rwlock_v2_t)(struct PSI_rwlock *rwlock,
enum PSI_rwlock_operation op);
typedef struct PSI_rwlock_info_v1 PSI_rwlock_info;
typedef struct PSI_rwlock_locker_state_v1 PSI_rwlock_locker_state;
#include "psi_base.h"
#include "my_psi_config.h"
struct PSI_placeholder {
int m_placeholder;
};
struct PSI_rwlock_bootstrap {
void *(*get_interface)(int version);
};
typedef struct PSI_rwlock_bootstrap PSI_rwlock_bootstrap;
struct PSI_rwlock_service_v2 {
register_rwlock_v1_t register_rwlock;
init_rwlock_v1_t init_rwlock;
destroy_rwlock_v1_t destroy_rwlock;
start_rwlock_rdwait_v1_t start_rwlock_rdwait;
end_rwlock_rdwait_v1_t end_rwlock_rdwait;
start_rwlock_wrwait_v1_t start_rwlock_wrwait;
end_rwlock_wrwait_v1_t end_rwlock_wrwait;
unlock_rwlock_v2_t unlock_rwlock;
};
typedef struct PSI_rwlock_service_v2 PSI_rwlock_service_t;
extern PSI_rwlock_service_t *psi_rwlock_service;