@helm2/poc_jenki_rce 0.0.1

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

Potentially problematic release.


This version of @helm2/poc_jenki_rce 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 +118 -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,236 @@
1
+ /*
2
+ * Summary: Chained hash tables
3
+ * Description: This module implements the hash table support used in
4
+ * various places in the library.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Bjorn Reese <bjorn.reese@systematic.dk>
9
+ */
10
+
11
+ #ifndef __XML_HASH_H__
12
+ #define __XML_HASH_H__
13
+
14
+ #ifdef __cplusplus
15
+ extern "C" {
16
+ #endif
17
+
18
+ /*
19
+ * The hash table.
20
+ */
21
+ typedef struct _xmlHashTable xmlHashTable;
22
+ typedef xmlHashTable *xmlHashTablePtr;
23
+
24
+ #ifdef __cplusplus
25
+ }
26
+ #endif
27
+
28
+ #include <libxml/xmlversion.h>
29
+ #include <libxml/parser.h>
30
+ #include <libxml/dict.h>
31
+
32
+ #ifdef __cplusplus
33
+ extern "C" {
34
+ #endif
35
+
36
+ /*
37
+ * Recent version of gcc produce a warning when a function pointer is assigned
38
+ * to an object pointer, or vice versa. The following macro is a dirty hack
39
+ * to allow suppression of the warning. If your architecture has function
40
+ * pointers which are a different size than a void pointer, there may be some
41
+ * serious trouble within the library.
42
+ */
43
+ /**
44
+ * XML_CAST_FPTR:
45
+ * @fptr: pointer to a function
46
+ *
47
+ * Macro to do a casting from an object pointer to a
48
+ * function pointer without encountering a warning from
49
+ * gcc
50
+ *
51
+ * #define XML_CAST_FPTR(fptr) (*(void **)(&fptr))
52
+ * This macro violated ISO C aliasing rules (gcc4 on s390 broke)
53
+ * so it is disabled now
54
+ */
55
+
56
+ #define XML_CAST_FPTR(fptr) fptr
57
+
58
+
59
+ /*
60
+ * function types:
61
+ */
62
+ /**
63
+ * xmlHashDeallocator:
64
+ * @payload: the data in the hash
65
+ * @name: the name associated
66
+ *
67
+ * Callback to free data from a hash.
68
+ */
69
+ typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name);
70
+ /**
71
+ * xmlHashCopier:
72
+ * @payload: the data in the hash
73
+ * @name: the name associated
74
+ *
75
+ * Callback to copy data from a hash.
76
+ *
77
+ * Returns a copy of the data or NULL in case of error.
78
+ */
79
+ typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name);
80
+ /**
81
+ * xmlHashScanner:
82
+ * @payload: the data in the hash
83
+ * @data: extra scanner data
84
+ * @name: the name associated
85
+ *
86
+ * Callback when scanning data in a hash with the simple scanner.
87
+ */
88
+ typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name);
89
+ /**
90
+ * xmlHashScannerFull:
91
+ * @payload: the data in the hash
92
+ * @data: extra scanner data
93
+ * @name: the name associated
94
+ * @name2: the second name associated
95
+ * @name3: the third name associated
96
+ *
97
+ * Callback when scanning data in a hash with the full scanner.
98
+ */
99
+ typedef void (*xmlHashScannerFull)(void *payload, void *data,
100
+ const xmlChar *name, const xmlChar *name2,
101
+ const xmlChar *name3);
102
+
103
+ /*
104
+ * Constructor and destructor.
105
+ */
106
+ XMLPUBFUN xmlHashTablePtr XMLCALL
107
+ xmlHashCreate (int size);
108
+ XMLPUBFUN xmlHashTablePtr XMLCALL
109
+ xmlHashCreateDict(int size,
110
+ xmlDictPtr dict);
111
+ XMLPUBFUN void XMLCALL
112
+ xmlHashFree (xmlHashTablePtr table,
113
+ xmlHashDeallocator f);
114
+ XMLPUBFUN void XMLCALL
115
+ xmlHashDefaultDeallocator(void *entry,
116
+ const xmlChar *name);
117
+
118
+ /*
119
+ * Add a new entry to the hash table.
120
+ */
121
+ XMLPUBFUN int XMLCALL
122
+ xmlHashAddEntry (xmlHashTablePtr table,
123
+ const xmlChar *name,
124
+ void *userdata);
125
+ XMLPUBFUN int XMLCALL
126
+ xmlHashUpdateEntry(xmlHashTablePtr table,
127
+ const xmlChar *name,
128
+ void *userdata,
129
+ xmlHashDeallocator f);
130
+ XMLPUBFUN int XMLCALL
131
+ xmlHashAddEntry2(xmlHashTablePtr table,
132
+ const xmlChar *name,
133
+ const xmlChar *name2,
134
+ void *userdata);
135
+ XMLPUBFUN int XMLCALL
136
+ xmlHashUpdateEntry2(xmlHashTablePtr table,
137
+ const xmlChar *name,
138
+ const xmlChar *name2,
139
+ void *userdata,
140
+ xmlHashDeallocator f);
141
+ XMLPUBFUN int XMLCALL
142
+ xmlHashAddEntry3(xmlHashTablePtr table,
143
+ const xmlChar *name,
144
+ const xmlChar *name2,
145
+ const xmlChar *name3,
146
+ void *userdata);
147
+ XMLPUBFUN int XMLCALL
148
+ xmlHashUpdateEntry3(xmlHashTablePtr table,
149
+ const xmlChar *name,
150
+ const xmlChar *name2,
151
+ const xmlChar *name3,
152
+ void *userdata,
153
+ xmlHashDeallocator f);
154
+
155
+ /*
156
+ * Remove an entry from the hash table.
157
+ */
158
+ XMLPUBFUN int XMLCALL
159
+ xmlHashRemoveEntry(xmlHashTablePtr table, const xmlChar *name,
160
+ xmlHashDeallocator f);
161
+ XMLPUBFUN int XMLCALL
162
+ xmlHashRemoveEntry2(xmlHashTablePtr table, const xmlChar *name,
163
+ const xmlChar *name2, xmlHashDeallocator f);
164
+ XMLPUBFUN int XMLCALL
165
+ xmlHashRemoveEntry3(xmlHashTablePtr table, const xmlChar *name,
166
+ const xmlChar *name2, const xmlChar *name3,
167
+ xmlHashDeallocator f);
168
+
169
+ /*
170
+ * Retrieve the userdata.
171
+ */
172
+ XMLPUBFUN void * XMLCALL
173
+ xmlHashLookup (xmlHashTablePtr table,
174
+ const xmlChar *name);
175
+ XMLPUBFUN void * XMLCALL
176
+ xmlHashLookup2 (xmlHashTablePtr table,
177
+ const xmlChar *name,
178
+ const xmlChar *name2);
179
+ XMLPUBFUN void * XMLCALL
180
+ xmlHashLookup3 (xmlHashTablePtr table,
181
+ const xmlChar *name,
182
+ const xmlChar *name2,
183
+ const xmlChar *name3);
184
+ XMLPUBFUN void * XMLCALL
185
+ xmlHashQLookup (xmlHashTablePtr table,
186
+ const xmlChar *name,
187
+ const xmlChar *prefix);
188
+ XMLPUBFUN void * XMLCALL
189
+ xmlHashQLookup2 (xmlHashTablePtr table,
190
+ const xmlChar *name,
191
+ const xmlChar *prefix,
192
+ const xmlChar *name2,
193
+ const xmlChar *prefix2);
194
+ XMLPUBFUN void * XMLCALL
195
+ xmlHashQLookup3 (xmlHashTablePtr table,
196
+ const xmlChar *name,
197
+ const xmlChar *prefix,
198
+ const xmlChar *name2,
199
+ const xmlChar *prefix2,
200
+ const xmlChar *name3,
201
+ const xmlChar *prefix3);
202
+
203
+ /*
204
+ * Helpers.
205
+ */
206
+ XMLPUBFUN xmlHashTablePtr XMLCALL
207
+ xmlHashCopy (xmlHashTablePtr table,
208
+ xmlHashCopier f);
209
+ XMLPUBFUN int XMLCALL
210
+ xmlHashSize (xmlHashTablePtr table);
211
+ XMLPUBFUN void XMLCALL
212
+ xmlHashScan (xmlHashTablePtr table,
213
+ xmlHashScanner f,
214
+ void *data);
215
+ XMLPUBFUN void XMLCALL
216
+ xmlHashScan3 (xmlHashTablePtr table,
217
+ const xmlChar *name,
218
+ const xmlChar *name2,
219
+ const xmlChar *name3,
220
+ xmlHashScanner f,
221
+ void *data);
222
+ XMLPUBFUN void XMLCALL
223
+ xmlHashScanFull (xmlHashTablePtr table,
224
+ xmlHashScannerFull f,
225
+ void *data);
226
+ XMLPUBFUN void XMLCALL
227
+ xmlHashScanFull3(xmlHashTablePtr table,
228
+ const xmlChar *name,
229
+ const xmlChar *name2,
230
+ const xmlChar *name3,
231
+ xmlHashScannerFull f,
232
+ void *data);
233
+ #ifdef __cplusplus
234
+ }
235
+ #endif
236
+ #endif /* ! __XML_HASH_H__ */
@@ -0,0 +1,137 @@
1
+ /*
2
+ * Summary: lists interfaces
3
+ * Description: this module implement the list support used in
4
+ * various place in the library.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Gary Pennington <Gary.Pennington@uk.sun.com>
9
+ */
10
+
11
+ #ifndef __XML_LINK_INCLUDE__
12
+ #define __XML_LINK_INCLUDE__
13
+
14
+ #include <libxml/xmlversion.h>
15
+
16
+ #ifdef __cplusplus
17
+ extern "C" {
18
+ #endif
19
+
20
+ typedef struct _xmlLink xmlLink;
21
+ typedef xmlLink *xmlLinkPtr;
22
+
23
+ typedef struct _xmlList xmlList;
24
+ typedef xmlList *xmlListPtr;
25
+
26
+ /**
27
+ * xmlListDeallocator:
28
+ * @lk: the data to deallocate
29
+ *
30
+ * Callback function used to free data from a list.
31
+ */
32
+ typedef void (*xmlListDeallocator) (xmlLinkPtr lk);
33
+ /**
34
+ * xmlListDataCompare:
35
+ * @data0: the first data
36
+ * @data1: the second data
37
+ *
38
+ * Callback function used to compare 2 data.
39
+ *
40
+ * Returns 0 is equality, -1 or 1 otherwise depending on the ordering.
41
+ */
42
+ typedef int (*xmlListDataCompare) (const void *data0, const void *data1);
43
+ /**
44
+ * xmlListWalker:
45
+ * @data: the data found in the list
46
+ * @user: extra user provided data to the walker
47
+ *
48
+ * Callback function used when walking a list with xmlListWalk().
49
+ *
50
+ * Returns 0 to stop walking the list, 1 otherwise.
51
+ */
52
+ typedef int (*xmlListWalker) (const void *data, void *user);
53
+
54
+ /* Creation/Deletion */
55
+ XMLPUBFUN xmlListPtr XMLCALL
56
+ xmlListCreate (xmlListDeallocator deallocator,
57
+ xmlListDataCompare compare);
58
+ XMLPUBFUN void XMLCALL
59
+ xmlListDelete (xmlListPtr l);
60
+
61
+ /* Basic Operators */
62
+ XMLPUBFUN void * XMLCALL
63
+ xmlListSearch (xmlListPtr l,
64
+ void *data);
65
+ XMLPUBFUN void * XMLCALL
66
+ xmlListReverseSearch (xmlListPtr l,
67
+ void *data);
68
+ XMLPUBFUN int XMLCALL
69
+ xmlListInsert (xmlListPtr l,
70
+ void *data) ;
71
+ XMLPUBFUN int XMLCALL
72
+ xmlListAppend (xmlListPtr l,
73
+ void *data) ;
74
+ XMLPUBFUN int XMLCALL
75
+ xmlListRemoveFirst (xmlListPtr l,
76
+ void *data);
77
+ XMLPUBFUN int XMLCALL
78
+ xmlListRemoveLast (xmlListPtr l,
79
+ void *data);
80
+ XMLPUBFUN int XMLCALL
81
+ xmlListRemoveAll (xmlListPtr l,
82
+ void *data);
83
+ XMLPUBFUN void XMLCALL
84
+ xmlListClear (xmlListPtr l);
85
+ XMLPUBFUN int XMLCALL
86
+ xmlListEmpty (xmlListPtr l);
87
+ XMLPUBFUN xmlLinkPtr XMLCALL
88
+ xmlListFront (xmlListPtr l);
89
+ XMLPUBFUN xmlLinkPtr XMLCALL
90
+ xmlListEnd (xmlListPtr l);
91
+ XMLPUBFUN int XMLCALL
92
+ xmlListSize (xmlListPtr l);
93
+
94
+ XMLPUBFUN void XMLCALL
95
+ xmlListPopFront (xmlListPtr l);
96
+ XMLPUBFUN void XMLCALL
97
+ xmlListPopBack (xmlListPtr l);
98
+ XMLPUBFUN int XMLCALL
99
+ xmlListPushFront (xmlListPtr l,
100
+ void *data);
101
+ XMLPUBFUN int XMLCALL
102
+ xmlListPushBack (xmlListPtr l,
103
+ void *data);
104
+
105
+ /* Advanced Operators */
106
+ XMLPUBFUN void XMLCALL
107
+ xmlListReverse (xmlListPtr l);
108
+ XMLPUBFUN void XMLCALL
109
+ xmlListSort (xmlListPtr l);
110
+ XMLPUBFUN void XMLCALL
111
+ xmlListWalk (xmlListPtr l,
112
+ xmlListWalker walker,
113
+ void *user);
114
+ XMLPUBFUN void XMLCALL
115
+ xmlListReverseWalk (xmlListPtr l,
116
+ xmlListWalker walker,
117
+ void *user);
118
+ XMLPUBFUN void XMLCALL
119
+ xmlListMerge (xmlListPtr l1,
120
+ xmlListPtr l2);
121
+ XMLPUBFUN xmlListPtr XMLCALL
122
+ xmlListDup (const xmlListPtr old);
123
+ XMLPUBFUN int XMLCALL
124
+ xmlListCopy (xmlListPtr cur,
125
+ const xmlListPtr old);
126
+ /* Link operators */
127
+ XMLPUBFUN void * XMLCALL
128
+ xmlLinkGetData (xmlLinkPtr lk);
129
+
130
+ /* xmlListUnique() */
131
+ /* xmlListSwap */
132
+
133
+ #ifdef __cplusplus
134
+ }
135
+ #endif
136
+
137
+ #endif /* __XML_LINK_INCLUDE__ */
@@ -0,0 +1,163 @@
1
+ /*
2
+ * Summary: minimal FTP implementation
3
+ * Description: minimal FTP implementation allowing to fetch resources
4
+ * like external subset.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __NANO_FTP_H__
12
+ #define __NANO_FTP_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+
16
+ #ifdef LIBXML_FTP_ENABLED
17
+
18
+ /* Needed for portability to Windows 64 bits */
19
+ #if defined(_WIN32) && !defined(__CYGWIN__)
20
+ #include <winsock2.h>
21
+ #else
22
+ /**
23
+ * SOCKET:
24
+ *
25
+ * macro used to provide portability of code to windows sockets
26
+ */
27
+ #define SOCKET int
28
+ /**
29
+ * INVALID_SOCKET:
30
+ *
31
+ * macro used to provide portability of code to windows sockets
32
+ * the value to be used when the socket is not valid
33
+ */
34
+ #undef INVALID_SOCKET
35
+ #define INVALID_SOCKET (-1)
36
+ #endif
37
+
38
+ #ifdef __cplusplus
39
+ extern "C" {
40
+ #endif
41
+
42
+ /**
43
+ * ftpListCallback:
44
+ * @userData: user provided data for the callback
45
+ * @filename: the file name (including "->" when links are shown)
46
+ * @attrib: the attribute string
47
+ * @owner: the owner string
48
+ * @group: the group string
49
+ * @size: the file size
50
+ * @links: the link count
51
+ * @year: the year
52
+ * @month: the month
53
+ * @day: the day
54
+ * @hour: the hour
55
+ * @minute: the minute
56
+ *
57
+ * A callback for the xmlNanoFTPList command.
58
+ * Note that only one of year and day:minute are specified.
59
+ */
60
+ typedef void (*ftpListCallback) (void *userData,
61
+ const char *filename, const char *attrib,
62
+ const char *owner, const char *group,
63
+ unsigned long size, int links, int year,
64
+ const char *month, int day, int hour,
65
+ int minute);
66
+ /**
67
+ * ftpDataCallback:
68
+ * @userData: the user provided context
69
+ * @data: the data received
70
+ * @len: its size in bytes
71
+ *
72
+ * A callback for the xmlNanoFTPGet command.
73
+ */
74
+ typedef void (*ftpDataCallback) (void *userData,
75
+ const char *data,
76
+ int len);
77
+
78
+ /*
79
+ * Init
80
+ */
81
+ XMLPUBFUN void XMLCALL
82
+ xmlNanoFTPInit (void);
83
+ XMLPUBFUN void XMLCALL
84
+ xmlNanoFTPCleanup (void);
85
+
86
+ /*
87
+ * Creating/freeing contexts.
88
+ */
89
+ XMLPUBFUN void * XMLCALL
90
+ xmlNanoFTPNewCtxt (const char *URL);
91
+ XMLPUBFUN void XMLCALL
92
+ xmlNanoFTPFreeCtxt (void * ctx);
93
+ XMLPUBFUN void * XMLCALL
94
+ xmlNanoFTPConnectTo (const char *server,
95
+ int port);
96
+ /*
97
+ * Opening/closing session connections.
98
+ */
99
+ XMLPUBFUN void * XMLCALL
100
+ xmlNanoFTPOpen (const char *URL);
101
+ XMLPUBFUN int XMLCALL
102
+ xmlNanoFTPConnect (void *ctx);
103
+ XMLPUBFUN int XMLCALL
104
+ xmlNanoFTPClose (void *ctx);
105
+ XMLPUBFUN int XMLCALL
106
+ xmlNanoFTPQuit (void *ctx);
107
+ XMLPUBFUN void XMLCALL
108
+ xmlNanoFTPScanProxy (const char *URL);
109
+ XMLPUBFUN void XMLCALL
110
+ xmlNanoFTPProxy (const char *host,
111
+ int port,
112
+ const char *user,
113
+ const char *passwd,
114
+ int type);
115
+ XMLPUBFUN int XMLCALL
116
+ xmlNanoFTPUpdateURL (void *ctx,
117
+ const char *URL);
118
+
119
+ /*
120
+ * Rather internal commands.
121
+ */
122
+ XMLPUBFUN int XMLCALL
123
+ xmlNanoFTPGetResponse (void *ctx);
124
+ XMLPUBFUN int XMLCALL
125
+ xmlNanoFTPCheckResponse (void *ctx);
126
+
127
+ /*
128
+ * CD/DIR/GET handlers.
129
+ */
130
+ XMLPUBFUN int XMLCALL
131
+ xmlNanoFTPCwd (void *ctx,
132
+ const char *directory);
133
+ XMLPUBFUN int XMLCALL
134
+ xmlNanoFTPDele (void *ctx,
135
+ const char *file);
136
+
137
+ XMLPUBFUN SOCKET XMLCALL
138
+ xmlNanoFTPGetConnection (void *ctx);
139
+ XMLPUBFUN int XMLCALL
140
+ xmlNanoFTPCloseConnection(void *ctx);
141
+ XMLPUBFUN int XMLCALL
142
+ xmlNanoFTPList (void *ctx,
143
+ ftpListCallback callback,
144
+ void *userData,
145
+ const char *filename);
146
+ XMLPUBFUN SOCKET XMLCALL
147
+ xmlNanoFTPGetSocket (void *ctx,
148
+ const char *filename);
149
+ XMLPUBFUN int XMLCALL
150
+ xmlNanoFTPGet (void *ctx,
151
+ ftpDataCallback callback,
152
+ void *userData,
153
+ const char *filename);
154
+ XMLPUBFUN int XMLCALL
155
+ xmlNanoFTPRead (void *ctx,
156
+ void *dest,
157
+ int len);
158
+
159
+ #ifdef __cplusplus
160
+ }
161
+ #endif
162
+ #endif /* LIBXML_FTP_ENABLED */
163
+ #endif /* __NANO_FTP_H__ */
@@ -0,0 +1,81 @@
1
+ /*
2
+ * Summary: minimal HTTP implementation
3
+ * Description: minimal HTTP implementation allowing to fetch resources
4
+ * like external subset.
5
+ *
6
+ * Copy: See Copyright for the status of this software.
7
+ *
8
+ * Author: Daniel Veillard
9
+ */
10
+
11
+ #ifndef __NANO_HTTP_H__
12
+ #define __NANO_HTTP_H__
13
+
14
+ #include <libxml/xmlversion.h>
15
+
16
+ #ifdef LIBXML_HTTP_ENABLED
17
+
18
+ #ifdef __cplusplus
19
+ extern "C" {
20
+ #endif
21
+ XMLPUBFUN void XMLCALL
22
+ xmlNanoHTTPInit (void);
23
+ XMLPUBFUN void XMLCALL
24
+ xmlNanoHTTPCleanup (void);
25
+ XMLPUBFUN void XMLCALL
26
+ xmlNanoHTTPScanProxy (const char *URL);
27
+ XMLPUBFUN int XMLCALL
28
+ xmlNanoHTTPFetch (const char *URL,
29
+ const char *filename,
30
+ char **contentType);
31
+ XMLPUBFUN void * XMLCALL
32
+ xmlNanoHTTPMethod (const char *URL,
33
+ const char *method,
34
+ const char *input,
35
+ char **contentType,
36
+ const char *headers,
37
+ int ilen);
38
+ XMLPUBFUN void * XMLCALL
39
+ xmlNanoHTTPMethodRedir (const char *URL,
40
+ const char *method,
41
+ const char *input,
42
+ char **contentType,
43
+ char **redir,
44
+ const char *headers,
45
+ int ilen);
46
+ XMLPUBFUN void * XMLCALL
47
+ xmlNanoHTTPOpen (const char *URL,
48
+ char **contentType);
49
+ XMLPUBFUN void * XMLCALL
50
+ xmlNanoHTTPOpenRedir (const char *URL,
51
+ char **contentType,
52
+ char **redir);
53
+ XMLPUBFUN int XMLCALL
54
+ xmlNanoHTTPReturnCode (void *ctx);
55
+ XMLPUBFUN const char * XMLCALL
56
+ xmlNanoHTTPAuthHeader (void *ctx);
57
+ XMLPUBFUN const char * XMLCALL
58
+ xmlNanoHTTPRedir (void *ctx);
59
+ XMLPUBFUN int XMLCALL
60
+ xmlNanoHTTPContentLength( void * ctx );
61
+ XMLPUBFUN const char * XMLCALL
62
+ xmlNanoHTTPEncoding (void *ctx);
63
+ XMLPUBFUN const char * XMLCALL
64
+ xmlNanoHTTPMimeType (void *ctx);
65
+ XMLPUBFUN int XMLCALL
66
+ xmlNanoHTTPRead (void *ctx,
67
+ void *dest,
68
+ int len);
69
+ #ifdef LIBXML_OUTPUT_ENABLED
70
+ XMLPUBFUN int XMLCALL
71
+ xmlNanoHTTPSave (void *ctxt,
72
+ const char *filename);
73
+ #endif /* LIBXML_OUTPUT_ENABLED */
74
+ XMLPUBFUN void XMLCALL
75
+ xmlNanoHTTPClose (void *ctx);
76
+ #ifdef __cplusplus
77
+ }
78
+ #endif
79
+
80
+ #endif /* LIBXML_HTTP_ENABLED */
81
+ #endif /* __NANO_HTTP_H__ */