pocxxeci 0.30.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of pocxxeci might be problematic. Click here for more details.

Files changed (160) hide show
  1. package/LICENSE +19 -0
  2. package/Makefile +18 -0
  3. package/README.md +52 -0
  4. package/binding.gyp +81 -0
  5. package/index.d.ts +273 -0
  6. package/index.js +45 -0
  7. package/lib/bindings.js +1 -0
  8. package/lib/document.js +122 -0
  9. package/lib/element.js +82 -0
  10. package/lib/sax_parser.js +38 -0
  11. package/package.json +70 -0
  12. package/src/html_document.cc +7 -0
  13. package/src/html_document.h +18 -0
  14. package/src/libxmljs.cc +252 -0
  15. package/src/libxmljs.h +53 -0
  16. package/src/xml_attribute.cc +173 -0
  17. package/src/xml_attribute.h +40 -0
  18. package/src/xml_comment.cc +117 -0
  19. package/src/xml_comment.h +30 -0
  20. package/src/xml_document.cc +810 -0
  21. package/src/xml_document.h +67 -0
  22. package/src/xml_element.cc +565 -0
  23. package/src/xml_element.h +61 -0
  24. package/src/xml_namespace.cc +158 -0
  25. package/src/xml_namespace.h +39 -0
  26. package/src/xml_node.cc +761 -0
  27. package/src/xml_node.h +73 -0
  28. package/src/xml_pi.cc +161 -0
  29. package/src/xml_pi.h +34 -0
  30. package/src/xml_sax_parser.cc +424 -0
  31. package/src/xml_sax_parser.h +73 -0
  32. package/src/xml_syntax_error.cc +66 -0
  33. package/src/xml_syntax_error.h +25 -0
  34. package/src/xml_text.cc +320 -0
  35. package/src/xml_text.h +48 -0
  36. package/src/xml_textwriter.cc +315 -0
  37. package/src/xml_textwriter.h +62 -0
  38. package/src/xml_xpath_context.cc +70 -0
  39. package/src/xml_xpath_context.h +23 -0
  40. package/vendor/libxml/Copyright +23 -0
  41. package/vendor/libxml/DOCBparser.c +305 -0
  42. package/vendor/libxml/HTMLparser.c +7287 -0
  43. package/vendor/libxml/HTMLtree.c +1200 -0
  44. package/vendor/libxml/Makefile +2983 -0
  45. package/vendor/libxml/SAX.c +180 -0
  46. package/vendor/libxml/SAX2.c +3036 -0
  47. package/vendor/libxml/buf.c +1351 -0
  48. package/vendor/libxml/buf.h +72 -0
  49. package/vendor/libxml/c14n.c +2234 -0
  50. package/vendor/libxml/catalog.c +3828 -0
  51. package/vendor/libxml/chvalid.c +336 -0
  52. package/vendor/libxml/config.h +294 -0
  53. package/vendor/libxml/config.h.gch +0 -0
  54. package/vendor/libxml/debugXML.c +3423 -0
  55. package/vendor/libxml/dict.c +1298 -0
  56. package/vendor/libxml/elfgcchack.h +17818 -0
  57. package/vendor/libxml/enc.h +32 -0
  58. package/vendor/libxml/encoding.c +3975 -0
  59. package/vendor/libxml/entities.c +1163 -0
  60. package/vendor/libxml/error.c +998 -0
  61. package/vendor/libxml/globals.c +1126 -0
  62. package/vendor/libxml/hash.c +1146 -0
  63. package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
  64. package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
  65. package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
  66. package/vendor/libxml/include/libxml/Makefile +725 -0
  67. package/vendor/libxml/include/libxml/Makefile.am +54 -0
  68. package/vendor/libxml/include/libxml/Makefile.in +725 -0
  69. package/vendor/libxml/include/libxml/SAX.h +173 -0
  70. package/vendor/libxml/include/libxml/SAX2.h +178 -0
  71. package/vendor/libxml/include/libxml/c14n.h +128 -0
  72. package/vendor/libxml/include/libxml/catalog.h +182 -0
  73. package/vendor/libxml/include/libxml/chvalid.h +230 -0
  74. package/vendor/libxml/include/libxml/debugXML.h +217 -0
  75. package/vendor/libxml/include/libxml/dict.h +79 -0
  76. package/vendor/libxml/include/libxml/encoding.h +245 -0
  77. package/vendor/libxml/include/libxml/entities.h +151 -0
  78. package/vendor/libxml/include/libxml/globals.h +508 -0
  79. package/vendor/libxml/include/libxml/hash.h +236 -0
  80. package/vendor/libxml/include/libxml/list.h +137 -0
  81. package/vendor/libxml/include/libxml/nanoftp.h +163 -0
  82. package/vendor/libxml/include/libxml/nanohttp.h +81 -0
  83. package/vendor/libxml/include/libxml/parser.h +1243 -0
  84. package/vendor/libxml/include/libxml/parserInternals.h +644 -0
  85. package/vendor/libxml/include/libxml/pattern.h +100 -0
  86. package/vendor/libxml/include/libxml/relaxng.h +217 -0
  87. package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
  88. package/vendor/libxml/include/libxml/schematron.h +142 -0
  89. package/vendor/libxml/include/libxml/threads.h +89 -0
  90. package/vendor/libxml/include/libxml/tree.h +1311 -0
  91. package/vendor/libxml/include/libxml/uri.h +94 -0
  92. package/vendor/libxml/include/libxml/valid.h +458 -0
  93. package/vendor/libxml/include/libxml/xinclude.h +129 -0
  94. package/vendor/libxml/include/libxml/xlink.h +189 -0
  95. package/vendor/libxml/include/libxml/xmlIO.h +368 -0
  96. package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
  97. package/vendor/libxml/include/libxml/xmlerror.h +945 -0
  98. package/vendor/libxml/include/libxml/xmlexports.h +77 -0
  99. package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
  100. package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
  101. package/vendor/libxml/include/libxml/xmlreader.h +428 -0
  102. package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
  103. package/vendor/libxml/include/libxml/xmlsave.h +88 -0
  104. package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
  105. package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
  106. package/vendor/libxml/include/libxml/xmlstring.h +140 -0
  107. package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
  108. package/vendor/libxml/include/libxml/xmlversion.h +484 -0
  109. package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
  110. package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
  111. package/vendor/libxml/include/libxml/xpath.h +564 -0
  112. package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
  113. package/vendor/libxml/include/libxml/xpointer.h +114 -0
  114. package/vendor/libxml/include/win32config.h +122 -0
  115. package/vendor/libxml/include/wsockcompat.h +54 -0
  116. package/vendor/libxml/legacy.c +1343 -0
  117. package/vendor/libxml/libxml.h +134 -0
  118. package/vendor/libxml/list.c +779 -0
  119. package/vendor/libxml/nanoftp.c +2118 -0
  120. package/vendor/libxml/nanohttp.c +1899 -0
  121. package/vendor/libxml/parser.c +15553 -0
  122. package/vendor/libxml/parserInternals.c +2164 -0
  123. package/vendor/libxml/pattern.c +2621 -0
  124. package/vendor/libxml/relaxng.c +11101 -0
  125. package/vendor/libxml/rngparser.c +1595 -0
  126. package/vendor/libxml/runsuite.c +1157 -0
  127. package/vendor/libxml/save.h +36 -0
  128. package/vendor/libxml/schematron.c +1787 -0
  129. package/vendor/libxml/threads.c +1049 -0
  130. package/vendor/libxml/timsort.h +601 -0
  131. package/vendor/libxml/tree.c +10183 -0
  132. package/vendor/libxml/trio.c +6895 -0
  133. package/vendor/libxml/trio.h +230 -0
  134. package/vendor/libxml/triodef.h +228 -0
  135. package/vendor/libxml/trionan.c +914 -0
  136. package/vendor/libxml/trionan.h +84 -0
  137. package/vendor/libxml/triop.h +150 -0
  138. package/vendor/libxml/triostr.c +2112 -0
  139. package/vendor/libxml/triostr.h +144 -0
  140. package/vendor/libxml/uri.c +2561 -0
  141. package/vendor/libxml/valid.c +7138 -0
  142. package/vendor/libxml/xinclude.c +2657 -0
  143. package/vendor/libxml/xlink.c +183 -0
  144. package/vendor/libxml/xmlIO.c +4135 -0
  145. package/vendor/libxml/xmlcatalog.c +624 -0
  146. package/vendor/libxml/xmllint.c +3796 -0
  147. package/vendor/libxml/xmlmemory.c +1163 -0
  148. package/vendor/libxml/xmlmodule.c +468 -0
  149. package/vendor/libxml/xmlreader.c +6033 -0
  150. package/vendor/libxml/xmlregexp.c +8271 -0
  151. package/vendor/libxml/xmlsave.c +2735 -0
  152. package/vendor/libxml/xmlschemas.c +29173 -0
  153. package/vendor/libxml/xmlschemastypes.c +6276 -0
  154. package/vendor/libxml/xmlstring.c +1050 -0
  155. package/vendor/libxml/xmlunicode.c +3179 -0
  156. package/vendor/libxml/xmlwriter.c +4738 -0
  157. package/vendor/libxml/xpath.c +14734 -0
  158. package/vendor/libxml/xpointer.c +2969 -0
  159. package/vendor/libxml/xzlib.c +815 -0
  160. package/vendor/libxml/xzlib.h +19 -0
@@ -0,0 +1,468 @@
1
+ /*
2
+ * xmlmodule.c : basic API for dynamic module loading added 2.6.17
3
+ *
4
+ * See Copyright for the status of this software.
5
+ *
6
+ * joelwreed@comcast.net
7
+ *
8
+ * http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html
9
+ */
10
+
11
+ /* In order RTLD_GLOBAL and RTLD_NOW to be defined on zOS */
12
+ #if defined(__MVS__)
13
+ #define _UNIX03_SOURCE
14
+ #endif
15
+
16
+ #define IN_LIBXML
17
+ #include "libxml.h"
18
+
19
+ #include <string.h>
20
+ #include <libxml/xmlmemory.h>
21
+ #include <libxml/xmlerror.h>
22
+ #include <libxml/xmlmodule.h>
23
+ #include <libxml/globals.h>
24
+
25
+ #ifdef LIBXML_MODULES_ENABLED
26
+
27
+ struct _xmlModule {
28
+ unsigned char *name;
29
+ void *handle;
30
+ };
31
+
32
+ static void *xmlModulePlatformOpen(const char *name);
33
+ static int xmlModulePlatformClose(void *handle);
34
+ static int xmlModulePlatformSymbol(void *handle, const char *name, void **result);
35
+
36
+ /************************************************************************
37
+ * *
38
+ * module memory error handler *
39
+ * *
40
+ ************************************************************************/
41
+
42
+ /**
43
+ * xmlModuleErrMemory:
44
+ * @extra: extra information
45
+ *
46
+ * Handle an out of memory condition
47
+ */
48
+ static void
49
+ xmlModuleErrMemory(xmlModulePtr module, const char *extra)
50
+ {
51
+ const char *name = NULL;
52
+
53
+ if (module != NULL) {
54
+ name = (const char *) module->name;
55
+ }
56
+
57
+ __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
58
+ XML_ERR_NO_MEMORY, XML_ERR_FATAL, NULL, 0, extra,
59
+ name, NULL, 0, 0,
60
+ "Memory allocation failed : %s\n", extra);
61
+ }
62
+
63
+ /**
64
+ * xmlModuleOpen:
65
+ * @name: the module name
66
+ * @options: a set of xmlModuleOption
67
+ *
68
+ * Opens a module/shared library given its name or path
69
+ * NOTE: that due to portability issues, behaviour can only be
70
+ * guaranteed with @name using ASCII. We cannot guarantee that
71
+ * an UTF-8 string would work, which is why name is a const char *
72
+ * and not a const xmlChar * .
73
+ * TODO: options are not yet implemented.
74
+ *
75
+ * Returns a handle for the module or NULL in case of error
76
+ */
77
+ xmlModulePtr
78
+ xmlModuleOpen(const char *name, int options ATTRIBUTE_UNUSED)
79
+ {
80
+ xmlModulePtr module;
81
+
82
+ module = (xmlModulePtr) xmlMalloc(sizeof(xmlModule));
83
+ if (module == NULL) {
84
+ xmlModuleErrMemory(NULL, "creating module");
85
+ return (NULL);
86
+ }
87
+
88
+ memset(module, 0, sizeof(xmlModule));
89
+
90
+ module->handle = xmlModulePlatformOpen(name);
91
+
92
+ if (module->handle == NULL) {
93
+ xmlFree(module);
94
+ __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
95
+ XML_MODULE_OPEN, XML_ERR_FATAL, NULL, 0, 0,
96
+ name, NULL, 0, 0, "failed to open %s\n", name);
97
+ return(NULL);
98
+ }
99
+
100
+ module->name = xmlStrdup((const xmlChar *) name);
101
+ return (module);
102
+ }
103
+
104
+ /**
105
+ * xmlModuleSymbol:
106
+ * @module: the module
107
+ * @name: the name of the symbol
108
+ * @symbol: the resulting symbol address
109
+ *
110
+ * Lookup for a symbol address in the given module
111
+ * NOTE: that due to portability issues, behaviour can only be
112
+ * guaranteed with @name using ASCII. We cannot guarantee that
113
+ * an UTF-8 string would work, which is why name is a const char *
114
+ * and not a const xmlChar * .
115
+ *
116
+ * Returns 0 if the symbol was found, or -1 in case of error
117
+ */
118
+ int
119
+ xmlModuleSymbol(xmlModulePtr module, const char *name, void **symbol)
120
+ {
121
+ int rc = -1;
122
+
123
+ if ((NULL == module) || (symbol == NULL) || (name == NULL)) {
124
+ __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
125
+ XML_MODULE_OPEN, XML_ERR_FATAL, NULL, 0, 0,
126
+ NULL, NULL, 0, 0, "null parameter\n");
127
+ return rc;
128
+ }
129
+
130
+ rc = xmlModulePlatformSymbol(module->handle, name, symbol);
131
+
132
+ if (rc == -1) {
133
+ __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
134
+ XML_MODULE_OPEN, XML_ERR_FATAL, NULL, 0, 0,
135
+ name, NULL, 0, 0,
136
+ "failed to find symbol: %s\n",
137
+ (name == NULL ? "NULL" : name));
138
+ return rc;
139
+ }
140
+
141
+ return rc;
142
+ }
143
+
144
+ /**
145
+ * xmlModuleClose:
146
+ * @module: the module handle
147
+ *
148
+ * The close operations unload the associated module and free the
149
+ * data associated to the module.
150
+ *
151
+ * Returns 0 in case of success, -1 in case of argument error and -2
152
+ * if the module could not be closed/unloaded.
153
+ */
154
+ int
155
+ xmlModuleClose(xmlModulePtr module)
156
+ {
157
+ int rc;
158
+
159
+ if (NULL == module) {
160
+ __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
161
+ XML_MODULE_CLOSE, XML_ERR_FATAL, NULL, 0, 0,
162
+ NULL, NULL, 0, 0, "null module pointer\n");
163
+ return -1;
164
+ }
165
+
166
+ rc = xmlModulePlatformClose(module->handle);
167
+
168
+ if (rc != 0) {
169
+ __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
170
+ XML_MODULE_CLOSE, XML_ERR_FATAL, NULL, 0, 0,
171
+ (const char *) module->name, NULL, 0, 0,
172
+ "failed to close: %s\n", module->name);
173
+ return -2;
174
+ }
175
+
176
+ rc = xmlModuleFree(module);
177
+ return (rc);
178
+ }
179
+
180
+ /**
181
+ * xmlModuleFree:
182
+ * @module: the module handle
183
+ *
184
+ * The free operations free the data associated to the module
185
+ * but does not unload the associated shared library which may still
186
+ * be in use.
187
+ *
188
+ * Returns 0 in case of success, -1 in case of argument error
189
+ */
190
+ int
191
+ xmlModuleFree(xmlModulePtr module)
192
+ {
193
+ if (NULL == module) {
194
+ __xmlRaiseError(NULL, NULL, NULL, NULL, NULL, XML_FROM_MODULE,
195
+ XML_MODULE_CLOSE, XML_ERR_FATAL, NULL, 0, NULL,
196
+ NULL, NULL, 0, 0, "null module pointer\n");
197
+ return -1;
198
+ }
199
+
200
+ xmlFree(module->name);
201
+ xmlFree(module);
202
+
203
+ return (0);
204
+ }
205
+
206
+ #if defined(HAVE_DLOPEN) && !defined(_WIN32)
207
+ #ifdef HAVE_DLFCN_H
208
+ #include <dlfcn.h>
209
+ #endif
210
+
211
+ #ifndef RTLD_GLOBAL /* For Tru64 UNIX 4.0 */
212
+ #define RTLD_GLOBAL 0
213
+ #endif
214
+
215
+ /**
216
+ * xmlModulePlatformOpen:
217
+ * @name: path to the module
218
+ *
219
+ * returns a handle on success, and zero on error.
220
+ */
221
+
222
+ static void *
223
+ xmlModulePlatformOpen(const char *name)
224
+ {
225
+ return dlopen(name, RTLD_GLOBAL | RTLD_NOW);
226
+ }
227
+
228
+ /*
229
+ * xmlModulePlatformClose:
230
+ * @handle: handle to the module
231
+ *
232
+ * returns 0 on success, and non-zero on error.
233
+ */
234
+
235
+ static int
236
+ xmlModulePlatformClose(void *handle)
237
+ {
238
+ return dlclose(handle);
239
+ }
240
+
241
+ /*
242
+ * xmlModulePlatformSymbol:
243
+ * http://www.opengroup.org/onlinepubs/009695399/functions/dlsym.html
244
+ * returns 0 on success and the loaded symbol in result, and -1 on error.
245
+ */
246
+
247
+ static int
248
+ xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
249
+ {
250
+ *symbol = dlsym(handle, name);
251
+ if (dlerror() != NULL) {
252
+ return -1;
253
+ }
254
+ return 0;
255
+ }
256
+
257
+ #else /* ! HAVE_DLOPEN */
258
+
259
+ #ifdef HAVE_SHLLOAD /* HAVE_SHLLOAD */
260
+ #ifdef HAVE_DL_H
261
+ #include <dl.h>
262
+ #endif
263
+ /*
264
+ * xmlModulePlatformOpen:
265
+ * returns a handle on success, and zero on error.
266
+ */
267
+
268
+ static void *
269
+ xmlModulePlatformOpen(const char *name)
270
+ {
271
+ return shl_load(name, BIND_IMMEDIATE, 0L);
272
+ }
273
+
274
+ /*
275
+ * xmlModulePlatformClose:
276
+ * returns 0 on success, and non-zero on error.
277
+ */
278
+
279
+ static int
280
+ xmlModulePlatformClose(void *handle)
281
+ {
282
+ return shl_unload(handle);
283
+ }
284
+
285
+ /*
286
+ * xmlModulePlatformSymbol:
287
+ * http://docs.hp.com/en/B2355-90683/shl_load.3X.html
288
+ * returns 0 on success and the loaded symbol in result, and -1 on error.
289
+ */
290
+
291
+ static int
292
+ xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
293
+ {
294
+ int rc;
295
+
296
+ errno = 0;
297
+ rc = shl_findsym(&handle, name, TYPE_UNDEFINED, symbol);
298
+ return rc;
299
+ }
300
+
301
+ #endif /* HAVE_SHLLOAD */
302
+ #endif /* ! HAVE_DLOPEN */
303
+
304
+ #if defined(_WIN32) && !defined(__CYGWIN__)
305
+
306
+ #define WIN32_LEAN_AND_MEAN
307
+ #include <windows.h>
308
+
309
+ /*
310
+ * xmlModulePlatformOpen:
311
+ * returns a handle on success, and zero on error.
312
+ */
313
+
314
+ static void *
315
+ xmlModulePlatformOpen(const char *name)
316
+ {
317
+ return LoadLibraryA(name);
318
+ }
319
+
320
+ /*
321
+ * xmlModulePlatformClose:
322
+ * returns 0 on success, and non-zero on error.
323
+ */
324
+
325
+ static int
326
+ xmlModulePlatformClose(void *handle)
327
+ {
328
+ int rc;
329
+
330
+ rc = FreeLibrary(handle);
331
+ return (0 == rc);
332
+ }
333
+
334
+ /*
335
+ * xmlModulePlatformSymbol:
336
+ * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/getprocaddress.asp
337
+ * returns 0 on success and the loaded symbol in result, and -1 on error.
338
+ */
339
+
340
+ static int
341
+ xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
342
+ {
343
+ XML_IGNORE_PEDANTIC_WARNINGS
344
+ #ifdef _WIN32_WCE
345
+ /*
346
+ * GetProcAddressA seems only available on WinCE
347
+ */
348
+ *symbol = GetProcAddressA(handle, name);
349
+ #else
350
+ *symbol = GetProcAddress(handle, name);
351
+ #endif
352
+ return (NULL == *symbol) ? -1 : 0;
353
+ XML_POP_WARNINGS
354
+ }
355
+
356
+ #endif /* _WIN32 */
357
+
358
+ #ifdef HAVE_BEOS
359
+
360
+ #include <kernel/image.h>
361
+
362
+ /*
363
+ * xmlModulePlatformOpen:
364
+ * beos api info: http://www.beunited.org/bebook/The%20Kernel%20Kit/Images.html
365
+ * returns a handle on success, and zero on error.
366
+ */
367
+
368
+ static void *
369
+ xmlModulePlatformOpen(const char *name)
370
+ {
371
+ return (void *) load_add_on(name);
372
+ }
373
+
374
+ /*
375
+ * xmlModulePlatformClose:
376
+ * beos api info: http://www.beunited.org/bebook/The%20Kernel%20Kit/Images.html
377
+ * returns 0 on success, and non-zero on error.
378
+ */
379
+
380
+ static int
381
+ xmlModulePlatformClose(void *handle)
382
+ {
383
+ status_t rc;
384
+
385
+ rc = unload_add_on((image_id) handle);
386
+
387
+ if (rc == B_OK)
388
+ return 0;
389
+ else
390
+ return -1;
391
+ }
392
+
393
+ /*
394
+ * xmlModulePlatformSymbol:
395
+ * beos api info: http://www.beunited.org/bebook/The%20Kernel%20Kit/Images.html
396
+ * returns 0 on success and the loaded symbol in result, and -1 on error.
397
+ */
398
+
399
+ static int
400
+ xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
401
+ {
402
+ status_t rc;
403
+
404
+ rc = get_image_symbol((image_id) handle, name, B_SYMBOL_TYPE_ANY, symbol);
405
+
406
+ return (rc == B_OK) ? 0 : -1;
407
+ }
408
+
409
+ #endif /* HAVE_BEOS */
410
+
411
+ #ifdef HAVE_OS2
412
+
413
+ #include <os2.h>
414
+
415
+ /*
416
+ * xmlModulePlatformOpen:
417
+ * os2 api info: http://www.edm2.com/os2api/Dos/DosLoadModule.html
418
+ * returns a handle on success, and zero on error.
419
+ */
420
+
421
+ static void *
422
+ xmlModulePlatformOpen(const char *name)
423
+ {
424
+ char errbuf[256];
425
+ void *handle;
426
+ int rc;
427
+
428
+ rc = DosLoadModule(errbuf, sizeof(errbuf) - 1, name, &handle);
429
+
430
+ if (rc)
431
+ return 0;
432
+ else
433
+ return (handle);
434
+ }
435
+
436
+ /*
437
+ * xmlModulePlatformClose:
438
+ * os2 api info: http://www.edm2.com/os2api/Dos/DosFreeModule.html
439
+ * returns 0 on success, and non-zero on error.
440
+ */
441
+
442
+ static int
443
+ xmlModulePlatformClose(void *handle)
444
+ {
445
+ return DosFreeModule(handle);
446
+ }
447
+
448
+ /*
449
+ * xmlModulePlatformSymbol:
450
+ * os2 api info: http://www.edm2.com/os2api/Dos/DosQueryProcAddr.html
451
+ * returns 0 on success and the loaded symbol in result, and -1 on error.
452
+ */
453
+
454
+ static int
455
+ xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
456
+ {
457
+ int rc;
458
+
459
+ rc = DosQueryProcAddr(handle, 0, name, symbol);
460
+
461
+ return (rc == NO_ERROR) ? 0 : -1;
462
+ }
463
+
464
+ #endif /* HAVE_OS2 */
465
+
466
+ #define bottom_xmlmodule
467
+ #include "elfgcchack.h"
468
+ #endif /* LIBXML_MODULES_ENABLED */