diff options
author | Aaron Seigo <aseigo@kde.org> | 2014-12-07 10:08:07 +0100 |
---|---|---|
committer | Aaron Seigo <aseigo@kde.org> | 2014-12-11 01:07:08 +0100 |
commit | 9ee8378d393778ac67314be7ea8d5bcbaeee9ee0 (patch) | |
tree | cf93471a69f9f4bbb4940de55ae134106fcd8380 /common/unqlite/jx9_const.c | |
parent | ee6f068dff6b15441e553ffbfb2bf8aa97b26f57 (diff) | |
download | sink-9ee8378d393778ac67314be7ea8d5bcbaeee9ee0.tar.gz sink-9ee8378d393778ac67314be7ea8d5bcbaeee9ee0.zip |
try out unqlite
Diffstat (limited to 'common/unqlite/jx9_const.c')
-rw-r--r-- | common/unqlite/jx9_const.c | 1423 |
1 files changed, 1423 insertions, 0 deletions
diff --git a/common/unqlite/jx9_const.c b/common/unqlite/jx9_const.c new file mode 100644 index 0000000..37328a0 --- /dev/null +++ b/common/unqlite/jx9_const.c | |||
@@ -0,0 +1,1423 @@ | |||
1 | /* | ||
2 | * Symisc JX9: A Highly Efficient Embeddable Scripting Engine Based on JSON. | ||
3 | * Copyright (C) 2012-2013, Symisc Systems http://jx9.symisc.net/ | ||
4 | * Version 1.7.2 | ||
5 | * For information on licensing, redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES | ||
6 | * please contact Symisc Systems via: | ||
7 | * legal@symisc.net | ||
8 | * licensing@symisc.net | ||
9 | * contact@symisc.net | ||
10 | * or visit: | ||
11 | * http://jx9.symisc.net/ | ||
12 | */ | ||
13 | /* $SymiscID: const.c v1.7 Win7 2012-12-13 00:01 stable <chm@symisc.net> $ */ | ||
14 | #ifndef JX9_AMALGAMATION | ||
15 | #include "jx9Int.h" | ||
16 | #endif | ||
17 | /* This file implement built-in constants for the JX9 engine. */ | ||
18 | /* | ||
19 | * JX9_VERSION | ||
20 | * __JX9__ | ||
21 | * Expand the current version of the JX9 engine. | ||
22 | */ | ||
23 | static void JX9_VER_Const(jx9_value *pVal, void *pUnused) | ||
24 | { | ||
25 | SXUNUSED(pUnused); | ||
26 | jx9_value_string(pVal, jx9_lib_signature(), -1/*Compute length automatically*/); | ||
27 | } | ||
28 | #ifdef __WINNT__ | ||
29 | #include <Windows.h> | ||
30 | #elif defined(__UNIXES__) | ||
31 | #include <sys/utsname.h> | ||
32 | #endif | ||
33 | /* | ||
34 | * JX9_OS | ||
35 | * __OS__ | ||
36 | * Expand the name of the host Operating System. | ||
37 | */ | ||
38 | static void JX9_OS_Const(jx9_value *pVal, void *pUnused) | ||
39 | { | ||
40 | #if defined(__WINNT__) | ||
41 | jx9_value_string(pVal, "WinNT", (int)sizeof("WinNT")-1); | ||
42 | #elif defined(__UNIXES__) | ||
43 | struct utsname sInfo; | ||
44 | if( uname(&sInfo) != 0 ){ | ||
45 | jx9_value_string(pVal, "Unix", (int)sizeof("Unix")-1); | ||
46 | }else{ | ||
47 | jx9_value_string(pVal, sInfo.sysname, -1); | ||
48 | } | ||
49 | #else | ||
50 | jx9_value_string(pVal,"Host OS", (int)sizeof("Host OS")-1); | ||
51 | #endif | ||
52 | SXUNUSED(pUnused); | ||
53 | } | ||
54 | /* | ||
55 | * JX9_EOL | ||
56 | * Expand the correct 'End Of Line' symbol for this platform. | ||
57 | */ | ||
58 | static void JX9_EOL_Const(jx9_value *pVal, void *pUnused) | ||
59 | { | ||
60 | SXUNUSED(pUnused); | ||
61 | #ifdef __WINNT__ | ||
62 | jx9_value_string(pVal, "\r\n", (int)sizeof("\r\n")-1); | ||
63 | #else | ||
64 | jx9_value_string(pVal, "\n", (int)sizeof(char)); | ||
65 | #endif | ||
66 | } | ||
67 | /* | ||
68 | * JX9_INT_MAX | ||
69 | * Expand the largest integer supported. | ||
70 | * Note that JX9 deals with 64-bit integer for all platforms. | ||
71 | */ | ||
72 | static void JX9_INTMAX_Const(jx9_value *pVal, void *pUnused) | ||
73 | { | ||
74 | SXUNUSED(pUnused); | ||
75 | jx9_value_int64(pVal, SXI64_HIGH); | ||
76 | } | ||
77 | /* | ||
78 | * JX9_INT_SIZE | ||
79 | * Expand the size in bytes of a 64-bit integer. | ||
80 | */ | ||
81 | static void JX9_INTSIZE_Const(jx9_value *pVal, void *pUnused) | ||
82 | { | ||
83 | SXUNUSED(pUnused); | ||
84 | jx9_value_int64(pVal, sizeof(sxi64)); | ||
85 | } | ||
86 | /* | ||
87 | * DIRECTORY_SEPARATOR. | ||
88 | * Expand the directory separator character. | ||
89 | */ | ||
90 | static void JX9_DIRSEP_Const(jx9_value *pVal, void *pUnused) | ||
91 | { | ||
92 | SXUNUSED(pUnused); | ||
93 | #ifdef __WINNT__ | ||
94 | jx9_value_string(pVal, "\\", (int)sizeof(char)); | ||
95 | #else | ||
96 | jx9_value_string(pVal, "/", (int)sizeof(char)); | ||
97 | #endif | ||
98 | } | ||
99 | /* | ||
100 | * PATH_SEPARATOR. | ||
101 | * Expand the path separator character. | ||
102 | */ | ||
103 | static void JX9_PATHSEP_Const(jx9_value *pVal, void *pUnused) | ||
104 | { | ||
105 | SXUNUSED(pUnused); | ||
106 | #ifdef __WINNT__ | ||
107 | jx9_value_string(pVal, ";", (int)sizeof(char)); | ||
108 | #else | ||
109 | jx9_value_string(pVal, ":", (int)sizeof(char)); | ||
110 | #endif | ||
111 | } | ||
112 | #ifndef __WINNT__ | ||
113 | #include <time.h> | ||
114 | #endif | ||
115 | /* | ||
116 | * __TIME__ | ||
117 | * Expand the current time (GMT). | ||
118 | */ | ||
119 | static void JX9_TIME_Const(jx9_value *pVal, void *pUnused) | ||
120 | { | ||
121 | Sytm sTm; | ||
122 | #ifdef __WINNT__ | ||
123 | SYSTEMTIME sOS; | ||
124 | GetSystemTime(&sOS); | ||
125 | SYSTEMTIME_TO_SYTM(&sOS, &sTm); | ||
126 | #else | ||
127 | struct tm *pTm; | ||
128 | time_t t; | ||
129 | time(&t); | ||
130 | pTm = gmtime(&t); | ||
131 | STRUCT_TM_TO_SYTM(pTm, &sTm); | ||
132 | #endif | ||
133 | SXUNUSED(pUnused); /* cc warning */ | ||
134 | /* Expand */ | ||
135 | jx9_value_string_format(pVal, "%02d:%02d:%02d", sTm.tm_hour, sTm.tm_min, sTm.tm_sec); | ||
136 | } | ||
137 | /* | ||
138 | * __DATE__ | ||
139 | * Expand the current date in the ISO-8601 format. | ||
140 | */ | ||
141 | static void JX9_DATE_Const(jx9_value *pVal, void *pUnused) | ||
142 | { | ||
143 | Sytm sTm; | ||
144 | #ifdef __WINNT__ | ||
145 | SYSTEMTIME sOS; | ||
146 | GetSystemTime(&sOS); | ||
147 | SYSTEMTIME_TO_SYTM(&sOS, &sTm); | ||
148 | #else | ||
149 | struct tm *pTm; | ||
150 | time_t t; | ||
151 | time(&t); | ||
152 | pTm = gmtime(&t); | ||
153 | STRUCT_TM_TO_SYTM(pTm, &sTm); | ||
154 | #endif | ||
155 | SXUNUSED(pUnused); /* cc warning */ | ||
156 | /* Expand */ | ||
157 | jx9_value_string_format(pVal, "%04d-%02d-%02d", sTm.tm_year, sTm.tm_mon+1, sTm.tm_mday); | ||
158 | } | ||
159 | /* | ||
160 | * __FILE__ | ||
161 | * Path of the processed script. | ||
162 | */ | ||
163 | static void JX9_FILE_Const(jx9_value *pVal, void *pUserData) | ||
164 | { | ||
165 | jx9_vm *pVm = (jx9_vm *)pUserData; | ||
166 | SyString *pFile; | ||
167 | /* Peek the top entry */ | ||
168 | pFile = (SyString *)SySetPeek(&pVm->aFiles); | ||
169 | if( pFile == 0 ){ | ||
170 | /* Expand the magic word: ":MEMORY:" */ | ||
171 | jx9_value_string(pVal, ":MEMORY:", (int)sizeof(":MEMORY:")-1); | ||
172 | }else{ | ||
173 | jx9_value_string(pVal, pFile->zString, pFile->nByte); | ||
174 | } | ||
175 | } | ||
176 | /* | ||
177 | * __DIR__ | ||
178 | * Directory holding the processed script. | ||
179 | */ | ||
180 | static void JX9_DIR_Const(jx9_value *pVal, void *pUserData) | ||
181 | { | ||
182 | jx9_vm *pVm = (jx9_vm *)pUserData; | ||
183 | SyString *pFile; | ||
184 | /* Peek the top entry */ | ||
185 | pFile = (SyString *)SySetPeek(&pVm->aFiles); | ||
186 | if( pFile == 0 ){ | ||
187 | /* Expand the magic word: ":MEMORY:" */ | ||
188 | jx9_value_string(pVal, ":MEMORY:", (int)sizeof(":MEMORY:")-1); | ||
189 | }else{ | ||
190 | if( pFile->nByte > 0 ){ | ||
191 | const char *zDir; | ||
192 | int nLen; | ||
193 | zDir = jx9ExtractDirName(pFile->zString, (int)pFile->nByte, &nLen); | ||
194 | jx9_value_string(pVal, zDir, nLen); | ||
195 | }else{ | ||
196 | /* Expand '.' as the current directory*/ | ||
197 | jx9_value_string(pVal, ".", (int)sizeof(char)); | ||
198 | } | ||
199 | } | ||
200 | } | ||
201 | /* | ||
202 | * E_ERROR | ||
203 | * Expands 1 | ||
204 | */ | ||
205 | static void JX9_E_ERROR_Const(jx9_value *pVal, void *pUserData) | ||
206 | { | ||
207 | jx9_value_int(pVal, 1); | ||
208 | SXUNUSED(pUserData); | ||
209 | } | ||
210 | /* | ||
211 | * E_WARNING | ||
212 | * Expands 2 | ||
213 | */ | ||
214 | static void JX9_E_WARNING_Const(jx9_value *pVal, void *pUserData) | ||
215 | { | ||
216 | jx9_value_int(pVal, 2); | ||
217 | SXUNUSED(pUserData); | ||
218 | } | ||
219 | /* | ||
220 | * E_PARSE | ||
221 | * Expands 4 | ||
222 | */ | ||
223 | static void JX9_E_PARSE_Const(jx9_value *pVal, void *pUserData) | ||
224 | { | ||
225 | jx9_value_int(pVal, 4); | ||
226 | SXUNUSED(pUserData); | ||
227 | } | ||
228 | /* | ||
229 | * E_NOTICE | ||
230 | * Expands 8 | ||
231 | */ | ||
232 | static void JX9_E_NOTICE_Const(jx9_value *pVal, void *pUserData) | ||
233 | { | ||
234 | jx9_value_int(pVal, 8); | ||
235 | SXUNUSED(pUserData); | ||
236 | } | ||
237 | /* | ||
238 | * CASE_LOWER | ||
239 | * Expands 0. | ||
240 | */ | ||
241 | static void JX9_CASE_LOWER_Const(jx9_value *pVal, void *pUserData) | ||
242 | { | ||
243 | jx9_value_int(pVal, 0); | ||
244 | SXUNUSED(pUserData); | ||
245 | } | ||
246 | /* | ||
247 | * CASE_UPPER | ||
248 | * Expands 1. | ||
249 | */ | ||
250 | static void JX9_CASE_UPPER_Const(jx9_value *pVal, void *pUserData) | ||
251 | { | ||
252 | jx9_value_int(pVal, 1); | ||
253 | SXUNUSED(pUserData); | ||
254 | } | ||
255 | /* | ||
256 | * STR_PAD_LEFT | ||
257 | * Expands 0. | ||
258 | */ | ||
259 | static void JX9_STR_PAD_LEFT_Const(jx9_value *pVal, void *pUserData) | ||
260 | { | ||
261 | jx9_value_int(pVal, 0); | ||
262 | SXUNUSED(pUserData); | ||
263 | } | ||
264 | /* | ||
265 | * STR_PAD_RIGHT | ||
266 | * Expands 1. | ||
267 | */ | ||
268 | static void JX9_STR_PAD_RIGHT_Const(jx9_value *pVal, void *pUserData) | ||
269 | { | ||
270 | jx9_value_int(pVal, 1); | ||
271 | SXUNUSED(pUserData); | ||
272 | } | ||
273 | /* | ||
274 | * STR_PAD_BOTH | ||
275 | * Expands 2. | ||
276 | */ | ||
277 | static void JX9_STR_PAD_BOTH_Const(jx9_value *pVal, void *pUserData) | ||
278 | { | ||
279 | jx9_value_int(pVal, 2); | ||
280 | SXUNUSED(pUserData); | ||
281 | } | ||
282 | /* | ||
283 | * COUNT_NORMAL | ||
284 | * Expands 0 | ||
285 | */ | ||
286 | static void JX9_COUNT_NORMAL_Const(jx9_value *pVal, void *pUserData) | ||
287 | { | ||
288 | jx9_value_int(pVal, 0); | ||
289 | SXUNUSED(pUserData); | ||
290 | } | ||
291 | /* | ||
292 | * COUNT_RECURSIVE | ||
293 | * Expands 1. | ||
294 | */ | ||
295 | static void JX9_COUNT_RECURSIVE_Const(jx9_value *pVal, void *pUserData) | ||
296 | { | ||
297 | jx9_value_int(pVal, 1); | ||
298 | SXUNUSED(pUserData); | ||
299 | } | ||
300 | /* | ||
301 | * SORT_ASC | ||
302 | * Expands 1. | ||
303 | */ | ||
304 | static void JX9_SORT_ASC_Const(jx9_value *pVal, void *pUserData) | ||
305 | { | ||
306 | jx9_value_int(pVal, 1); | ||
307 | SXUNUSED(pUserData); | ||
308 | } | ||
309 | /* | ||
310 | * SORT_DESC | ||
311 | * Expands 2. | ||
312 | */ | ||
313 | static void JX9_SORT_DESC_Const(jx9_value *pVal, void *pUserData) | ||
314 | { | ||
315 | jx9_value_int(pVal, 2); | ||
316 | SXUNUSED(pUserData); | ||
317 | } | ||
318 | /* | ||
319 | * SORT_REGULAR | ||
320 | * Expands 3. | ||
321 | */ | ||
322 | static void JX9_SORT_REG_Const(jx9_value *pVal, void *pUserData) | ||
323 | { | ||
324 | jx9_value_int(pVal, 3); | ||
325 | SXUNUSED(pUserData); | ||
326 | } | ||
327 | /* | ||
328 | * SORT_NUMERIC | ||
329 | * Expands 4. | ||
330 | */ | ||
331 | static void JX9_SORT_NUMERIC_Const(jx9_value *pVal, void *pUserData) | ||
332 | { | ||
333 | jx9_value_int(pVal, 4); | ||
334 | SXUNUSED(pUserData); | ||
335 | } | ||
336 | /* | ||
337 | * SORT_STRING | ||
338 | * Expands 5. | ||
339 | */ | ||
340 | static void JX9_SORT_STRING_Const(jx9_value *pVal, void *pUserData) | ||
341 | { | ||
342 | jx9_value_int(pVal, 5); | ||
343 | SXUNUSED(pUserData); | ||
344 | } | ||
345 | /* | ||
346 | * JX9_ROUND_HALF_UP | ||
347 | * Expands 1. | ||
348 | */ | ||
349 | static void JX9_JX9_ROUND_HALF_UP_Const(jx9_value *pVal, void *pUserData) | ||
350 | { | ||
351 | jx9_value_int(pVal, 1); | ||
352 | SXUNUSED(pUserData); | ||
353 | } | ||
354 | /* | ||
355 | * SJX9_ROUND_HALF_DOWN | ||
356 | * Expands 2. | ||
357 | */ | ||
358 | static void JX9_JX9_ROUND_HALF_DOWN_Const(jx9_value *pVal, void *pUserData) | ||
359 | { | ||
360 | jx9_value_int(pVal, 2); | ||
361 | SXUNUSED(pUserData); | ||
362 | } | ||
363 | /* | ||
364 | * JX9_ROUND_HALF_EVEN | ||
365 | * Expands 3. | ||
366 | */ | ||
367 | static void JX9_JX9_ROUND_HALF_EVEN_Const(jx9_value *pVal, void *pUserData) | ||
368 | { | ||
369 | jx9_value_int(pVal, 3); | ||
370 | SXUNUSED(pUserData); | ||
371 | } | ||
372 | /* | ||
373 | * JX9_ROUND_HALF_ODD | ||
374 | * Expands 4. | ||
375 | */ | ||
376 | static void JX9_JX9_ROUND_HALF_ODD_Const(jx9_value *pVal, void *pUserData) | ||
377 | { | ||
378 | jx9_value_int(pVal, 4); | ||
379 | SXUNUSED(pUserData); | ||
380 | } | ||
381 | #ifdef JX9_ENABLE_MATH_FUNC | ||
382 | /* | ||
383 | * PI | ||
384 | * Expand the value of pi. | ||
385 | */ | ||
386 | static void JX9_M_PI_Const(jx9_value *pVal, void *pUserData) | ||
387 | { | ||
388 | SXUNUSED(pUserData); /* cc warning */ | ||
389 | jx9_value_double(pVal, JX9_PI); | ||
390 | } | ||
391 | /* | ||
392 | * M_E | ||
393 | * Expand 2.7182818284590452354 | ||
394 | */ | ||
395 | static void JX9_M_E_Const(jx9_value *pVal, void *pUserData) | ||
396 | { | ||
397 | SXUNUSED(pUserData); /* cc warning */ | ||
398 | jx9_value_double(pVal, 2.7182818284590452354); | ||
399 | } | ||
400 | /* | ||
401 | * M_LOG2E | ||
402 | * Expand 2.7182818284590452354 | ||
403 | */ | ||
404 | static void JX9_M_LOG2E_Const(jx9_value *pVal, void *pUserData) | ||
405 | { | ||
406 | SXUNUSED(pUserData); /* cc warning */ | ||
407 | jx9_value_double(pVal, 1.4426950408889634074); | ||
408 | } | ||
409 | /* | ||
410 | * M_LOG10E | ||
411 | * Expand 0.4342944819032518276 | ||
412 | */ | ||
413 | static void JX9_M_LOG10E_Const(jx9_value *pVal, void *pUserData) | ||
414 | { | ||
415 | SXUNUSED(pUserData); /* cc warning */ | ||
416 | jx9_value_double(pVal, 0.4342944819032518276); | ||
417 | } | ||
418 | /* | ||
419 | * M_LN2 | ||
420 | * Expand 0.69314718055994530942 | ||
421 | */ | ||
422 | static void JX9_M_LN2_Const(jx9_value *pVal, void *pUserData) | ||
423 | { | ||
424 | SXUNUSED(pUserData); /* cc warning */ | ||
425 | jx9_value_double(pVal, 0.69314718055994530942); | ||
426 | } | ||
427 | /* | ||
428 | * M_LN10 | ||
429 | * Expand 2.30258509299404568402 | ||
430 | */ | ||
431 | static void JX9_M_LN10_Const(jx9_value *pVal, void *pUserData) | ||
432 | { | ||
433 | SXUNUSED(pUserData); /* cc warning */ | ||
434 | jx9_value_double(pVal, 2.30258509299404568402); | ||
435 | } | ||
436 | /* | ||
437 | * M_PI_2 | ||
438 | * Expand 1.57079632679489661923 | ||
439 | */ | ||
440 | static void JX9_M_PI_2_Const(jx9_value *pVal, void *pUserData) | ||
441 | { | ||
442 | SXUNUSED(pUserData); /* cc warning */ | ||
443 | jx9_value_double(pVal, 1.57079632679489661923); | ||
444 | } | ||
445 | /* | ||
446 | * M_PI_4 | ||
447 | * Expand 0.78539816339744830962 | ||
448 | */ | ||
449 | static void JX9_M_PI_4_Const(jx9_value *pVal, void *pUserData) | ||
450 | { | ||
451 | SXUNUSED(pUserData); /* cc warning */ | ||
452 | jx9_value_double(pVal, 0.78539816339744830962); | ||
453 | } | ||
454 | /* | ||
455 | * M_1_PI | ||
456 | * Expand 0.31830988618379067154 | ||
457 | */ | ||
458 | static void JX9_M_1_PI_Const(jx9_value *pVal, void *pUserData) | ||
459 | { | ||
460 | SXUNUSED(pUserData); /* cc warning */ | ||
461 | jx9_value_double(pVal, 0.31830988618379067154); | ||
462 | } | ||
463 | /* | ||
464 | * M_2_PI | ||
465 | * Expand 0.63661977236758134308 | ||
466 | */ | ||
467 | static void JX9_M_2_PI_Const(jx9_value *pVal, void *pUserData) | ||
468 | { | ||
469 | SXUNUSED(pUserData); /* cc warning */ | ||
470 | jx9_value_double(pVal, 0.63661977236758134308); | ||
471 | } | ||
472 | /* | ||
473 | * M_SQRTPI | ||
474 | * Expand 1.77245385090551602729 | ||
475 | */ | ||
476 | static void JX9_M_SQRTPI_Const(jx9_value *pVal, void *pUserData) | ||
477 | { | ||
478 | SXUNUSED(pUserData); /* cc warning */ | ||
479 | jx9_value_double(pVal, 1.77245385090551602729); | ||
480 | } | ||
481 | /* | ||
482 | * M_2_SQRTPI | ||
483 | * Expand 1.12837916709551257390 | ||
484 | */ | ||
485 | static void JX9_M_2_SQRTPI_Const(jx9_value *pVal, void *pUserData) | ||
486 | { | ||
487 | SXUNUSED(pUserData); /* cc warning */ | ||
488 | jx9_value_double(pVal, 1.12837916709551257390); | ||
489 | } | ||
490 | /* | ||
491 | * M_SQRT2 | ||
492 | * Expand 1.41421356237309504880 | ||
493 | */ | ||
494 | static void JX9_M_SQRT2_Const(jx9_value *pVal, void *pUserData) | ||
495 | { | ||
496 | SXUNUSED(pUserData); /* cc warning */ | ||
497 | jx9_value_double(pVal, 1.41421356237309504880); | ||
498 | } | ||
499 | /* | ||
500 | * M_SQRT3 | ||
501 | * Expand 1.73205080756887729352 | ||
502 | */ | ||
503 | static void JX9_M_SQRT3_Const(jx9_value *pVal, void *pUserData) | ||
504 | { | ||
505 | SXUNUSED(pUserData); /* cc warning */ | ||
506 | jx9_value_double(pVal, 1.73205080756887729352); | ||
507 | } | ||
508 | /* | ||
509 | * M_SQRT1_2 | ||
510 | * Expand 0.70710678118654752440 | ||
511 | */ | ||
512 | static void JX9_M_SQRT1_2_Const(jx9_value *pVal, void *pUserData) | ||
513 | { | ||
514 | SXUNUSED(pUserData); /* cc warning */ | ||
515 | jx9_value_double(pVal, 0.70710678118654752440); | ||
516 | } | ||
517 | /* | ||
518 | * M_LNPI | ||
519 | * Expand 1.14472988584940017414 | ||
520 | */ | ||
521 | static void JX9_M_LNPI_Const(jx9_value *pVal, void *pUserData) | ||
522 | { | ||
523 | SXUNUSED(pUserData); /* cc warning */ | ||
524 | jx9_value_double(pVal, 1.14472988584940017414); | ||
525 | } | ||
526 | /* | ||
527 | * M_EULER | ||
528 | * Expand 0.57721566490153286061 | ||
529 | */ | ||
530 | static void JX9_M_EULER_Const(jx9_value *pVal, void *pUserData) | ||
531 | { | ||
532 | SXUNUSED(pUserData); /* cc warning */ | ||
533 | jx9_value_double(pVal, 0.57721566490153286061); | ||
534 | } | ||
535 | #endif /* JX9_DISABLE_BUILTIN_MATH */ | ||
536 | /* | ||
537 | * DATE_ATOM | ||
538 | * Expand Atom (example: 2005-08-15T15:52:01+00:00) | ||
539 | */ | ||
540 | static void JX9_DATE_ATOM_Const(jx9_value *pVal, void *pUserData) | ||
541 | { | ||
542 | SXUNUSED(pUserData); /* cc warning */ | ||
543 | jx9_value_string(pVal, "Y-m-d\\TH:i:sP", -1/*Compute length automatically*/); | ||
544 | } | ||
545 | /* | ||
546 | * DATE_COOKIE | ||
547 | * HTTP Cookies (example: Monday, 15-Aug-05 15:52:01 UTC) | ||
548 | */ | ||
549 | static void JX9_DATE_COOKIE_Const(jx9_value *pVal, void *pUserData) | ||
550 | { | ||
551 | SXUNUSED(pUserData); /* cc warning */ | ||
552 | jx9_value_string(pVal, "l, d-M-y H:i:s T", -1/*Compute length automatically*/); | ||
553 | } | ||
554 | /* | ||
555 | * DATE_ISO8601 | ||
556 | * ISO-8601 (example: 2005-08-15T15:52:01+0000) | ||
557 | */ | ||
558 | static void JX9_DATE_ISO8601_Const(jx9_value *pVal, void *pUserData) | ||
559 | { | ||
560 | SXUNUSED(pUserData); /* cc warning */ | ||
561 | jx9_value_string(pVal, "Y-m-d\\TH:i:sO", -1/*Compute length automatically*/); | ||
562 | } | ||
563 | /* | ||
564 | * DATE_RFC822 | ||
565 | * RFC 822 (example: Mon, 15 Aug 05 15:52:01 +0000) | ||
566 | */ | ||
567 | static void JX9_DATE_RFC822_Const(jx9_value *pVal, void *pUserData) | ||
568 | { | ||
569 | SXUNUSED(pUserData); /* cc warning */ | ||
570 | jx9_value_string(pVal, "D, d M y H:i:s O", -1/*Compute length automatically*/); | ||
571 | } | ||
572 | /* | ||
573 | * DATE_RFC850 | ||
574 | * RFC 850 (example: Monday, 15-Aug-05 15:52:01 UTC) | ||
575 | */ | ||
576 | static void JX9_DATE_RFC850_Const(jx9_value *pVal, void *pUserData) | ||
577 | { | ||
578 | SXUNUSED(pUserData); /* cc warning */ | ||
579 | jx9_value_string(pVal, "l, d-M-y H:i:s T", -1/*Compute length automatically*/); | ||
580 | } | ||
581 | /* | ||
582 | * DATE_RFC1036 | ||
583 | * RFC 1123 (example: Mon, 15 Aug 2005 15:52:01 +0000) | ||
584 | */ | ||
585 | static void JX9_DATE_RFC1036_Const(jx9_value *pVal, void *pUserData) | ||
586 | { | ||
587 | SXUNUSED(pUserData); /* cc warning */ | ||
588 | jx9_value_string(pVal, "D, d M y H:i:s O", -1/*Compute length automatically*/); | ||
589 | } | ||
590 | /* | ||
591 | * DATE_RFC1123 | ||
592 | * RFC 1123 (example: Mon, 15 Aug 2005 15:52:01 +0000) | ||
593 | */ | ||
594 | static void JX9_DATE_RFC1123_Const(jx9_value *pVal, void *pUserData) | ||
595 | { | ||
596 | SXUNUSED(pUserData); /* cc warning */ | ||
597 | jx9_value_string(pVal, "D, d M Y H:i:s O", -1/*Compute length automatically*/); | ||
598 | } | ||
599 | /* | ||
600 | * DATE_RFC2822 | ||
601 | * RFC 2822 (Mon, 15 Aug 2005 15:52:01 +0000) | ||
602 | */ | ||
603 | static void JX9_DATE_RFC2822_Const(jx9_value *pVal, void *pUserData) | ||
604 | { | ||
605 | SXUNUSED(pUserData); /* cc warning */ | ||
606 | jx9_value_string(pVal, "D, d M Y H:i:s O", -1/*Compute length automatically*/); | ||
607 | } | ||
608 | /* | ||
609 | * DATE_RSS | ||
610 | * RSS (Mon, 15 Aug 2005 15:52:01 +0000) | ||
611 | */ | ||
612 | static void JX9_DATE_RSS_Const(jx9_value *pVal, void *pUserData) | ||
613 | { | ||
614 | SXUNUSED(pUserData); /* cc warning */ | ||
615 | jx9_value_string(pVal, "D, d M Y H:i:s O", -1/*Compute length automatically*/); | ||
616 | } | ||
617 | /* | ||
618 | * DATE_W3C | ||
619 | * World Wide Web Consortium (example: 2005-08-15T15:52:01+00:00) | ||
620 | */ | ||
621 | static void JX9_DATE_W3C_Const(jx9_value *pVal, void *pUserData) | ||
622 | { | ||
623 | SXUNUSED(pUserData); /* cc warning */ | ||
624 | jx9_value_string(pVal, "Y-m-d\\TH:i:sP", -1/*Compute length automatically*/); | ||
625 | } | ||
626 | /* | ||
627 | * ENT_COMPAT | ||
628 | * Expand 0x01 (Must be a power of two) | ||
629 | */ | ||
630 | static void JX9_ENT_COMPAT_Const(jx9_value *pVal, void *pUserData) | ||
631 | { | ||
632 | SXUNUSED(pUserData); /* cc warning */ | ||
633 | jx9_value_int(pVal, 0x01); | ||
634 | } | ||
635 | /* | ||
636 | * ENT_QUOTES | ||
637 | * Expand 0x02 (Must be a power of two) | ||
638 | */ | ||
639 | static void JX9_ENT_QUOTES_Const(jx9_value *pVal, void *pUserData) | ||
640 | { | ||
641 | SXUNUSED(pUserData); /* cc warning */ | ||
642 | jx9_value_int(pVal, 0x02); | ||
643 | } | ||
644 | /* | ||
645 | * ENT_NOQUOTES | ||
646 | * Expand 0x04 (Must be a power of two) | ||
647 | */ | ||
648 | static void JX9_ENT_NOQUOTES_Const(jx9_value *pVal, void *pUserData) | ||
649 | { | ||
650 | SXUNUSED(pUserData); /* cc warning */ | ||
651 | jx9_value_int(pVal, 0x04); | ||
652 | } | ||
653 | /* | ||
654 | * ENT_IGNORE | ||
655 | * Expand 0x08 (Must be a power of two) | ||
656 | */ | ||
657 | static void JX9_ENT_IGNORE_Const(jx9_value *pVal, void *pUserData) | ||
658 | { | ||
659 | SXUNUSED(pUserData); /* cc warning */ | ||
660 | jx9_value_int(pVal, 0x08); | ||
661 | } | ||
662 | /* | ||
663 | * ENT_SUBSTITUTE | ||
664 | * Expand 0x10 (Must be a power of two) | ||
665 | */ | ||
666 | static void JX9_ENT_SUBSTITUTE_Const(jx9_value *pVal, void *pUserData) | ||
667 | { | ||
668 | SXUNUSED(pUserData); /* cc warning */ | ||
669 | jx9_value_int(pVal, 0x10); | ||
670 | } | ||
671 | /* | ||
672 | * ENT_DISALLOWED | ||
673 | * Expand 0x20 (Must be a power of two) | ||
674 | */ | ||
675 | static void JX9_ENT_DISALLOWED_Const(jx9_value *pVal, void *pUserData) | ||
676 | { | ||
677 | SXUNUSED(pUserData); /* cc warning */ | ||
678 | jx9_value_int(pVal, 0x20); | ||
679 | } | ||
680 | /* | ||
681 | * ENT_HTML401 | ||
682 | * Expand 0x40 (Must be a power of two) | ||
683 | */ | ||
684 | static void JX9_ENT_HTML401_Const(jx9_value *pVal, void *pUserData) | ||
685 | { | ||
686 | SXUNUSED(pUserData); /* cc warning */ | ||
687 | jx9_value_int(pVal, 0x40); | ||
688 | } | ||
689 | /* | ||
690 | * ENT_XML1 | ||
691 | * Expand 0x80 (Must be a power of two) | ||
692 | */ | ||
693 | static void JX9_ENT_XML1_Const(jx9_value *pVal, void *pUserData) | ||
694 | { | ||
695 | SXUNUSED(pUserData); /* cc warning */ | ||
696 | jx9_value_int(pVal, 0x80); | ||
697 | } | ||
698 | /* | ||
699 | * ENT_XHTML | ||
700 | * Expand 0x100 (Must be a power of two) | ||
701 | */ | ||
702 | static void JX9_ENT_XHTML_Const(jx9_value *pVal, void *pUserData) | ||
703 | { | ||
704 | SXUNUSED(pUserData); /* cc warning */ | ||
705 | jx9_value_int(pVal, 0x100); | ||
706 | } | ||
707 | /* | ||
708 | * ENT_HTML5 | ||
709 | * Expand 0x200 (Must be a power of two) | ||
710 | */ | ||
711 | static void JX9_ENT_HTML5_Const(jx9_value *pVal, void *pUserData) | ||
712 | { | ||
713 | SXUNUSED(pUserData); /* cc warning */ | ||
714 | jx9_value_int(pVal, 0x200); | ||
715 | } | ||
716 | /* | ||
717 | * ISO-8859-1 | ||
718 | * ISO_8859_1 | ||
719 | * Expand 1 | ||
720 | */ | ||
721 | static void JX9_ISO88591_Const(jx9_value *pVal, void *pUserData) | ||
722 | { | ||
723 | SXUNUSED(pUserData); /* cc warning */ | ||
724 | jx9_value_int(pVal, 1); | ||
725 | } | ||
726 | /* | ||
727 | * UTF-8 | ||
728 | * UTF8 | ||
729 | * Expand 2 | ||
730 | */ | ||
731 | static void JX9_UTF8_Const(jx9_value *pVal, void *pUserData) | ||
732 | { | ||
733 | SXUNUSED(pUserData); /* cc warning */ | ||
734 | jx9_value_int(pVal, 1); | ||
735 | } | ||
736 | /* | ||
737 | * HTML_ENTITIES | ||
738 | * Expand 1 | ||
739 | */ | ||
740 | static void JX9_HTML_ENTITIES_Const(jx9_value *pVal, void *pUserData) | ||
741 | { | ||
742 | SXUNUSED(pUserData); /* cc warning */ | ||
743 | jx9_value_int(pVal, 1); | ||
744 | } | ||
745 | /* | ||
746 | * HTML_SPECIALCHARS | ||
747 | * Expand 2 | ||
748 | */ | ||
749 | static void JX9_HTML_SPECIALCHARS_Const(jx9_value *pVal, void *pUserData) | ||
750 | { | ||
751 | SXUNUSED(pUserData); /* cc warning */ | ||
752 | jx9_value_int(pVal, 2); | ||
753 | } | ||
754 | /* | ||
755 | * JX9_URL_SCHEME. | ||
756 | * Expand 1 | ||
757 | */ | ||
758 | static void JX9_JX9_URL_SCHEME_Const(jx9_value *pVal, void *pUserData) | ||
759 | { | ||
760 | SXUNUSED(pUserData); /* cc warning */ | ||
761 | jx9_value_int(pVal, 1); | ||
762 | } | ||
763 | /* | ||
764 | * JX9_URL_HOST. | ||
765 | * Expand 2 | ||
766 | */ | ||
767 | static void JX9_JX9_URL_HOST_Const(jx9_value *pVal, void *pUserData) | ||
768 | { | ||
769 | SXUNUSED(pUserData); /* cc warning */ | ||
770 | jx9_value_int(pVal, 2); | ||
771 | } | ||
772 | /* | ||
773 | * JX9_URL_PORT. | ||
774 | * Expand 3 | ||
775 | */ | ||
776 | static void JX9_JX9_URL_PORT_Const(jx9_value *pVal, void *pUserData) | ||
777 | { | ||
778 | SXUNUSED(pUserData); /* cc warning */ | ||
779 | jx9_value_int(pVal, 3); | ||
780 | } | ||
781 | /* | ||
782 | * JX9_URL_USER. | ||
783 | * Expand 4 | ||
784 | */ | ||
785 | static void JX9_JX9_URL_USER_Const(jx9_value *pVal, void *pUserData) | ||
786 | { | ||
787 | SXUNUSED(pUserData); /* cc warning */ | ||
788 | jx9_value_int(pVal, 4); | ||
789 | } | ||
790 | /* | ||
791 | * JX9_URL_PASS. | ||
792 | * Expand 5 | ||
793 | */ | ||
794 | static void JX9_JX9_URL_PASS_Const(jx9_value *pVal, void *pUserData) | ||
795 | { | ||
796 | SXUNUSED(pUserData); /* cc warning */ | ||
797 | jx9_value_int(pVal, 5); | ||
798 | } | ||
799 | /* | ||
800 | * JX9_URL_PATH. | ||
801 | * Expand 6 | ||
802 | */ | ||
803 | static void JX9_JX9_URL_PATH_Const(jx9_value *pVal, void *pUserData) | ||
804 | { | ||
805 | SXUNUSED(pUserData); /* cc warning */ | ||
806 | jx9_value_int(pVal, 6); | ||
807 | } | ||
808 | /* | ||
809 | * JX9_URL_QUERY. | ||
810 | * Expand 7 | ||
811 | */ | ||
812 | static void JX9_JX9_URL_QUERY_Const(jx9_value *pVal, void *pUserData) | ||
813 | { | ||
814 | SXUNUSED(pUserData); /* cc warning */ | ||
815 | jx9_value_int(pVal, 7); | ||
816 | } | ||
817 | /* | ||
818 | * JX9_URL_FRAGMENT. | ||
819 | * Expand 8 | ||
820 | */ | ||
821 | static void JX9_JX9_URL_FRAGMENT_Const(jx9_value *pVal, void *pUserData) | ||
822 | { | ||
823 | SXUNUSED(pUserData); /* cc warning */ | ||
824 | jx9_value_int(pVal, 8); | ||
825 | } | ||
826 | /* | ||
827 | * JX9_QUERY_RFC1738 | ||
828 | * Expand 1 | ||
829 | */ | ||
830 | static void JX9_JX9_QUERY_RFC1738_Const(jx9_value *pVal, void *pUserData) | ||
831 | { | ||
832 | SXUNUSED(pUserData); /* cc warning */ | ||
833 | jx9_value_int(pVal, 1); | ||
834 | } | ||
835 | /* | ||
836 | * JX9_QUERY_RFC3986 | ||
837 | * Expand 1 | ||
838 | */ | ||
839 | static void JX9_JX9_QUERY_RFC3986_Const(jx9_value *pVal, void *pUserData) | ||
840 | { | ||
841 | SXUNUSED(pUserData); /* cc warning */ | ||
842 | jx9_value_int(pVal, 2); | ||
843 | } | ||
844 | /* | ||
845 | * FNM_NOESCAPE | ||
846 | * Expand 0x01 (Must be a power of two) | ||
847 | */ | ||
848 | static void JX9_FNM_NOESCAPE_Const(jx9_value *pVal, void *pUserData) | ||
849 | { | ||
850 | SXUNUSED(pUserData); /* cc warning */ | ||
851 | jx9_value_int(pVal, 0x01); | ||
852 | } | ||
853 | /* | ||
854 | * FNM_PATHNAME | ||
855 | * Expand 0x02 (Must be a power of two) | ||
856 | */ | ||
857 | static void JX9_FNM_PATHNAME_Const(jx9_value *pVal, void *pUserData) | ||
858 | { | ||
859 | SXUNUSED(pUserData); /* cc warning */ | ||
860 | jx9_value_int(pVal, 0x02); | ||
861 | } | ||
862 | /* | ||
863 | * FNM_PERIOD | ||
864 | * Expand 0x04 (Must be a power of two) | ||
865 | */ | ||
866 | static void JX9_FNM_PERIOD_Const(jx9_value *pVal, void *pUserData) | ||
867 | { | ||
868 | SXUNUSED(pUserData); /* cc warning */ | ||
869 | jx9_value_int(pVal, 0x04); | ||
870 | } | ||
871 | /* | ||
872 | * FNM_CASEFOLD | ||
873 | * Expand 0x08 (Must be a power of two) | ||
874 | */ | ||
875 | static void JX9_FNM_CASEFOLD_Const(jx9_value *pVal, void *pUserData) | ||
876 | { | ||
877 | SXUNUSED(pUserData); /* cc warning */ | ||
878 | jx9_value_int(pVal, 0x08); | ||
879 | } | ||
880 | /* | ||
881 | * PATHINFO_DIRNAME | ||
882 | * Expand 1. | ||
883 | */ | ||
884 | static void JX9_PATHINFO_DIRNAME_Const(jx9_value *pVal, void *pUserData) | ||
885 | { | ||
886 | SXUNUSED(pUserData); /* cc warning */ | ||
887 | jx9_value_int(pVal, 1); | ||
888 | } | ||
889 | /* | ||
890 | * PATHINFO_BASENAME | ||
891 | * Expand 2. | ||
892 | */ | ||
893 | static void JX9_PATHINFO_BASENAME_Const(jx9_value *pVal, void *pUserData) | ||
894 | { | ||
895 | SXUNUSED(pUserData); /* cc warning */ | ||
896 | jx9_value_int(pVal, 2); | ||
897 | } | ||
898 | /* | ||
899 | * PATHINFO_EXTENSION | ||
900 | * Expand 3. | ||
901 | */ | ||
902 | static void JX9_PATHINFO_EXTENSION_Const(jx9_value *pVal, void *pUserData) | ||
903 | { | ||
904 | SXUNUSED(pUserData); /* cc warning */ | ||
905 | jx9_value_int(pVal, 3); | ||
906 | } | ||
907 | /* | ||
908 | * PATHINFO_FILENAME | ||
909 | * Expand 4. | ||
910 | */ | ||
911 | static void JX9_PATHINFO_FILENAME_Const(jx9_value *pVal, void *pUserData) | ||
912 | { | ||
913 | SXUNUSED(pUserData); /* cc warning */ | ||
914 | jx9_value_int(pVal, 4); | ||
915 | } | ||
916 | /* | ||
917 | * ASSERT_ACTIVE. | ||
918 | * Expand the value of JX9_ASSERT_ACTIVE defined in jx9Int.h | ||
919 | */ | ||
920 | static void JX9_ASSERT_ACTIVE_Const(jx9_value *pVal, void *pUserData) | ||
921 | { | ||
922 | SXUNUSED(pUserData); /* cc warning */ | ||
923 | jx9_value_int(pVal, JX9_ASSERT_DISABLE); | ||
924 | } | ||
925 | /* | ||
926 | * ASSERT_WARNING. | ||
927 | * Expand the value of JX9_ASSERT_WARNING defined in jx9Int.h | ||
928 | */ | ||
929 | static void JX9_ASSERT_WARNING_Const(jx9_value *pVal, void *pUserData) | ||
930 | { | ||
931 | SXUNUSED(pUserData); /* cc warning */ | ||
932 | jx9_value_int(pVal, JX9_ASSERT_WARNING); | ||
933 | } | ||
934 | /* | ||
935 | * ASSERT_BAIL. | ||
936 | * Expand the value of JX9_ASSERT_BAIL defined in jx9Int.h | ||
937 | */ | ||
938 | static void JX9_ASSERT_BAIL_Const(jx9_value *pVal, void *pUserData) | ||
939 | { | ||
940 | SXUNUSED(pUserData); /* cc warning */ | ||
941 | jx9_value_int(pVal, JX9_ASSERT_BAIL); | ||
942 | } | ||
943 | /* | ||
944 | * ASSERT_QUIET_EVAL. | ||
945 | * Expand the value of JX9_ASSERT_QUIET_EVAL defined in jx9Int.h | ||
946 | */ | ||
947 | static void JX9_ASSERT_QUIET_EVAL_Const(jx9_value *pVal, void *pUserData) | ||
948 | { | ||
949 | SXUNUSED(pUserData); /* cc warning */ | ||
950 | jx9_value_int(pVal, JX9_ASSERT_QUIET_EVAL); | ||
951 | } | ||
952 | /* | ||
953 | * ASSERT_CALLBACK. | ||
954 | * Expand the value of JX9_ASSERT_CALLBACK defined in jx9Int.h | ||
955 | */ | ||
956 | static void JX9_ASSERT_CALLBACK_Const(jx9_value *pVal, void *pUserData) | ||
957 | { | ||
958 | SXUNUSED(pUserData); /* cc warning */ | ||
959 | jx9_value_int(pVal, JX9_ASSERT_CALLBACK); | ||
960 | } | ||
961 | /* | ||
962 | * SEEK_SET. | ||
963 | * Expand 0 | ||
964 | */ | ||
965 | static void JX9_SEEK_SET_Const(jx9_value *pVal, void *pUserData) | ||
966 | { | ||
967 | SXUNUSED(pUserData); /* cc warning */ | ||
968 | jx9_value_int(pVal, 0); | ||
969 | } | ||
970 | /* | ||
971 | * SEEK_CUR. | ||
972 | * Expand 1 | ||
973 | */ | ||
974 | static void JX9_SEEK_CUR_Const(jx9_value *pVal, void *pUserData) | ||
975 | { | ||
976 | SXUNUSED(pUserData); /* cc warning */ | ||
977 | jx9_value_int(pVal, 1); | ||
978 | } | ||
979 | /* | ||
980 | * SEEK_END. | ||
981 | * Expand 2 | ||
982 | */ | ||
983 | static void JX9_SEEK_END_Const(jx9_value *pVal, void *pUserData) | ||
984 | { | ||
985 | SXUNUSED(pUserData); /* cc warning */ | ||
986 | jx9_value_int(pVal, 2); | ||
987 | } | ||
988 | /* | ||
989 | * LOCK_SH. | ||
990 | * Expand 2 | ||
991 | */ | ||
992 | static void JX9_LOCK_SH_Const(jx9_value *pVal, void *pUserData) | ||
993 | { | ||
994 | SXUNUSED(pUserData); /* cc warning */ | ||
995 | jx9_value_int(pVal, 1); | ||
996 | } | ||
997 | /* | ||
998 | * LOCK_NB. | ||
999 | * Expand 5 | ||
1000 | */ | ||
1001 | static void JX9_LOCK_NB_Const(jx9_value *pVal, void *pUserData) | ||
1002 | { | ||
1003 | SXUNUSED(pUserData); /* cc warning */ | ||
1004 | jx9_value_int(pVal, 5); | ||
1005 | } | ||
1006 | /* | ||
1007 | * LOCK_EX. | ||
1008 | * Expand 0x01 (MUST BE A POWER OF TWO) | ||
1009 | */ | ||
1010 | static void JX9_LOCK_EX_Const(jx9_value *pVal, void *pUserData) | ||
1011 | { | ||
1012 | SXUNUSED(pUserData); /* cc warning */ | ||
1013 | jx9_value_int(pVal, 0x01); | ||
1014 | } | ||
1015 | /* | ||
1016 | * LOCK_UN. | ||
1017 | * Expand 0 | ||
1018 | */ | ||
1019 | static void JX9_LOCK_UN_Const(jx9_value *pVal, void *pUserData) | ||
1020 | { | ||
1021 | SXUNUSED(pUserData); /* cc warning */ | ||
1022 | jx9_value_int(pVal, 0); | ||
1023 | } | ||
1024 | /* | ||
1025 | * FILE_USE_INC_PATH | ||
1026 | * Expand 0x01 (Must be a power of two) | ||
1027 | */ | ||
1028 | static void JX9_FILE_USE_INCLUDE_PATH_Const(jx9_value *pVal, void *pUserData) | ||
1029 | { | ||
1030 | SXUNUSED(pUserData); /* cc warning */ | ||
1031 | jx9_value_int(pVal, 0x1); | ||
1032 | } | ||
1033 | /* | ||
1034 | * FILE_IGN_NL | ||
1035 | * Expand 0x02 (Must be a power of two) | ||
1036 | */ | ||
1037 | static void JX9_FILE_IGNORE_NEW_LINES_Const(jx9_value *pVal, void *pUserData) | ||
1038 | { | ||
1039 | SXUNUSED(pUserData); /* cc warning */ | ||
1040 | jx9_value_int(pVal, 0x2); | ||
1041 | } | ||
1042 | /* | ||
1043 | * FILE_SKIP_EL | ||
1044 | * Expand 0x04 (Must be a power of two) | ||
1045 | */ | ||
1046 | static void JX9_FILE_SKIP_EMPTY_LINES_Const(jx9_value *pVal, void *pUserData) | ||
1047 | { | ||
1048 | SXUNUSED(pUserData); /* cc warning */ | ||
1049 | jx9_value_int(pVal, 0x4); | ||
1050 | } | ||
1051 | /* | ||
1052 | * FILE_APPEND | ||
1053 | * Expand 0x08 (Must be a power of two) | ||
1054 | */ | ||
1055 | static void JX9_FILE_APPEND_Const(jx9_value *pVal, void *pUserData) | ||
1056 | { | ||
1057 | SXUNUSED(pUserData); /* cc warning */ | ||
1058 | jx9_value_int(pVal, 0x08); | ||
1059 | } | ||
1060 | /* | ||
1061 | * SCANDIR_SORT_ASCENDING | ||
1062 | * Expand 0 | ||
1063 | */ | ||
1064 | static void JX9_SCANDIR_SORT_ASCENDING_Const(jx9_value *pVal, void *pUserData) | ||
1065 | { | ||
1066 | SXUNUSED(pUserData); /* cc warning */ | ||
1067 | jx9_value_int(pVal, 0); | ||
1068 | } | ||
1069 | /* | ||
1070 | * SCANDIR_SORT_DESCENDING | ||
1071 | * Expand 1 | ||
1072 | */ | ||
1073 | static void JX9_SCANDIR_SORT_DESCENDING_Const(jx9_value *pVal, void *pUserData) | ||
1074 | { | ||
1075 | SXUNUSED(pUserData); /* cc warning */ | ||
1076 | jx9_value_int(pVal, 1); | ||
1077 | } | ||
1078 | /* | ||
1079 | * SCANDIR_SORT_NONE | ||
1080 | * Expand 2 | ||
1081 | */ | ||
1082 | static void JX9_SCANDIR_SORT_NONE_Const(jx9_value *pVal, void *pUserData) | ||
1083 | { | ||
1084 | SXUNUSED(pUserData); /* cc warning */ | ||
1085 | jx9_value_int(pVal, 2); | ||
1086 | } | ||
1087 | /* | ||
1088 | * GLOB_MARK | ||
1089 | * Expand 0x01 (must be a power of two) | ||
1090 | */ | ||
1091 | static void JX9_GLOB_MARK_Const(jx9_value *pVal, void *pUserData) | ||
1092 | { | ||
1093 | SXUNUSED(pUserData); /* cc warning */ | ||
1094 | jx9_value_int(pVal, 0x01); | ||
1095 | } | ||
1096 | /* | ||
1097 | * GLOB_NOSORT | ||
1098 | * Expand 0x02 (must be a power of two) | ||
1099 | */ | ||
1100 | static void JX9_GLOB_NOSORT_Const(jx9_value *pVal, void *pUserData) | ||
1101 | { | ||
1102 | SXUNUSED(pUserData); /* cc warning */ | ||
1103 | jx9_value_int(pVal, 0x02); | ||
1104 | } | ||
1105 | /* | ||
1106 | * GLOB_NOCHECK | ||
1107 | * Expand 0x04 (must be a power of two) | ||
1108 | */ | ||
1109 | static void JX9_GLOB_NOCHECK_Const(jx9_value *pVal, void *pUserData) | ||
1110 | { | ||
1111 | SXUNUSED(pUserData); /* cc warning */ | ||
1112 | jx9_value_int(pVal, 0x04); | ||
1113 | } | ||
1114 | /* | ||
1115 | * GLOB_NOESCAPE | ||
1116 | * Expand 0x08 (must be a power of two) | ||
1117 | */ | ||
1118 | static void JX9_GLOB_NOESCAPE_Const(jx9_value *pVal, void *pUserData) | ||
1119 | { | ||
1120 | SXUNUSED(pUserData); /* cc warning */ | ||
1121 | jx9_value_int(pVal, 0x08); | ||
1122 | } | ||
1123 | /* | ||
1124 | * GLOB_BRACE | ||
1125 | * Expand 0x10 (must be a power of two) | ||
1126 | */ | ||
1127 | static void JX9_GLOB_BRACE_Const(jx9_value *pVal, void *pUserData) | ||
1128 | { | ||
1129 | SXUNUSED(pUserData); /* cc warning */ | ||
1130 | jx9_value_int(pVal, 0x10); | ||
1131 | } | ||
1132 | /* | ||
1133 | * GLOB_ONLYDIR | ||
1134 | * Expand 0x20 (must be a power of two) | ||
1135 | */ | ||
1136 | static void JX9_GLOB_ONLYDIR_Const(jx9_value *pVal, void *pUserData) | ||
1137 | { | ||
1138 | SXUNUSED(pUserData); /* cc warning */ | ||
1139 | jx9_value_int(pVal, 0x20); | ||
1140 | } | ||
1141 | /* | ||
1142 | * GLOB_ERR | ||
1143 | * Expand 0x40 (must be a power of two) | ||
1144 | */ | ||
1145 | static void JX9_GLOB_ERR_Const(jx9_value *pVal, void *pUserData) | ||
1146 | { | ||
1147 | SXUNUSED(pUserData); /* cc warning */ | ||
1148 | jx9_value_int(pVal, 0x40); | ||
1149 | } | ||
1150 | /* | ||
1151 | * STDIN | ||
1152 | * Expand the STDIN handle as a resource. | ||
1153 | */ | ||
1154 | static void JX9_STDIN_Const(jx9_value *pVal, void *pUserData) | ||
1155 | { | ||
1156 | jx9_vm *pVm = (jx9_vm *)pUserData; | ||
1157 | void *pResource; | ||
1158 | pResource = jx9ExportStdin(pVm); | ||
1159 | jx9_value_resource(pVal, pResource); | ||
1160 | } | ||
1161 | /* | ||
1162 | * STDOUT | ||
1163 | * Expand the STDOUT handle as a resource. | ||
1164 | */ | ||
1165 | static void JX9_STDOUT_Const(jx9_value *pVal, void *pUserData) | ||
1166 | { | ||
1167 | jx9_vm *pVm = (jx9_vm *)pUserData; | ||
1168 | void *pResource; | ||
1169 | pResource = jx9ExportStdout(pVm); | ||
1170 | jx9_value_resource(pVal, pResource); | ||
1171 | } | ||
1172 | /* | ||
1173 | * STDERR | ||
1174 | * Expand the STDERR handle as a resource. | ||
1175 | */ | ||
1176 | static void JX9_STDERR_Const(jx9_value *pVal, void *pUserData) | ||
1177 | { | ||
1178 | jx9_vm *pVm = (jx9_vm *)pUserData; | ||
1179 | void *pResource; | ||
1180 | pResource = jx9ExportStderr(pVm); | ||
1181 | jx9_value_resource(pVal, pResource); | ||
1182 | } | ||
1183 | /* | ||
1184 | * INI_SCANNER_NORMAL | ||
1185 | * Expand 1 | ||
1186 | */ | ||
1187 | static void JX9_INI_SCANNER_NORMAL_Const(jx9_value *pVal, void *pUserData) | ||
1188 | { | ||
1189 | SXUNUSED(pUserData); /* cc warning */ | ||
1190 | jx9_value_int(pVal, 1); | ||
1191 | } | ||
1192 | /* | ||
1193 | * INI_SCANNER_RAW | ||
1194 | * Expand 2 | ||
1195 | */ | ||
1196 | static void JX9_INI_SCANNER_RAW_Const(jx9_value *pVal, void *pUserData) | ||
1197 | { | ||
1198 | SXUNUSED(pUserData); /* cc warning */ | ||
1199 | jx9_value_int(pVal, 2); | ||
1200 | } | ||
1201 | /* | ||
1202 | * EXTR_OVERWRITE | ||
1203 | * Expand 0x01 (Must be a power of two) | ||
1204 | */ | ||
1205 | static void JX9_EXTR_OVERWRITE_Const(jx9_value *pVal, void *pUserData) | ||
1206 | { | ||
1207 | SXUNUSED(pUserData); /* cc warning */ | ||
1208 | jx9_value_int(pVal, 0x1); | ||
1209 | } | ||
1210 | /* | ||
1211 | * EXTR_SKIP | ||
1212 | * Expand 0x02 (Must be a power of two) | ||
1213 | */ | ||
1214 | static void JX9_EXTR_SKIP_Const(jx9_value *pVal, void *pUserData) | ||
1215 | { | ||
1216 | SXUNUSED(pUserData); /* cc warning */ | ||
1217 | jx9_value_int(pVal, 0x2); | ||
1218 | } | ||
1219 | /* | ||
1220 | * EXTR_PREFIX_SAME | ||
1221 | * Expand 0x04 (Must be a power of two) | ||
1222 | */ | ||
1223 | static void JX9_EXTR_PREFIX_SAME_Const(jx9_value *pVal, void *pUserData) | ||
1224 | { | ||
1225 | SXUNUSED(pUserData); /* cc warning */ | ||
1226 | jx9_value_int(pVal, 0x4); | ||
1227 | } | ||
1228 | /* | ||
1229 | * EXTR_PREFIX_ALL | ||
1230 | * Expand 0x08 (Must be a power of two) | ||
1231 | */ | ||
1232 | static void JX9_EXTR_PREFIX_ALL_Const(jx9_value *pVal, void *pUserData) | ||
1233 | { | ||
1234 | SXUNUSED(pUserData); /* cc warning */ | ||
1235 | jx9_value_int(pVal, 0x8); | ||
1236 | } | ||
1237 | /* | ||
1238 | * EXTR_PREFIX_INVALID | ||
1239 | * Expand 0x10 (Must be a power of two) | ||
1240 | */ | ||
1241 | static void JX9_EXTR_PREFIX_INVALID_Const(jx9_value *pVal, void *pUserData) | ||
1242 | { | ||
1243 | SXUNUSED(pUserData); /* cc warning */ | ||
1244 | jx9_value_int(pVal, 0x10); | ||
1245 | } | ||
1246 | /* | ||
1247 | * EXTR_IF_EXISTS | ||
1248 | * Expand 0x20 (Must be a power of two) | ||
1249 | */ | ||
1250 | static void JX9_EXTR_IF_EXISTS_Const(jx9_value *pVal, void *pUserData) | ||
1251 | { | ||
1252 | SXUNUSED(pUserData); /* cc warning */ | ||
1253 | jx9_value_int(pVal, 0x20); | ||
1254 | } | ||
1255 | /* | ||
1256 | * EXTR_PREFIX_IF_EXISTS | ||
1257 | * Expand 0x40 (Must be a power of two) | ||
1258 | */ | ||
1259 | static void JX9_EXTR_PREFIX_IF_EXISTS_Const(jx9_value *pVal, void *pUserData) | ||
1260 | { | ||
1261 | SXUNUSED(pUserData); /* cc warning */ | ||
1262 | jx9_value_int(pVal, 0x40); | ||
1263 | } | ||
1264 | /* | ||
1265 | * Table of built-in constants. | ||
1266 | */ | ||
1267 | static const jx9_builtin_constant aBuiltIn[] = { | ||
1268 | {"JX9_VERSION", JX9_VER_Const }, | ||
1269 | {"JX9_ENGINE", JX9_VER_Const }, | ||
1270 | {"__JX9__", JX9_VER_Const }, | ||
1271 | {"JX9_OS", JX9_OS_Const }, | ||
1272 | {"__OS__", JX9_OS_Const }, | ||
1273 | {"JX9_EOL", JX9_EOL_Const }, | ||
1274 | {"JX9_INT_MAX", JX9_INTMAX_Const }, | ||
1275 | {"MAXINT", JX9_INTMAX_Const }, | ||
1276 | {"JX9_INT_SIZE", JX9_INTSIZE_Const }, | ||
1277 | {"PATH_SEPARATOR", JX9_PATHSEP_Const }, | ||
1278 | {"DIRECTORY_SEPARATOR", JX9_DIRSEP_Const }, | ||
1279 | {"DIR_SEP", JX9_DIRSEP_Const }, | ||
1280 | {"__TIME__", JX9_TIME_Const }, | ||
1281 | {"__DATE__", JX9_DATE_Const }, | ||
1282 | {"__FILE__", JX9_FILE_Const }, | ||
1283 | {"__DIR__", JX9_DIR_Const }, | ||
1284 | {"E_ERROR", JX9_E_ERROR_Const }, | ||
1285 | {"E_WARNING", JX9_E_WARNING_Const}, | ||
1286 | {"E_PARSE", JX9_E_PARSE_Const }, | ||
1287 | {"E_NOTICE", JX9_E_NOTICE_Const }, | ||
1288 | {"CASE_LOWER", JX9_CASE_LOWER_Const }, | ||
1289 | {"CASE_UPPER", JX9_CASE_UPPER_Const }, | ||
1290 | {"STR_PAD_LEFT", JX9_STR_PAD_LEFT_Const }, | ||
1291 | {"STR_PAD_RIGHT", JX9_STR_PAD_RIGHT_Const}, | ||
1292 | {"STR_PAD_BOTH", JX9_STR_PAD_BOTH_Const }, | ||
1293 | {"COUNT_NORMAL", JX9_COUNT_NORMAL_Const }, | ||
1294 | {"COUNT_RECURSIVE", JX9_COUNT_RECURSIVE_Const }, | ||
1295 | {"SORT_ASC", JX9_SORT_ASC_Const }, | ||
1296 | {"SORT_DESC", JX9_SORT_DESC_Const }, | ||
1297 | {"SORT_REGULAR", JX9_SORT_REG_Const }, | ||
1298 | {"SORT_NUMERIC", JX9_SORT_NUMERIC_Const }, | ||
1299 | {"SORT_STRING", JX9_SORT_STRING_Const }, | ||
1300 | {"JX9_ROUND_HALF_DOWN", JX9_JX9_ROUND_HALF_DOWN_Const }, | ||
1301 | {"JX9_ROUND_HALF_EVEN", JX9_JX9_ROUND_HALF_EVEN_Const }, | ||
1302 | {"JX9_ROUND_HALF_UP", JX9_JX9_ROUND_HALF_UP_Const }, | ||
1303 | {"JX9_ROUND_HALF_ODD", JX9_JX9_ROUND_HALF_ODD_Const }, | ||
1304 | #ifdef JX9_ENABLE_MATH_FUNC | ||
1305 | {"PI", JX9_M_PI_Const }, | ||
1306 | {"M_E", JX9_M_E_Const }, | ||
1307 | {"M_LOG2E", JX9_M_LOG2E_Const }, | ||
1308 | {"M_LOG10E", JX9_M_LOG10E_Const }, | ||
1309 | {"M_LN2", JX9_M_LN2_Const }, | ||
1310 | {"M_LN10", JX9_M_LN10_Const }, | ||
1311 | {"M_PI_2", JX9_M_PI_2_Const }, | ||
1312 | {"M_PI_4", JX9_M_PI_4_Const }, | ||
1313 | {"M_1_PI", JX9_M_1_PI_Const }, | ||
1314 | {"M_2_PI", JX9_M_2_PI_Const }, | ||
1315 | {"M_SQRTPI", JX9_M_SQRTPI_Const }, | ||
1316 | {"M_2_SQRTPI", JX9_M_2_SQRTPI_Const }, | ||
1317 | {"M_SQRT2", JX9_M_SQRT2_Const }, | ||
1318 | {"M_SQRT3", JX9_M_SQRT3_Const }, | ||
1319 | {"M_SQRT1_2", JX9_M_SQRT1_2_Const }, | ||
1320 | {"M_LNPI", JX9_M_LNPI_Const }, | ||
1321 | {"M_EULER", JX9_M_EULER_Const }, | ||
1322 | #endif /* JX9_ENABLE_MATH_FUNC */ | ||
1323 | {"DATE_ATOM", JX9_DATE_ATOM_Const }, | ||
1324 | {"DATE_COOKIE", JX9_DATE_COOKIE_Const }, | ||
1325 | {"DATE_ISO8601", JX9_DATE_ISO8601_Const }, | ||
1326 | {"DATE_RFC822", JX9_DATE_RFC822_Const }, | ||
1327 | {"DATE_RFC850", JX9_DATE_RFC850_Const }, | ||
1328 | {"DATE_RFC1036", JX9_DATE_RFC1036_Const }, | ||
1329 | {"DATE_RFC1123", JX9_DATE_RFC1123_Const }, | ||
1330 | {"DATE_RFC2822", JX9_DATE_RFC2822_Const }, | ||
1331 | {"DATE_RFC3339", JX9_DATE_ATOM_Const }, | ||
1332 | {"DATE_RSS", JX9_DATE_RSS_Const }, | ||
1333 | {"DATE_W3C", JX9_DATE_W3C_Const }, | ||
1334 | {"ENT_COMPAT", JX9_ENT_COMPAT_Const }, | ||
1335 | {"ENT_QUOTES", JX9_ENT_QUOTES_Const }, | ||
1336 | {"ENT_NOQUOTES", JX9_ENT_NOQUOTES_Const }, | ||
1337 | {"ENT_IGNORE", JX9_ENT_IGNORE_Const }, | ||
1338 | {"ENT_SUBSTITUTE", JX9_ENT_SUBSTITUTE_Const}, | ||
1339 | {"ENT_DISALLOWED", JX9_ENT_DISALLOWED_Const}, | ||
1340 | {"ENT_HTML401", JX9_ENT_HTML401_Const }, | ||
1341 | {"ENT_XML1", JX9_ENT_XML1_Const }, | ||
1342 | {"ENT_XHTML", JX9_ENT_XHTML_Const }, | ||
1343 | {"ENT_HTML5", JX9_ENT_HTML5_Const }, | ||
1344 | {"ISO-8859-1", JX9_ISO88591_Const }, | ||
1345 | {"ISO_8859_1", JX9_ISO88591_Const }, | ||
1346 | {"UTF-8", JX9_UTF8_Const }, | ||
1347 | {"UTF8", JX9_UTF8_Const }, | ||
1348 | {"HTML_ENTITIES", JX9_HTML_ENTITIES_Const}, | ||
1349 | {"HTML_SPECIALCHARS", JX9_HTML_SPECIALCHARS_Const }, | ||
1350 | {"JX9_URL_SCHEME", JX9_JX9_URL_SCHEME_Const}, | ||
1351 | {"JX9_URL_HOST", JX9_JX9_URL_HOST_Const}, | ||
1352 | {"JX9_URL_PORT", JX9_JX9_URL_PORT_Const}, | ||
1353 | {"JX9_URL_USER", JX9_JX9_URL_USER_Const}, | ||
1354 | {"JX9_URL_PASS", JX9_JX9_URL_PASS_Const}, | ||
1355 | {"JX9_URL_PATH", JX9_JX9_URL_PATH_Const}, | ||
1356 | {"JX9_URL_QUERY", JX9_JX9_URL_QUERY_Const}, | ||
1357 | {"JX9_URL_FRAGMENT", JX9_JX9_URL_FRAGMENT_Const}, | ||
1358 | {"JX9_QUERY_RFC1738", JX9_JX9_QUERY_RFC1738_Const}, | ||
1359 | {"JX9_QUERY_RFC3986", JX9_JX9_QUERY_RFC3986_Const}, | ||
1360 | {"FNM_NOESCAPE", JX9_FNM_NOESCAPE_Const }, | ||
1361 | {"FNM_PATHNAME", JX9_FNM_PATHNAME_Const }, | ||
1362 | {"FNM_PERIOD", JX9_FNM_PERIOD_Const }, | ||
1363 | {"FNM_CASEFOLD", JX9_FNM_CASEFOLD_Const }, | ||
1364 | {"PATHINFO_DIRNAME", JX9_PATHINFO_DIRNAME_Const }, | ||
1365 | {"PATHINFO_BASENAME", JX9_PATHINFO_BASENAME_Const }, | ||
1366 | {"PATHINFO_EXTENSION", JX9_PATHINFO_EXTENSION_Const}, | ||
1367 | {"PATHINFO_FILENAME", JX9_PATHINFO_FILENAME_Const }, | ||
1368 | {"ASSERT_ACTIVE", JX9_ASSERT_ACTIVE_Const }, | ||
1369 | {"ASSERT_WARNING", JX9_ASSERT_WARNING_Const }, | ||
1370 | {"ASSERT_BAIL", JX9_ASSERT_BAIL_Const }, | ||
1371 | {"ASSERT_QUIET_EVAL", JX9_ASSERT_QUIET_EVAL_Const }, | ||
1372 | {"ASSERT_CALLBACK", JX9_ASSERT_CALLBACK_Const }, | ||
1373 | {"SEEK_SET", JX9_SEEK_SET_Const }, | ||
1374 | {"SEEK_CUR", JX9_SEEK_CUR_Const }, | ||
1375 | {"SEEK_END", JX9_SEEK_END_Const }, | ||
1376 | {"LOCK_EX", JX9_LOCK_EX_Const }, | ||
1377 | {"LOCK_SH", JX9_LOCK_SH_Const }, | ||
1378 | {"LOCK_NB", JX9_LOCK_NB_Const }, | ||
1379 | {"LOCK_UN", JX9_LOCK_UN_Const }, | ||
1380 | {"FILE_USE_INC_PATH", JX9_FILE_USE_INCLUDE_PATH_Const}, | ||
1381 | {"FILE_IGN_NL", JX9_FILE_IGNORE_NEW_LINES_Const}, | ||
1382 | {"FILE_SKIP_EL", JX9_FILE_SKIP_EMPTY_LINES_Const}, | ||
1383 | {"FILE_APPEND", JX9_FILE_APPEND_Const }, | ||
1384 | {"SCANDIR_SORT_ASC", JX9_SCANDIR_SORT_ASCENDING_Const }, | ||
1385 | {"SCANDIR_SORT_DESC", JX9_SCANDIR_SORT_DESCENDING_Const }, | ||
1386 | {"SCANDIR_SORT_NONE", JX9_SCANDIR_SORT_NONE_Const }, | ||
1387 | {"GLOB_MARK", JX9_GLOB_MARK_Const }, | ||
1388 | {"GLOB_NOSORT", JX9_GLOB_NOSORT_Const }, | ||
1389 | {"GLOB_NOCHECK", JX9_GLOB_NOCHECK_Const }, | ||
1390 | {"GLOB_NOESCAPE", JX9_GLOB_NOESCAPE_Const}, | ||
1391 | {"GLOB_BRACE", JX9_GLOB_BRACE_Const }, | ||
1392 | {"GLOB_ONLYDIR", JX9_GLOB_ONLYDIR_Const }, | ||
1393 | {"GLOB_ERR", JX9_GLOB_ERR_Const }, | ||
1394 | {"STDIN", JX9_STDIN_Const }, | ||
1395 | {"stdin", JX9_STDIN_Const }, | ||
1396 | {"STDOUT", JX9_STDOUT_Const }, | ||
1397 | {"stdout", JX9_STDOUT_Const }, | ||
1398 | {"STDERR", JX9_STDERR_Const }, | ||
1399 | {"stderr", JX9_STDERR_Const }, | ||
1400 | {"INI_SCANNER_NORMAL", JX9_INI_SCANNER_NORMAL_Const }, | ||
1401 | {"INI_SCANNER_RAW", JX9_INI_SCANNER_RAW_Const }, | ||
1402 | {"EXTR_OVERWRITE", JX9_EXTR_OVERWRITE_Const }, | ||
1403 | {"EXTR_SKIP", JX9_EXTR_SKIP_Const }, | ||
1404 | {"EXTR_PREFIX_SAME", JX9_EXTR_PREFIX_SAME_Const }, | ||
1405 | {"EXTR_PREFIX_ALL", JX9_EXTR_PREFIX_ALL_Const }, | ||
1406 | {"EXTR_PREFIX_INVALID", JX9_EXTR_PREFIX_INVALID_Const }, | ||
1407 | {"EXTR_IF_EXISTS", JX9_EXTR_IF_EXISTS_Const }, | ||
1408 | {"EXTR_PREFIX_IF_EXISTS", JX9_EXTR_PREFIX_IF_EXISTS_Const} | ||
1409 | }; | ||
1410 | /* | ||
1411 | * Register the built-in constants defined above. | ||
1412 | */ | ||
1413 | JX9_PRIVATE void jx9RegisterBuiltInConstant(jx9_vm *pVm) | ||
1414 | { | ||
1415 | sxu32 n; | ||
1416 | /* | ||
1417 | * Note that all built-in constants have access to the jx9 virtual machine | ||
1418 | * that trigger the constant invocation as their private data. | ||
1419 | */ | ||
1420 | for( n = 0 ; n < SX_ARRAYSIZE(aBuiltIn) ; ++n ){ | ||
1421 | jx9_create_constant(&(*pVm), aBuiltIn[n].zName, aBuiltIn[n].xExpand, &(*pVm)); | ||
1422 | } | ||
1423 | } | ||