MySQL 8.3.0
Source Code Documentation
MYSQL_PLUGIN_VIO Struct Reference

Provides plugin access to communication channel. More...

#include <plugin_auth_common.h>

Inheritance diagram for MYSQL_PLUGIN_VIO:
[legend]

Public Attributes

int(* read_packet )(struct MYSQL_PLUGIN_VIO *vio, unsigned char **buf)
 Plugin provides a pointer reference and this function sets it to the contents of any incoming packet. More...
 
int(* write_packet )(struct MYSQL_PLUGIN_VIO *vio, const unsigned char *packet, int packet_len)
 Plugin provides a buffer with data and the length and this function sends it as a packet. More...
 
void(* info )(struct MYSQL_PLUGIN_VIO *vio, struct MYSQL_PLUGIN_VIO_INFO *info)
 Fills in a MYSQL_PLUGIN_VIO_INFO structure, providing the information about the connection. More...
 
enum net_async_status(* read_packet_nonblocking )(struct MYSQL_PLUGIN_VIO *vio, unsigned char **buf, int *result)
 Non blocking version of read_packet. More...
 
enum net_async_status(* write_packet_nonblocking )(struct MYSQL_PLUGIN_VIO *vio, const unsigned char *pkt, int pkt_len, int *result)
 Non blocking version of write_packet. More...
 

Detailed Description

Provides plugin access to communication channel.

Member Data Documentation

◆ info

void(* MYSQL_PLUGIN_VIO::info) (struct MYSQL_PLUGIN_VIO *vio, struct MYSQL_PLUGIN_VIO_INFO *info)

Fills in a MYSQL_PLUGIN_VIO_INFO structure, providing the information about the connection.

◆ read_packet

int(* MYSQL_PLUGIN_VIO::read_packet) (struct MYSQL_PLUGIN_VIO *vio, unsigned char **buf)

Plugin provides a pointer reference and this function sets it to the contents of any incoming packet.

Returns the packet length, or -1 if the plugin should terminate.

◆ read_packet_nonblocking

enum net_async_status(* MYSQL_PLUGIN_VIO::read_packet_nonblocking) (struct MYSQL_PLUGIN_VIO *vio, unsigned char **buf, int *result)

Non blocking version of read_packet.

This function points buf to starting position of incoming packet. When this function returns NET_ASYNC_NOT_READY plugin should call this function again until all incoming packets are read. If return code is NET_ASYNC_COMPLETE, plugin can do further processing of read packets.

◆ write_packet

int(* MYSQL_PLUGIN_VIO::write_packet) (struct MYSQL_PLUGIN_VIO *vio, const unsigned char *packet, int packet_len)

Plugin provides a buffer with data and the length and this function sends it as a packet.

Returns 0 on success, 1 on failure.

◆ write_packet_nonblocking

enum net_async_status(* MYSQL_PLUGIN_VIO::write_packet_nonblocking) (struct MYSQL_PLUGIN_VIO *vio, const unsigned char *pkt, int pkt_len, int *result)

Non blocking version of write_packet.

Sends data available in pkt of length pkt_len to server in asynchronous way.


The documentation for this struct was generated from the following file: