@agoric/xsnap 0.14.3-u13.0 → 0.14.3-u16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/api.js +4 -2
- package/build.env +1 -1
- package/moddable/modules/data/base64/base64.js +28 -0
- package/moddable/modules/data/base64/manifest.json +11 -0
- package/moddable/modules/data/base64/modBase64.c +188 -0
- package/moddable/modules/data/binaryMessage/BinaryMessage.js +106 -0
- package/moddable/modules/data/crc/crc.c +205 -0
- package/moddable/modules/data/crc/crc.js +36 -0
- package/moddable/modules/data/crc/manifest.json +8 -0
- package/moddable/modules/data/hex/hex.js +28 -0
- package/moddable/modules/data/hex/manifest.json +11 -0
- package/moddable/modules/data/hex/modHex.c +139 -0
- package/moddable/modules/data/logical/logical.js +32 -0
- package/moddable/modules/data/logical/modLogical.c +98 -0
- package/moddable/modules/data/qrcode/manifest.json +9 -0
- package/moddable/modules/data/qrcode/qrcode.c +93 -0
- package/moddable/modules/data/qrcode/qrcode.js +23 -0
- package/moddable/modules/data/qrcode/qrcodegen.c +1025 -0
- package/moddable/modules/data/qrcode/qrcodegen.h +267 -0
- package/moddable/modules/data/text/decoder/manifest.json +8 -0
- package/moddable/modules/data/text/decoder/textdecoder.c +480 -0
- package/moddable/modules/data/text/decoder/textdecoder.js +27 -0
- package/moddable/modules/data/text/encoder/manifest.json +8 -0
- package/moddable/modules/data/text/encoder/textencoder.c +232 -0
- package/moddable/modules/data/text/encoder/textencoder.js +24 -0
- package/moddable/modules/data/tinyint/tinyint.c +150 -0
- package/moddable/modules/data/tinyint/tinyint.js +53 -0
- package/moddable/modules/data/url/manifest.json +17 -0
- package/moddable/modules/data/url/url.c +1959 -0
- package/moddable/modules/data/url/url.js +210 -0
- package/moddable/modules/data/wavreader/manifest.json +8 -0
- package/moddable/modules/data/wavreader/wavreader.js +128 -0
- package/moddable/modules/data/zlib/deflate.c +161 -0
- package/moddable/modules/data/zlib/deflate.js +63 -0
- package/moddable/modules/data/zlib/inflate.c +145 -0
- package/moddable/modules/data/zlib/inflate.js +66 -0
- package/moddable/modules/data/zlib/manifest_deflate.json +9 -0
- package/moddable/modules/data/zlib/manifest_inflate.json +9 -0
- package/moddable/modules/data/zlib/miniz.c +4924 -0
- package/moddable/xs/includes/xs.d.ts +73 -0
- package/moddable/xs/includes/xs.h +1533 -0
- package/moddable/xs/includes/xsmc.h +206 -0
- package/moddable/xs/makefiles/lin/makefile +33 -0
- package/moddable/xs/makefiles/lin/xsc.mk +118 -0
- package/moddable/xs/makefiles/lin/xsid.mk +90 -0
- package/moddable/xs/makefiles/lin/xsl.mk +168 -0
- package/moddable/xs/makefiles/lin/xst.mk +201 -0
- package/moddable/xs/makefiles/mac/makefile +33 -0
- package/moddable/xs/makefiles/mac/xsc.mk +130 -0
- package/moddable/xs/makefiles/mac/xsid.mk +102 -0
- package/moddable/xs/makefiles/mac/xsl.mk +177 -0
- package/moddable/xs/makefiles/mac/xst.mk +203 -0
- package/moddable/xs/makefiles/mac/xst_no_asan.txt +52 -0
- package/moddable/xs/makefiles/win/build.bat +26 -0
- package/moddable/xs/makefiles/win/xsc.mak +142 -0
- package/moddable/xs/makefiles/win/xsid.mak +113 -0
- package/moddable/xs/makefiles/win/xsl.mak +186 -0
- package/moddable/xs/makefiles/win/xst.mak +195 -0
- package/moddable/xs/platforms/lin_xs.h +99 -0
- package/moddable/xs/platforms/mac_xs.h +97 -0
- package/moddable/xs/platforms/wasm_xs.h +79 -0
- package/moddable/xs/platforms/win_xs.h +104 -0
- package/moddable/xs/platforms/xsHost.h +63 -0
- package/moddable/xs/platforms/xsPlatform.h +618 -0
- package/moddable/xs/sources/xsAPI.c +2555 -0
- package/moddable/xs/sources/xsAll.c +294 -0
- package/moddable/xs/sources/xsAll.h +2741 -0
- package/moddable/xs/sources/xsArguments.c +222 -0
- package/moddable/xs/sources/xsArray.c +2657 -0
- package/moddable/xs/sources/xsAtomics.c +844 -0
- package/moddable/xs/sources/xsBigInt.c +1859 -0
- package/moddable/xs/sources/xsBoolean.c +109 -0
- package/moddable/xs/sources/xsCode.c +4493 -0
- package/moddable/xs/sources/xsCommon.c +1710 -0
- package/moddable/xs/sources/xsCommon.h +1142 -0
- package/moddable/xs/sources/xsDataView.c +2890 -0
- package/moddable/xs/sources/xsDate.c +1541 -0
- package/moddable/xs/sources/xsDebug.c +2710 -0
- package/moddable/xs/sources/xsDefaults.c +134 -0
- package/moddable/xs/sources/xsError.c +353 -0
- package/moddable/xs/sources/xsFunction.c +776 -0
- package/moddable/xs/sources/xsGenerator.c +865 -0
- package/moddable/xs/sources/xsGlobal.c +839 -0
- package/moddable/xs/sources/xsJSON.c +1091 -0
- package/moddable/xs/sources/xsLexical.c +1969 -0
- package/moddable/xs/sources/xsLockdown.c +933 -0
- package/moddable/xs/sources/xsMapSet.c +1649 -0
- package/moddable/xs/sources/xsMarshall.c +1020 -0
- package/moddable/xs/sources/xsMath.c +624 -0
- package/moddable/xs/sources/xsMemory.c +1941 -0
- package/moddable/xs/sources/xsModule.c +3101 -0
- package/moddable/xs/sources/xsNumber.c +560 -0
- package/moddable/xs/sources/xsObject.c +1102 -0
- package/moddable/xs/sources/xsPlatforms.c +480 -0
- package/moddable/xs/sources/xsProfile.c +577 -0
- package/moddable/xs/sources/xsPromise.c +1199 -0
- package/moddable/xs/sources/xsProperty.c +636 -0
- package/moddable/xs/sources/xsProxy.c +1014 -0
- package/moddable/xs/sources/xsRegExp.c +1168 -0
- package/moddable/xs/sources/xsRun.c +4889 -0
- package/moddable/xs/sources/xsScope.c +1293 -0
- package/moddable/xs/sources/xsScript.c +288 -0
- package/moddable/xs/sources/xsScript.h +1186 -0
- package/moddable/xs/sources/xsSnapshot.c +2161 -0
- package/moddable/xs/sources/xsSnapshot.h +51 -0
- package/moddable/xs/sources/xsSourceMap.c +218 -0
- package/moddable/xs/sources/xsString.c +3332 -0
- package/moddable/xs/sources/xsSymbol.c +503 -0
- package/moddable/xs/sources/xsSyntaxical.c +4193 -0
- package/moddable/xs/sources/xsTree.c +1893 -0
- package/moddable/xs/sources/xsType.c +1488 -0
- package/moddable/xs/sources/xsdtoa.c +6672 -0
- package/moddable/xs/sources/xsmc.c +340 -0
- package/moddable/xs/sources/xsre.c +7578 -0
- package/package.json +39 -22
- package/scripts/get_xsnap_version.sh +14 -0
- package/scripts/test-package.sh +21 -0
- package/src/avaAssertXS.js +6 -2
- package/src/avaHandler.cjs +2 -5
- package/src/avaXS.js +7 -8
- package/src/build.js +161 -28
- package/src/replay.js +0 -3
- package/src/xsnap.js +105 -91
- package/src/xsrepl.js +2 -3
- package/xsnap-native/xsnap/makefiles/lin/makefile +10 -0
- package/xsnap-native/xsnap/makefiles/lin/xsnap-worker.mk +156 -0
- package/xsnap-native/xsnap/makefiles/lin/xsnap.mk +144 -0
- package/xsnap-native/xsnap/makefiles/mac/makefile +10 -0
- package/xsnap-native/xsnap/makefiles/mac/xsnap-worker.mk +165 -0
- package/xsnap-native/xsnap/makefiles/mac/xsnap.mk +153 -0
- package/xsnap-native/xsnap/sources/xsnap-worker.c +1008 -0
- package/xsnap-native/xsnap/sources/xsnap.c +717 -0
- package/xsnap-native/xsnap/sources/xsnap.h +142 -0
- package/xsnap-native/xsnap/sources/xsnapPlatform.c +1501 -0
- package/xsnap-native/xsnap/sources/xsnapPlatform.h +105 -0
- package/CHANGELOG.md +0 -646
|
@@ -0,0 +1,618 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2016-2017 Moddable Tech, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This file is part of the Moddable SDK Runtime.
|
|
5
|
+
*
|
|
6
|
+
* The Moddable SDK Runtime is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
8
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* The Moddable SDK Runtime is distributed in the hope that it will be useful,
|
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
* GNU Lesser General Public License for more details.
|
|
15
|
+
*
|
|
16
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
17
|
+
* along with the Moddable SDK Runtime. If not, see <http://www.gnu.org/licenses/>.
|
|
18
|
+
*
|
|
19
|
+
* This file incorporates work covered by the following copyright and
|
|
20
|
+
* permission notice:
|
|
21
|
+
*
|
|
22
|
+
* Copyright (C) 2010-2016 Marvell International Ltd.
|
|
23
|
+
* Copyright (C) 2002-2010 Kinoma, Inc.
|
|
24
|
+
*
|
|
25
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
26
|
+
* you may not use this file except in compliance with the License.
|
|
27
|
+
* You may obtain a copy of the License at
|
|
28
|
+
*
|
|
29
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
30
|
+
*
|
|
31
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
32
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
33
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
34
|
+
* See the License for the specific language governing permissions and
|
|
35
|
+
* limitations under the License.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#ifndef __XSPLATFORM__
|
|
39
|
+
#define __XSPLATFORM__
|
|
40
|
+
|
|
41
|
+
#define mxBigEndian 0
|
|
42
|
+
#define mxLittleEndian 1
|
|
43
|
+
|
|
44
|
+
#define mxiOS 0
|
|
45
|
+
#define mxLinux 0
|
|
46
|
+
#define mxMacOSX 0
|
|
47
|
+
#define mxWasm 0
|
|
48
|
+
#define mxWindows 0
|
|
49
|
+
|
|
50
|
+
#include "xsHost.h"
|
|
51
|
+
|
|
52
|
+
#ifndef XSPLATFORM
|
|
53
|
+
/* for xsc and xsid on Linux, macOS or Windows */
|
|
54
|
+
#if defined(_MSC_VER)
|
|
55
|
+
#if defined(_M_IX86) || defined(_M_X64)
|
|
56
|
+
#undef mxWindows
|
|
57
|
+
#define mxWindows 1
|
|
58
|
+
#ifdef mxDynamicLink
|
|
59
|
+
#define mxExport extern __declspec( dllexport )
|
|
60
|
+
#define mxImport extern __declspec( dllimport )
|
|
61
|
+
#endif
|
|
62
|
+
#else
|
|
63
|
+
#error unknown Microsoft compiler
|
|
64
|
+
#endif
|
|
65
|
+
#elif defined(__GNUC__)
|
|
66
|
+
#if defined(__i386__) || defined(i386) || defined(intel) || defined(arm) || defined(__arm__) || defined(__k8__) || defined(__x86_64__) || defined(__aarch64__)
|
|
67
|
+
#if defined(__linux__) || defined(linux)
|
|
68
|
+
#undef mxLinux
|
|
69
|
+
#define mxLinux 1
|
|
70
|
+
#else
|
|
71
|
+
#undef mxMacOSX
|
|
72
|
+
#define mxMacOSX 1
|
|
73
|
+
#endif
|
|
74
|
+
#ifdef mxDynamicLink
|
|
75
|
+
#define mxExport extern __attribute__ ((visibility("default")))
|
|
76
|
+
#define mxImport extern __attribute__ ((visibility("default")))
|
|
77
|
+
#endif
|
|
78
|
+
#define XS_FUNCTION_NORETURN __attribute__((noreturn))
|
|
79
|
+
#endif
|
|
80
|
+
#else
|
|
81
|
+
#error unknown compiler
|
|
82
|
+
#endif
|
|
83
|
+
#if mxWindows
|
|
84
|
+
#define _USE_MATH_DEFINES
|
|
85
|
+
#define WIN32_LEAN_AND_MEAN
|
|
86
|
+
#define _WINSOCK_DEPRECATED_NO_WARNINGS
|
|
87
|
+
#endif
|
|
88
|
+
#include <ctype.h>
|
|
89
|
+
#include <float.h>
|
|
90
|
+
#include <math.h>
|
|
91
|
+
#include <setjmp.h>
|
|
92
|
+
#include <stdarg.h>
|
|
93
|
+
#include <stdint.h>
|
|
94
|
+
#include <stdbool.h>
|
|
95
|
+
#include <stdio.h>
|
|
96
|
+
#include <stdlib.h>
|
|
97
|
+
#include <string.h>
|
|
98
|
+
#include <time.h>
|
|
99
|
+
#if mxWindows
|
|
100
|
+
#include <winsock2.h>
|
|
101
|
+
#else
|
|
102
|
+
#include <arpa/inet.h>
|
|
103
|
+
#include <pthread.h>
|
|
104
|
+
#include <unistd.h>
|
|
105
|
+
#define mxUseGCCAtomics 1
|
|
106
|
+
#define mxUsePOSIXThreads 1
|
|
107
|
+
#endif
|
|
108
|
+
#define mxMachinePlatform \
|
|
109
|
+
void* waiterCondition; \
|
|
110
|
+
void* waiterData; \
|
|
111
|
+
txMachine* waiterLink;
|
|
112
|
+
#define mxUseDefaultMachinePlatform 1
|
|
113
|
+
#define mxUseDefaultBuildKeys 1
|
|
114
|
+
#define mxUseDefaultChunkAllocation 1
|
|
115
|
+
#define mxUseDefaultSlotAllocation 1
|
|
116
|
+
#define mxUseDefaultFindModule 1
|
|
117
|
+
#define mxUseDefaultLoadModule 1
|
|
118
|
+
#define mxUseDefaultParseScript 1
|
|
119
|
+
#define mxUseDefaultQueuePromiseJobs 1
|
|
120
|
+
#define mxUseDefaultSharedChunks 1
|
|
121
|
+
#define mxUseDefaultAbort 1
|
|
122
|
+
#define mxUseDefaultDebug 1
|
|
123
|
+
#else
|
|
124
|
+
#include XSPLATFORM
|
|
125
|
+
#endif
|
|
126
|
+
|
|
127
|
+
#ifndef ICACHE_FLASH_ATTR
|
|
128
|
+
#define ICACHE_FLASH_ATTR
|
|
129
|
+
#endif
|
|
130
|
+
#ifndef ICACHE_RODATA_ATTR
|
|
131
|
+
#define ICACHE_RODATA_ATTR
|
|
132
|
+
#endif
|
|
133
|
+
#ifndef ICACHE_RAM_ATTR
|
|
134
|
+
#define ICACHE_RAM_ATTR
|
|
135
|
+
#endif
|
|
136
|
+
#ifndef ICACHE_XS6RO_ATTR
|
|
137
|
+
#define ICACHE_XS6RO_ATTR
|
|
138
|
+
#endif
|
|
139
|
+
#ifndef ICACHE_XS6RO2_ATTR
|
|
140
|
+
#define ICACHE_XS6RO2_ATTR
|
|
141
|
+
#endif
|
|
142
|
+
#ifndef ICACHE_XS6STRING_ATTR
|
|
143
|
+
#define ICACHE_XS6STRING_ATTR
|
|
144
|
+
#endif
|
|
145
|
+
|
|
146
|
+
#ifndef XS_FUNCTION_NORETURN
|
|
147
|
+
#ifdef __GNUC__
|
|
148
|
+
#define XS_FUNCTION_NORETURN __attribute__((noreturn))
|
|
149
|
+
#else
|
|
150
|
+
#define XS_FUNCTION_NORETURN
|
|
151
|
+
#endif
|
|
152
|
+
#endif
|
|
153
|
+
|
|
154
|
+
#ifndef mxExport
|
|
155
|
+
#define mxExport extern
|
|
156
|
+
#endif
|
|
157
|
+
#ifndef mxImport
|
|
158
|
+
#define mxImport extern
|
|
159
|
+
#endif
|
|
160
|
+
|
|
161
|
+
#ifndef txS1
|
|
162
|
+
typedef int8_t txS1;
|
|
163
|
+
#endif
|
|
164
|
+
#ifndef txU1
|
|
165
|
+
typedef uint8_t txU1;
|
|
166
|
+
#endif
|
|
167
|
+
#ifndef txS2
|
|
168
|
+
typedef int16_t txS2;
|
|
169
|
+
#endif
|
|
170
|
+
#ifndef txU2
|
|
171
|
+
typedef uint16_t txU2;
|
|
172
|
+
#endif
|
|
173
|
+
#ifndef txS4
|
|
174
|
+
typedef int32_t txS4;
|
|
175
|
+
#endif
|
|
176
|
+
#ifndef txU4
|
|
177
|
+
typedef uint32_t txU4;
|
|
178
|
+
#endif
|
|
179
|
+
#ifndef txS8
|
|
180
|
+
typedef int64_t txS8;
|
|
181
|
+
#endif
|
|
182
|
+
#ifndef txU8
|
|
183
|
+
typedef uint64_t txU8;
|
|
184
|
+
#endif
|
|
185
|
+
|
|
186
|
+
#ifndef c_jmp_buf
|
|
187
|
+
typedef jmp_buf c_jmp_buf;
|
|
188
|
+
#endif
|
|
189
|
+
#ifndef c_longjmp
|
|
190
|
+
#define c_longjmp longjmp
|
|
191
|
+
#endif
|
|
192
|
+
#ifndef c_setjmp
|
|
193
|
+
#define c_setjmp setjmp
|
|
194
|
+
#endif
|
|
195
|
+
|
|
196
|
+
#ifndef c_va_list
|
|
197
|
+
typedef va_list c_va_list;
|
|
198
|
+
#endif
|
|
199
|
+
#ifndef c_va_arg
|
|
200
|
+
#define c_va_arg va_arg
|
|
201
|
+
#endif
|
|
202
|
+
#ifndef c_va_end
|
|
203
|
+
#define c_va_end va_end
|
|
204
|
+
#endif
|
|
205
|
+
#ifndef c_va_start
|
|
206
|
+
#define c_va_start va_start
|
|
207
|
+
#endif
|
|
208
|
+
|
|
209
|
+
#ifndef c_calloc
|
|
210
|
+
#define c_calloc calloc
|
|
211
|
+
#endif
|
|
212
|
+
#ifndef c_exit
|
|
213
|
+
#define c_exit exit
|
|
214
|
+
#endif
|
|
215
|
+
#ifndef c_free
|
|
216
|
+
#define c_free free
|
|
217
|
+
#endif
|
|
218
|
+
#ifndef c_malloc
|
|
219
|
+
#define c_malloc malloc
|
|
220
|
+
#endif
|
|
221
|
+
#ifndef c_free_uint32
|
|
222
|
+
#define c_free_uint32 free
|
|
223
|
+
#endif
|
|
224
|
+
#ifndef c_malloc_uint32
|
|
225
|
+
#define c_malloc_uint32 malloc
|
|
226
|
+
#endif
|
|
227
|
+
#ifndef c_qsort
|
|
228
|
+
#define c_qsort qsort
|
|
229
|
+
#endif
|
|
230
|
+
#ifndef c_realloc
|
|
231
|
+
#define c_realloc realloc
|
|
232
|
+
#endif
|
|
233
|
+
#ifndef c_strtod
|
|
234
|
+
#define c_strtod strtod
|
|
235
|
+
#endif
|
|
236
|
+
#ifndef c_strtol
|
|
237
|
+
#define c_strtol strtol
|
|
238
|
+
#endif
|
|
239
|
+
#ifndef c_strtoul
|
|
240
|
+
#define c_strtoul strtoul
|
|
241
|
+
#endif
|
|
242
|
+
|
|
243
|
+
#ifndef C_EOF
|
|
244
|
+
#define C_EOF EOF
|
|
245
|
+
#endif
|
|
246
|
+
#ifndef C_NULL
|
|
247
|
+
#define C_NULL NULL
|
|
248
|
+
#endif
|
|
249
|
+
#ifndef c_vprintf
|
|
250
|
+
#define c_vprintf vprintf
|
|
251
|
+
#endif
|
|
252
|
+
#ifndef c_printf
|
|
253
|
+
#define c_printf printf
|
|
254
|
+
#endif
|
|
255
|
+
#ifndef c_vsnprintf
|
|
256
|
+
#define c_vsnprintf vsnprintf
|
|
257
|
+
#endif
|
|
258
|
+
#ifndef c_snprintf
|
|
259
|
+
#define c_snprintf snprintf
|
|
260
|
+
#endif
|
|
261
|
+
#ifndef c_vfprintf
|
|
262
|
+
#define c_vfprintf vfprintf
|
|
263
|
+
#endif
|
|
264
|
+
#ifndef c_fprintf
|
|
265
|
+
#define c_fprintf fprintf
|
|
266
|
+
#endif
|
|
267
|
+
|
|
268
|
+
#ifndef c_signal
|
|
269
|
+
#ifdef EMSCRIPTEN
|
|
270
|
+
#define c_signal(signum, handler)
|
|
271
|
+
#else
|
|
272
|
+
#define c_signal signal
|
|
273
|
+
#endif
|
|
274
|
+
#endif
|
|
275
|
+
|
|
276
|
+
/* DATE */
|
|
277
|
+
|
|
278
|
+
#ifndef c_time_t
|
|
279
|
+
typedef time_t c_time_t;
|
|
280
|
+
#endif
|
|
281
|
+
#ifndef c_tm
|
|
282
|
+
typedef struct tm c_tm;
|
|
283
|
+
#endif
|
|
284
|
+
#ifndef c_localtime
|
|
285
|
+
#define c_localtime localtime
|
|
286
|
+
#endif
|
|
287
|
+
#ifndef c_mktime
|
|
288
|
+
#define c_mktime mktime
|
|
289
|
+
#endif
|
|
290
|
+
#ifndef c_gettimeofday
|
|
291
|
+
#if mxWindows
|
|
292
|
+
#include <sys/types.h>
|
|
293
|
+
#include <sys/timeb.h>
|
|
294
|
+
typedef struct timeval c_timeval;
|
|
295
|
+
struct c_timezone {
|
|
296
|
+
int tz_minuteswest;
|
|
297
|
+
int tz_dsttime;
|
|
298
|
+
};
|
|
299
|
+
#ifdef __cplusplus
|
|
300
|
+
extern "C" {
|
|
301
|
+
#endif
|
|
302
|
+
extern int c_gettimeofday(c_timeval *tp, struct c_timezone *tzp);
|
|
303
|
+
#ifdef __cplusplus
|
|
304
|
+
}
|
|
305
|
+
#endif
|
|
306
|
+
#else
|
|
307
|
+
#include <sys/time.h>
|
|
308
|
+
typedef struct timeval c_timeval;
|
|
309
|
+
#define c_timezone timezone
|
|
310
|
+
#define c_gettimeofday gettimeofday
|
|
311
|
+
#endif
|
|
312
|
+
#endif
|
|
313
|
+
|
|
314
|
+
/* MATH */
|
|
315
|
+
|
|
316
|
+
#ifndef C_DBL_MAX
|
|
317
|
+
#define C_DBL_MAX DBL_MAX
|
|
318
|
+
#endif
|
|
319
|
+
#ifndef C_DBL_MIN
|
|
320
|
+
#define C_DBL_MIN (double)5e-324
|
|
321
|
+
#endif
|
|
322
|
+
#ifndef C_EPSILON
|
|
323
|
+
#define C_EPSILON (double)2.2204460492503130808472633361816e-16
|
|
324
|
+
#endif
|
|
325
|
+
#ifndef C_FP_INFINITE
|
|
326
|
+
#define C_FP_INFINITE FP_INFINITE
|
|
327
|
+
#endif
|
|
328
|
+
#ifndef C_FP_NAN
|
|
329
|
+
#define C_FP_NAN FP_NAN
|
|
330
|
+
#endif
|
|
331
|
+
#ifndef C_FP_NORMAL
|
|
332
|
+
#define C_FP_NORMAL FP_NORMAL
|
|
333
|
+
#endif
|
|
334
|
+
#ifndef C_FP_SUBNORMAL
|
|
335
|
+
#define C_FP_SUBNORMAL FP_SUBNORMAL
|
|
336
|
+
#endif
|
|
337
|
+
#ifndef C_FP_ZERO
|
|
338
|
+
#define C_FP_ZERO FP_ZERO
|
|
339
|
+
#endif
|
|
340
|
+
#ifndef C_INFINITY
|
|
341
|
+
#define C_INFINITY (double)INFINITY
|
|
342
|
+
#endif
|
|
343
|
+
#ifndef C_M_E
|
|
344
|
+
#define C_M_E M_E
|
|
345
|
+
#endif
|
|
346
|
+
#ifndef C_M_LN10
|
|
347
|
+
#define C_M_LN10 M_LN10
|
|
348
|
+
#endif
|
|
349
|
+
#ifndef C_M_LN2
|
|
350
|
+
#define C_M_LN2 M_LN2
|
|
351
|
+
#endif
|
|
352
|
+
#ifndef C_M_LOG10E
|
|
353
|
+
#define C_M_LOG10E M_LOG10E
|
|
354
|
+
#endif
|
|
355
|
+
#ifndef C_M_LOG2E
|
|
356
|
+
#define C_M_LOG2E M_LOG2E
|
|
357
|
+
#endif
|
|
358
|
+
#ifndef C_M_PI
|
|
359
|
+
#define C_M_PI M_PI
|
|
360
|
+
#endif
|
|
361
|
+
#ifndef C_M_SQRT1_2
|
|
362
|
+
#define C_M_SQRT1_2 M_SQRT1_2
|
|
363
|
+
#endif
|
|
364
|
+
#ifndef C_M_SQRT2
|
|
365
|
+
#define C_M_SQRT2 M_SQRT2
|
|
366
|
+
#endif
|
|
367
|
+
#ifndef C_MAX_SAFE_INTEGER
|
|
368
|
+
#define C_MAX_SAFE_INTEGER (double)9007199254740991
|
|
369
|
+
#endif
|
|
370
|
+
#ifndef C_MIN_SAFE_INTEGER
|
|
371
|
+
#define C_MIN_SAFE_INTEGER (double)-9007199254740991
|
|
372
|
+
#endif
|
|
373
|
+
#ifndef C_NAN
|
|
374
|
+
#define C_NAN NAN
|
|
375
|
+
#endif
|
|
376
|
+
#ifndef C_RAND_MAX
|
|
377
|
+
#define C_RAND_MAX RAND_MAX
|
|
378
|
+
#endif
|
|
379
|
+
#ifndef c_acos
|
|
380
|
+
#define c_acos acos
|
|
381
|
+
#endif
|
|
382
|
+
#ifndef c_acosh
|
|
383
|
+
#define c_acosh acosh
|
|
384
|
+
#endif
|
|
385
|
+
#ifndef c_asin
|
|
386
|
+
#define c_asin asin
|
|
387
|
+
#endif
|
|
388
|
+
#ifndef c_asinh
|
|
389
|
+
#define c_asinh asinh
|
|
390
|
+
#endif
|
|
391
|
+
#ifndef c_atan
|
|
392
|
+
#define c_atan atan
|
|
393
|
+
#endif
|
|
394
|
+
#ifndef c_atanh
|
|
395
|
+
#define c_atanh atanh
|
|
396
|
+
#endif
|
|
397
|
+
#define c_atan2 atan2
|
|
398
|
+
#ifndef c_cbrt
|
|
399
|
+
#define c_cbrt cbrt
|
|
400
|
+
#endif
|
|
401
|
+
#ifndef c_ceil
|
|
402
|
+
#define c_ceil ceil
|
|
403
|
+
#endif
|
|
404
|
+
#ifndef c_cos
|
|
405
|
+
#define c_cos cos
|
|
406
|
+
#endif
|
|
407
|
+
#ifndef c_cosh
|
|
408
|
+
#define c_cosh cosh
|
|
409
|
+
#endif
|
|
410
|
+
#ifndef c_exp
|
|
411
|
+
#define c_exp exp
|
|
412
|
+
#endif
|
|
413
|
+
#define c_expm1 expm1
|
|
414
|
+
#ifndef c_fabs
|
|
415
|
+
#define c_fabs fabs
|
|
416
|
+
#endif
|
|
417
|
+
#ifndef c_floor
|
|
418
|
+
#define c_floor floor
|
|
419
|
+
#endif
|
|
420
|
+
#ifndef c_fmod
|
|
421
|
+
#define c_fmod fmod
|
|
422
|
+
#endif
|
|
423
|
+
#ifndef c_fpclassify
|
|
424
|
+
#define c_fpclassify fpclassify
|
|
425
|
+
#endif
|
|
426
|
+
#ifndef c_hypot
|
|
427
|
+
#define c_hypot hypot
|
|
428
|
+
#endif
|
|
429
|
+
#ifndef c_isfinite
|
|
430
|
+
#define c_isfinite isfinite
|
|
431
|
+
#endif
|
|
432
|
+
#ifndef c_isnormal
|
|
433
|
+
#define c_isnormal isnormal
|
|
434
|
+
#endif
|
|
435
|
+
#ifndef c_isnan
|
|
436
|
+
#define c_isnan isnan
|
|
437
|
+
#endif
|
|
438
|
+
#ifndef c_llround
|
|
439
|
+
#define c_llround llround
|
|
440
|
+
#endif
|
|
441
|
+
#ifndef c_log
|
|
442
|
+
#define c_log log
|
|
443
|
+
#endif
|
|
444
|
+
#ifndef c_log1p
|
|
445
|
+
#define c_log1p log1p
|
|
446
|
+
#endif
|
|
447
|
+
#ifndef c_log10
|
|
448
|
+
#define c_log10 log10
|
|
449
|
+
#endif
|
|
450
|
+
#ifndef c_log2
|
|
451
|
+
#define c_log2 log2
|
|
452
|
+
#endif
|
|
453
|
+
#ifndef c_nearbyint
|
|
454
|
+
#define c_nearbyint nearbyint
|
|
455
|
+
#endif
|
|
456
|
+
#ifndef c_pow
|
|
457
|
+
#define c_pow pow
|
|
458
|
+
#endif
|
|
459
|
+
#ifndef c_rand
|
|
460
|
+
#define c_rand rand
|
|
461
|
+
#endif
|
|
462
|
+
#ifndef c_round
|
|
463
|
+
#define c_round round
|
|
464
|
+
#endif
|
|
465
|
+
#ifndef c_signbit
|
|
466
|
+
#define c_signbit signbit
|
|
467
|
+
#endif
|
|
468
|
+
#ifndef c_sin
|
|
469
|
+
#define c_sin sin
|
|
470
|
+
#endif
|
|
471
|
+
#ifndef c_sinh
|
|
472
|
+
#define c_sinh sinh
|
|
473
|
+
#endif
|
|
474
|
+
#ifndef c_sqrt
|
|
475
|
+
#define c_sqrt sqrt
|
|
476
|
+
#endif
|
|
477
|
+
#ifndef c_srand
|
|
478
|
+
#define c_srand srand
|
|
479
|
+
#endif
|
|
480
|
+
#ifndef c_tan
|
|
481
|
+
#define c_tan tan
|
|
482
|
+
#endif
|
|
483
|
+
#ifndef c_tanh
|
|
484
|
+
#define c_tanh tanh
|
|
485
|
+
#endif
|
|
486
|
+
#ifndef c_trunc
|
|
487
|
+
#define c_trunc trunc
|
|
488
|
+
#endif
|
|
489
|
+
|
|
490
|
+
/* STRING */
|
|
491
|
+
|
|
492
|
+
#ifndef c_memcpy
|
|
493
|
+
#define c_memcpy memcpy
|
|
494
|
+
#endif
|
|
495
|
+
#ifndef c_memmove
|
|
496
|
+
#define c_memmove memmove
|
|
497
|
+
#endif
|
|
498
|
+
#ifndef c_memset
|
|
499
|
+
#define c_memset memset
|
|
500
|
+
#endif
|
|
501
|
+
#ifndef c_memcmp
|
|
502
|
+
#define c_memcmp memcmp
|
|
503
|
+
#endif
|
|
504
|
+
#ifndef c_strcat
|
|
505
|
+
#define c_strcat strcat
|
|
506
|
+
#endif
|
|
507
|
+
#ifndef c_strchr
|
|
508
|
+
#define c_strchr strchr
|
|
509
|
+
#endif
|
|
510
|
+
#ifndef c_strcmp
|
|
511
|
+
#define c_strcmp strcmp
|
|
512
|
+
#endif
|
|
513
|
+
#ifndef c_strcpy
|
|
514
|
+
#define c_strcpy strcpy
|
|
515
|
+
#endif
|
|
516
|
+
#ifndef c_strlen
|
|
517
|
+
#define c_strlen strlen
|
|
518
|
+
#endif
|
|
519
|
+
#ifndef c_strncat
|
|
520
|
+
#define c_strncat strncat
|
|
521
|
+
#endif
|
|
522
|
+
#ifndef c_strncmp
|
|
523
|
+
#define c_strncmp strncmp
|
|
524
|
+
#endif
|
|
525
|
+
#ifndef c_strncpy
|
|
526
|
+
#define c_strncpy strncpy
|
|
527
|
+
#endif
|
|
528
|
+
#ifndef c_strstr
|
|
529
|
+
#define c_strstr strstr
|
|
530
|
+
#endif
|
|
531
|
+
#ifndef c_strrchr
|
|
532
|
+
#define c_strrchr strrchr
|
|
533
|
+
#endif
|
|
534
|
+
#ifndef c_strcspn
|
|
535
|
+
#define c_strcspn strcspn
|
|
536
|
+
#endif
|
|
537
|
+
#ifndef c_strspn
|
|
538
|
+
#define c_strspn strspn
|
|
539
|
+
#endif
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
/* READ MEMORY */
|
|
543
|
+
|
|
544
|
+
#ifndef c_read8
|
|
545
|
+
#define c_read8(POINTER) *((txU1*)(POINTER))
|
|
546
|
+
#endif
|
|
547
|
+
#ifndef c_read16
|
|
548
|
+
#define c_read16(POINTER) *((txU2*)(POINTER))
|
|
549
|
+
#endif
|
|
550
|
+
#ifndef c_read32
|
|
551
|
+
#define c_read32(POINTER) *((txU4*)(POINTER))
|
|
552
|
+
#endif
|
|
553
|
+
#ifndef c_read16be
|
|
554
|
+
#if mxBigEndian
|
|
555
|
+
#define c_read16be(POINTER) *((txU2*)(POINTER))
|
|
556
|
+
#else
|
|
557
|
+
#define c_read16be(POINTER) ((((txU2)((txU1*)(POINTER))[0]) << 8) | ((txU2)((txU1*)(POINTER))[1]))
|
|
558
|
+
#endif
|
|
559
|
+
#endif
|
|
560
|
+
#ifndef c_read32be
|
|
561
|
+
#if mxBigEndian
|
|
562
|
+
#define c_read32be(POINTER) *((txU4*)(POINTER))
|
|
563
|
+
#else
|
|
564
|
+
#define c_read32be(POINTER) ((((txU4)((txU1*)(POINTER))[0]) << 24) | (((txU4)((txU1*)(POINTER))[1]) << 16) | (((txU4)((txU1*)(POINTER))[2]) << 8) | ((txU4)((txU1*)(POINTER))[3]))
|
|
565
|
+
#endif
|
|
566
|
+
#endif
|
|
567
|
+
|
|
568
|
+
#ifndef mxGetKeySlotID
|
|
569
|
+
#define mxGetKeySlotID(SLOT) (SLOT)->ID
|
|
570
|
+
#endif
|
|
571
|
+
#ifndef mxGetKeySlotKind
|
|
572
|
+
#define mxGetKeySlotKind(SLOT) (SLOT)->kind
|
|
573
|
+
#endif
|
|
574
|
+
|
|
575
|
+
#ifndef mxSeparator
|
|
576
|
+
#if mxWindows
|
|
577
|
+
#define mxSeparator '\\'
|
|
578
|
+
#else
|
|
579
|
+
#define mxSeparator '/'
|
|
580
|
+
#endif
|
|
581
|
+
#endif
|
|
582
|
+
|
|
583
|
+
#ifndef C_PATH_MAX
|
|
584
|
+
#if mxWindows
|
|
585
|
+
#define C_PATH_MAX _MAX_PATH
|
|
586
|
+
#else
|
|
587
|
+
#include <limits.h>
|
|
588
|
+
#define C_PATH_MAX PATH_MAX
|
|
589
|
+
#endif
|
|
590
|
+
#endif
|
|
591
|
+
|
|
592
|
+
#if mxWindows
|
|
593
|
+
#define C_ENOMEM ERROR_NOT_ENOUGH_MEMORY
|
|
594
|
+
#define C_EINVAL ERROR_INVALID_DATA
|
|
595
|
+
#else
|
|
596
|
+
#include <errno.h>
|
|
597
|
+
#include <sys/stat.h>
|
|
598
|
+
#define C_ENOMEM ENOMEM
|
|
599
|
+
#define C_EINVAL EINVAL
|
|
600
|
+
#endif
|
|
601
|
+
|
|
602
|
+
#ifdef mxParse
|
|
603
|
+
#if mxWindows
|
|
604
|
+
#ifdef __cplusplus
|
|
605
|
+
extern "C" {
|
|
606
|
+
#endif
|
|
607
|
+
extern char* c_realpath(const char* path, char* real);
|
|
608
|
+
#ifdef __cplusplus
|
|
609
|
+
}
|
|
610
|
+
#endif
|
|
611
|
+
#define mxParserThrowElse(_ASSERTION) { if (!(_ASSERTION)) { parser->error = GetLastError(); c_longjmp(parser->firstJump->jmp_buf, 1); } }
|
|
612
|
+
#else
|
|
613
|
+
#define c_realpath realpath
|
|
614
|
+
#define mxParserThrowElse(_ASSERTION) { if (!(_ASSERTION)) { parser->error = errno; c_longjmp(parser->firstJump->jmp_buf, 1); } }
|
|
615
|
+
#endif
|
|
616
|
+
#endif
|
|
617
|
+
|
|
618
|
+
#endif /* __XSPLATFORM__ */
|