libsir
2.2.5
Standard Incident Reporter
Loading...
Searching...
No Matches
platform_importc.h
1
/*
2
* platform_importc.h
3
*
4
* Version: 2.2.5
5
*
6
* -----------------------------------------------------------------------------
7
*
8
* SPDX-License-Identifier: MIT
9
*
10
* Copyright (c) 2018-2024 Jeffrey H. Johnson <trnsz@pobox.com>
11
*
12
* Permission is hereby granted, free of charge, to any person obtaining a copy of
13
* this software and associated documentation files (the "Software"), to deal in
14
* the Software without restriction, including without limitation the rights to
15
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
16
* the Software, and to permit persons to whom the Software is furnished to do so,
17
* subject to the following conditions:
18
*
19
* The above copyright notice and this permission notice shall be included in all
20
* copies or substantial portions of the Software.
21
*
22
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
24
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
25
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
26
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
27
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
*
29
* -----------------------------------------------------------------------------
30
*/
31
32
#ifndef _SIR_PLATFORM_IMPORTC_H_INCLUDED
33
# define _SIR_PLATFORM_IMPORTC_H_INCLUDED
34
35
# undef __HAVE_ATOMIC_H__
36
# undef __SIZEOF_INT128__
37
# undef BSWAP_REDEFINED
38
# define _BITS_FLOATN_H 1
39
# if defined(__APPLE__)
40
# undef _DARWIN_C_SOURCE
41
# define _DARWIN_C_SOURCE
42
# include <libkern/OSByteOrder.h>
43
# undef __builtin_bswap16
44
# define __builtin_bswap16(x) _OSSwapInt16(x)
45
# undef __builtin_bswap32
46
# define __builtin_bswap32(x) _OSSwapInt32(x)
47
# undef __builtin_bswap64
48
# define __builtin_bswap64(x) _OSSwapInt64(x)
49
# define BSWAP_REDEFINED 1
50
# elif defined(__linux__)
51
# undef _GNU_SOURCE
52
# define _GNU_SOURCE 1
53
# if defined __has_include
54
# if __has_include(<features.h>)
55
# include <features.h>
56
# endif
57
# endif
58
# if defined __has_include
59
# if __has_include(<byteswap.h>)
60
# include <byteswap.h>
61
# endif
62
# endif
63
# if defined(__GLIBC__) && !defined(bswap_16) && !defined(bswap_32) && !defined(bswap_64)
64
# undef __builtin_bswap16
65
# define __builtin_bswap16(x) swap_16(x)
66
# undef __builtin_bswap32
67
# define __builtin_bswap32(x) swap_32(x)
68
# undef __builtin_bswap64
69
# define __builtin_bswap64(x) swap_64(x)
70
# define BSWAP_REDEFINED 1
71
# elif defined(bswap_16) && defined(bswap_32) && defined(bswap_64)
72
# undef __builtin_bswap16
73
# define __builtin_bswap16(x) bswap_16(x)
74
# undef __builtin_bswap32
75
# define __builtin_bswap32(x) bswap_32(x)
76
# undef __builtin_bswap64
77
# define __builtin_bswap64(x) bswap_64(x)
78
# define BSWAP_REDEFINED 1
79
# endif
80
# elif defined(__FreeBSD__)
81
# undef _BSD_SOURCE
82
# define _BSD_SOURCE
83
# undef _DEFAULT_SOURCE
84
# define _DEFAULT_SOURCE
85
# include <sys/endian.h>
86
# undef __builtin_bswap16
87
# define __builtin_bswap16(x) bswap16(x)
88
# undef __builtin_bswap32
89
# define __builtin_bswap32(x) bswap32(x)
90
# undef __builtin_bswap64
91
# define __builtin_bswap64(x) bswap64(x)
92
# define BSWAP_REDEFINED 1
93
# endif
94
# if !defined(BSWAP_REDEFINED)
95
# undef __builtin_bswap16
96
# define __builtin_bswap16
97
# undef __builtin_bswap32
98
# define __builtin_bswap32
99
# undef __builtin_bswap64
100
# define __builtin_bswap64
101
# define BSWAP_REDEFINED 1
102
# endif
103
# undef __builtin___snprintf_chk
104
# define __builtin___snprintf_chk(s, c, flag, os, fmt, ...) snprintf(s, c, fmt, __VA_ARGS__)
105
# undef __builtin___sprintf_chk
106
# define __builtin___sprintf_chk(s, flag, os, fmt, ...) sprintf(s, fmt, __VA_ARGS__)
107
# undef __builtin___vsnprintf_chk
108
# define __builtin___vsnprintf_chk(s, c, flag, os, fmt, ...) vsnprintf(s, c, fmt, __VA_ARGS__)
109
# undef __builtin___strlcat_chk
110
# define __builtin___strlcat_chk(dest, src, x, n) strlcat(dest, src, x)
111
# undef __builtin___strlcpy_chk
112
# define __builtin___strlcpy_chk(dest, src, x, n) strlcpy(dest, src, x)
113
# undef __builtin_object_size
114
# define __builtin_object_size
115
# undef __extension__
116
# define __extension__
117
# undef __asm__
118
# if !defined(__FreeBSD__)
119
# define __asm__ asm
120
# else
121
# define __asm__(...)
122
# endif
123
# if !defined(__restrict)
124
# define __restrict restrict
125
# endif
126
# if !defined(__inline)
127
# define __inline
128
# endif
129
130
#endif
/* !_SIR_PLATFORM_IMPORTC_H_INCLUDED */
include
sir
platform_importc.h
Generated by
1.12.0