@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.
- package/LICENSE +19 -0
- package/Makefile +18 -0
- package/README.md +52 -0
- package/binding.gyp +81 -0
- package/index.d.ts +273 -0
- package/index.js +45 -0
- package/lib/bindings.js +1 -0
- package/lib/document.js +118 -0
- package/lib/element.js +82 -0
- package/lib/sax_parser.js +38 -0
- package/package.json +70 -0
- package/src/html_document.cc +7 -0
- package/src/html_document.h +18 -0
- package/src/libxmljs.cc +252 -0
- package/src/libxmljs.h +53 -0
- package/src/xml_attribute.cc +173 -0
- package/src/xml_attribute.h +40 -0
- package/src/xml_comment.cc +117 -0
- package/src/xml_comment.h +30 -0
- package/src/xml_document.cc +810 -0
- package/src/xml_document.h +67 -0
- package/src/xml_element.cc +565 -0
- package/src/xml_element.h +61 -0
- package/src/xml_namespace.cc +158 -0
- package/src/xml_namespace.h +39 -0
- package/src/xml_node.cc +761 -0
- package/src/xml_node.h +73 -0
- package/src/xml_pi.cc +161 -0
- package/src/xml_pi.h +34 -0
- package/src/xml_sax_parser.cc +424 -0
- package/src/xml_sax_parser.h +73 -0
- package/src/xml_syntax_error.cc +66 -0
- package/src/xml_syntax_error.h +25 -0
- package/src/xml_text.cc +320 -0
- package/src/xml_text.h +48 -0
- package/src/xml_textwriter.cc +315 -0
- package/src/xml_textwriter.h +62 -0
- package/src/xml_xpath_context.cc +70 -0
- package/src/xml_xpath_context.h +23 -0
- package/vendor/libxml/Copyright +23 -0
- package/vendor/libxml/DOCBparser.c +305 -0
- package/vendor/libxml/HTMLparser.c +7287 -0
- package/vendor/libxml/HTMLtree.c +1200 -0
- package/vendor/libxml/Makefile +2983 -0
- package/vendor/libxml/SAX.c +180 -0
- package/vendor/libxml/SAX2.c +3036 -0
- package/vendor/libxml/buf.c +1351 -0
- package/vendor/libxml/buf.h +72 -0
- package/vendor/libxml/c14n.c +2234 -0
- package/vendor/libxml/catalog.c +3828 -0
- package/vendor/libxml/chvalid.c +336 -0
- package/vendor/libxml/config.h +294 -0
- package/vendor/libxml/config.h.gch +0 -0
- package/vendor/libxml/debugXML.c +3423 -0
- package/vendor/libxml/dict.c +1298 -0
- package/vendor/libxml/elfgcchack.h +17818 -0
- package/vendor/libxml/enc.h +32 -0
- package/vendor/libxml/encoding.c +3975 -0
- package/vendor/libxml/entities.c +1163 -0
- package/vendor/libxml/error.c +998 -0
- package/vendor/libxml/globals.c +1126 -0
- package/vendor/libxml/hash.c +1146 -0
- package/vendor/libxml/include/libxml/DOCBparser.h +96 -0
- package/vendor/libxml/include/libxml/HTMLparser.h +306 -0
- package/vendor/libxml/include/libxml/HTMLtree.h +147 -0
- package/vendor/libxml/include/libxml/Makefile +725 -0
- package/vendor/libxml/include/libxml/Makefile.am +54 -0
- package/vendor/libxml/include/libxml/Makefile.in +725 -0
- package/vendor/libxml/include/libxml/SAX.h +173 -0
- package/vendor/libxml/include/libxml/SAX2.h +178 -0
- package/vendor/libxml/include/libxml/c14n.h +128 -0
- package/vendor/libxml/include/libxml/catalog.h +182 -0
- package/vendor/libxml/include/libxml/chvalid.h +230 -0
- package/vendor/libxml/include/libxml/debugXML.h +217 -0
- package/vendor/libxml/include/libxml/dict.h +79 -0
- package/vendor/libxml/include/libxml/encoding.h +245 -0
- package/vendor/libxml/include/libxml/entities.h +151 -0
- package/vendor/libxml/include/libxml/globals.h +508 -0
- package/vendor/libxml/include/libxml/hash.h +236 -0
- package/vendor/libxml/include/libxml/list.h +137 -0
- package/vendor/libxml/include/libxml/nanoftp.h +163 -0
- package/vendor/libxml/include/libxml/nanohttp.h +81 -0
- package/vendor/libxml/include/libxml/parser.h +1243 -0
- package/vendor/libxml/include/libxml/parserInternals.h +644 -0
- package/vendor/libxml/include/libxml/pattern.h +100 -0
- package/vendor/libxml/include/libxml/relaxng.h +217 -0
- package/vendor/libxml/include/libxml/schemasInternals.h +958 -0
- package/vendor/libxml/include/libxml/schematron.h +142 -0
- package/vendor/libxml/include/libxml/threads.h +89 -0
- package/vendor/libxml/include/libxml/tree.h +1311 -0
- package/vendor/libxml/include/libxml/uri.h +94 -0
- package/vendor/libxml/include/libxml/valid.h +458 -0
- package/vendor/libxml/include/libxml/xinclude.h +129 -0
- package/vendor/libxml/include/libxml/xlink.h +189 -0
- package/vendor/libxml/include/libxml/xmlIO.h +368 -0
- package/vendor/libxml/include/libxml/xmlautomata.h +146 -0
- package/vendor/libxml/include/libxml/xmlerror.h +945 -0
- package/vendor/libxml/include/libxml/xmlexports.h +77 -0
- package/vendor/libxml/include/libxml/xmlmemory.h +224 -0
- package/vendor/libxml/include/libxml/xmlmodule.h +57 -0
- package/vendor/libxml/include/libxml/xmlreader.h +428 -0
- package/vendor/libxml/include/libxml/xmlregexp.h +222 -0
- package/vendor/libxml/include/libxml/xmlsave.h +88 -0
- package/vendor/libxml/include/libxml/xmlschemas.h +246 -0
- package/vendor/libxml/include/libxml/xmlschemastypes.h +151 -0
- package/vendor/libxml/include/libxml/xmlstring.h +140 -0
- package/vendor/libxml/include/libxml/xmlunicode.h +202 -0
- package/vendor/libxml/include/libxml/xmlversion.h +484 -0
- package/vendor/libxml/include/libxml/xmlwin32version.h +239 -0
- package/vendor/libxml/include/libxml/xmlwriter.h +488 -0
- package/vendor/libxml/include/libxml/xpath.h +564 -0
- package/vendor/libxml/include/libxml/xpathInternals.h +632 -0
- package/vendor/libxml/include/libxml/xpointer.h +114 -0
- package/vendor/libxml/include/win32config.h +122 -0
- package/vendor/libxml/include/wsockcompat.h +54 -0
- package/vendor/libxml/legacy.c +1343 -0
- package/vendor/libxml/libxml.h +134 -0
- package/vendor/libxml/list.c +779 -0
- package/vendor/libxml/nanoftp.c +2118 -0
- package/vendor/libxml/nanohttp.c +1899 -0
- package/vendor/libxml/parser.c +15553 -0
- package/vendor/libxml/parserInternals.c +2164 -0
- package/vendor/libxml/pattern.c +2621 -0
- package/vendor/libxml/relaxng.c +11101 -0
- package/vendor/libxml/rngparser.c +1595 -0
- package/vendor/libxml/runsuite.c +1157 -0
- package/vendor/libxml/save.h +36 -0
- package/vendor/libxml/schematron.c +1787 -0
- package/vendor/libxml/threads.c +1049 -0
- package/vendor/libxml/timsort.h +601 -0
- package/vendor/libxml/tree.c +10183 -0
- package/vendor/libxml/trio.c +6895 -0
- package/vendor/libxml/trio.h +230 -0
- package/vendor/libxml/triodef.h +228 -0
- package/vendor/libxml/trionan.c +914 -0
- package/vendor/libxml/trionan.h +84 -0
- package/vendor/libxml/triop.h +150 -0
- package/vendor/libxml/triostr.c +2112 -0
- package/vendor/libxml/triostr.h +144 -0
- package/vendor/libxml/uri.c +2561 -0
- package/vendor/libxml/valid.c +7138 -0
- package/vendor/libxml/xinclude.c +2657 -0
- package/vendor/libxml/xlink.c +183 -0
- package/vendor/libxml/xmlIO.c +4135 -0
- package/vendor/libxml/xmlcatalog.c +624 -0
- package/vendor/libxml/xmllint.c +3796 -0
- package/vendor/libxml/xmlmemory.c +1163 -0
- package/vendor/libxml/xmlmodule.c +468 -0
- package/vendor/libxml/xmlreader.c +6033 -0
- package/vendor/libxml/xmlregexp.c +8271 -0
- package/vendor/libxml/xmlsave.c +2735 -0
- package/vendor/libxml/xmlschemas.c +29173 -0
- package/vendor/libxml/xmlschemastypes.c +6276 -0
- package/vendor/libxml/xmlstring.c +1050 -0
- package/vendor/libxml/xmlunicode.c +3179 -0
- package/vendor/libxml/xmlwriter.c +4738 -0
- package/vendor/libxml/xpath.c +14734 -0
- package/vendor/libxml/xpointer.c +2969 -0
- package/vendor/libxml/xzlib.c +815 -0
- 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__ */
|