MySQL 8.4.2
Source Code Documentation
vio_priv.h
Go to the documentation of this file.
1/* Copyright (c) 2003, 2024, Oracle and/or its affiliates.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License, version 2.0,
5 as published by the Free Software Foundation.
6
7 This program is designed to work with certain software (including
8 but not limited to OpenSSL) that is licensed under separate terms,
9 as designated in a particular file or component or in included license
10 documentation. The authors of MySQL hereby grant you an additional
11 permission to link the program and your derivative works with the
12 separately licensed software that they have either included with
13 the program or referenced in the documentation.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License, version 2.0, for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24#ifndef VIO_PRIV_INCLUDED
25#define VIO_PRIV_INCLUDED
26
27/**
28 @file vio/vio_priv.h
29 Structures and functions private to the vio package
30*/
31
32#define DONT_MAP_VIO
33#include <mysql_com.h>
34
35#include "m_string.h"
36#include "my_sys.h"
38#include "violite.h"
39
43
44#ifdef _WIN32
45size_t vio_read_pipe(Vio *vio, uchar *buf, size_t size);
46size_t vio_write_pipe(Vio *vio, const uchar *buf, size_t size);
47bool vio_is_connected_pipe(Vio *vio);
48int vio_shutdown_pipe(Vio *vio);
49
50size_t vio_read_shared_memory(Vio *vio, uchar *buf, size_t size);
51size_t vio_write_shared_memory(Vio *vio, const uchar *buf, size_t size);
55#endif /* _WIN32 */
56
57bool vio_buff_has_data(Vio *vio);
59int vio_socket_timeout(Vio *vio, uint which, bool old_mode);
60
61size_t vio_ssl_read(Vio *vio, uchar *buf, size_t size);
62size_t vio_ssl_write(Vio *vio, const uchar *buf, size_t size);
63
64/* When the workday is over... */
65int vio_ssl_shutdown(Vio *vio);
66void vio_ssl_delete(Vio *vio);
67bool vio_ssl_has_data(Vio *vio);
68
69#endif /* VIO_PRIV_INCLUDED */
unsigned int PSI_memory_key
Instrumented memory key.
Definition: psi_memory_bits.h:49
unsigned char uchar
Definition: my_inttypes.h:52
Common header for many mysys elements.
Common definition between mysql server & client.
Definition: buf0block_hint.cc:30
size_t size(const char *const c)
Definition: base64.h:46
Performance schema instrumentation interface.
required string event
Definition: replication_group_member_actions.proto:32
Definition: violite.h:320
PSI_memory_key key_memory_vio_ssl_fd
Definition: vio.cc:52
bool vio_ssl_has_data(Vio *vio)
Definition: viossl.cc:803
size_t vio_ssl_read(Vio *vio, uchar *buf, size_t size)
Definition: viossl.cc:263
PSI_memory_key key_memory_vio_read_buffer
Definition: vio.cc:54
void vio_ssl_delete(Vio *vio)
Definition: viossl.cc:389
PSI_memory_key key_memory_vio
Definition: vio.cc:53
size_t vio_ssl_write(Vio *vio, const uchar *buf, size_t size)
Definition: viossl.cc:305
int vio_socket_io_wait(Vio *vio, enum enum_vio_io_event event)
Attempt to wait for an I/O event on a socket.
Definition: viosocket.cc:95
int vio_ssl_shutdown(Vio *vio)
Definition: viossl.cc:347
int vio_socket_timeout(Vio *vio, uint which, bool old_mode)
Definition: viosocket.cc:311
bool vio_buff_has_data(Vio *vio)
Definition: viosocket.cc:212
Vio Lite.
enum_vio_io_event
VIO I/O events.
Definition: violite.h:132
size_t vio_read_pipe(Vio *vio, uchar *buf, size_t count)
Definition: viopipe.cc:57
bool vio_is_connected_pipe(Vio *vio)
Definition: viopipe.cc:92
int vio_shutdown_pipe(Vio *vio)
Definition: viopipe.cc:98
size_t vio_write_pipe(Vio *vio, const uchar *buf, size_t count)
Definition: viopipe.cc:74
int vio_shutdown_shared_memory(Vio *vio)
Definition: vioshm.cc:196
size_t vio_write_shared_memory(Vio *vio, const uchar *buf, size_t size)
Definition: vioshm.cc:100
size_t vio_read_shared_memory(Vio *vio, uchar *buf, size_t size)
Definition: vioshm.cc:30
void vio_delete_shared_memory(Vio *vio)
Definition: vioshm.cc:150
bool vio_is_connected_shared_memory(Vio *vio)
Definition: vioshm.cc:146