From c7fa4a5be885c13689c021bce364041a47ccd890 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 24 Apr 2024 17:56:19 +0300 Subject: Release version 8.0.15+16 Add support for building with MinGW GCC. --- .../mysql/mysql/components/services/my_io_bits.h | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 libmysqlclient/mysql/mysql/mysql/components/services/my_io_bits.h (limited to 'libmysqlclient/mysql/mysql/mysql/components/services/my_io_bits.h') diff --git a/libmysqlclient/mysql/mysql/mysql/components/services/my_io_bits.h b/libmysqlclient/mysql/mysql/mysql/components/services/my_io_bits.h new file mode 100644 index 0000000..270d859 --- /dev/null +++ b/libmysqlclient/mysql/mysql/mysql/components/services/my_io_bits.h @@ -0,0 +1,66 @@ +/* Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License, version 2.0, + as published by the Free Software Foundation. + + This program is also distributed with certain software (including + but not limited to OpenSSL) that is licensed under separate terms, + as designated in a particular file or component or in included license + documentation. The authors of MySQL hereby grant you an additional + permission to link the program and your derivative works with the + separately licensed software that they have included with MySQL. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License, version 2.0, for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef COMPONENTS_SERVICES_MY_IO_BITS_H +#define COMPONENTS_SERVICES_MY_IO_BITS_H + +/** + @file mysql/components/services/my_io_bits.h + Types to make file and socket I/O compatible. +*/ + +#ifdef _WIN32 +/* Include common headers.*/ +#include /* access(), chmod() */ +#ifdef WIN32_LEAN_AND_MEAN +#include +#include /* SOCKET */ +#endif +#endif + +#ifndef MYSQL_ABI_CHECK +#if !defined(_WIN32) +#include +#include +#endif +#include +#include +#include // Needed for mode_t, so IWYU pragma: keep. +#endif + +typedef int File; /* File descriptor */ +#ifdef _WIN32 +#ifdef __MINGW32__ +typedef mode_t MY_MODE; +#else +typedef int MY_MODE; +typedef int mode_t; +#endif +typedef int socket_len_t; +typedef SOCKET my_socket; +#else +typedef mode_t MY_MODE; +typedef socklen_t socket_len_t; +typedef int my_socket; /* File descriptor for sockets */ +#endif /* _WIN32 */ + +#endif /* COMPONENTS_SERVICES_MY_IO_BITS_H */ -- cgit v1.1