MySQL 8.4.0
Source Code Documentation
sunrpc_sys_types.h
Go to the documentation of this file.
1/* Copyright (c) 2010, 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/* Includes missing defines for Sun RPC */
25#ifndef _SUNRPC_SYS_TYPES_H
26#define _SUNRPC_SYS_TYPES_H 1
27
28#if defined(_WIN32)
29
30#include <winsock2.h>
31
32/* Need C99 __func__ equivalent for Sun RPC */
33#define __func__ __FUNCTION__
34
35#define __const const
36
37/* Empty macros */
38#define INTDEF(func)
39#define INTUSE(func) func
40
41#ifdef __cplusplus
42#define __BEGIN_DECLS extern "C" {
43#define __END_DECLS }
44#else
45#define __BEGIN_DECLS
46#define __END_DECLS
47#endif
48#define __THROW
49
50/* Indicate to Sun RPC we have basic definitions included */
51#define makedev
52#define __u_char_defined
53
54/* WIN32 still missing some types */
55typedef unsigned short __u_short;
56typedef unsigned int __u_int;
57typedef unsigned long __u_long;
58
59#if defined(_WIN32)
60typedef long long int __quad_t;
61typedef unsigned long long int __u_quad_t;
62#endif
63typedef struct {
64 int __val[2];
65} __fsid_t;
66
67typedef long rpc_inline_t; /* FIXME: Won't work on 64bit compiles */
68
69typedef unsigned long ulong_t;
70typedef unsigned long long u_longlong_t;
71
72typedef __quad_t quad_t;
73typedef __u_quad_t u_quad_t;
74typedef __fsid_t fsid_t;
75
76typedef signed char int8_t;
77typedef unsigned __int8 uint8_t;
78typedef __int16 int16_t;
79typedef unsigned __int16 uint16_t;
80typedef __int32 int32_t;
81typedef unsigned __int32 uint32_t;
82typedef __int64 int64_t;
83typedef unsigned __int64 uint64_t;
84
85/* WIN32 missing net/if.h */
86typedef int __daddr_t;
87typedef char *__caddr_t;
88
89typedef __caddr_t caddr_t; /* normally defined in rpc.h */
90
91/* mysql functions need uint */
92typedef unsigned int uint;
93
94/* xcom_timer uses time_t struct */
95typedef long suseconds_t; /* signed number of microseconds */
96
97#endif /* WIN32 || WIN64 */
98
99#endif /* sunrpc_sys_types.h */
__quad_t quad_t
Definition: types.h:75
__fsid_t fsid_t
Definition: types.h:77
__caddr_t caddr_t
Definition: types.h:82
__u_quad_t u_quad_t
Definition: types.h:76