Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/xml2/include/libxml/nanoftp.h
4394 views
1
/*
2
* Summary: minimal FTP implementation
3
* Description: minimal FTP implementation allowing to fetch resources
4
* like external subset. This module is DEPRECATED, do not
5
* use any of its functions.
6
*
7
* Copy: See Copyright for the status of this software.
8
*
9
* Author: Daniel Veillard
10
*/
11
12
#ifndef __NANO_FTP_H__
13
#define __NANO_FTP_H__
14
15
#include <libxml/xmlversion.h>
16
17
#if defined(LIBXML_FTP_ENABLED)
18
19
/* Needed for portability to Windows 64 bits */
20
#if defined(_WIN32)
21
#include <winsock2.h>
22
#else
23
/**
24
* SOCKET:
25
*
26
* macro used to provide portability of code to windows sockets
27
*/
28
#define SOCKET int
29
/**
30
* INVALID_SOCKET:
31
*
32
* macro used to provide portability of code to windows sockets
33
* the value to be used when the socket is not valid
34
*/
35
#undef INVALID_SOCKET
36
#define INVALID_SOCKET (-1)
37
#endif
38
39
#ifdef __cplusplus
40
extern "C" {
41
#endif
42
43
/**
44
* ftpListCallback:
45
* @userData: user provided data for the callback
46
* @filename: the file name (including "->" when links are shown)
47
* @attrib: the attribute string
48
* @owner: the owner string
49
* @group: the group string
50
* @size: the file size
51
* @links: the link count
52
* @year: the year
53
* @month: the month
54
* @day: the day
55
* @hour: the hour
56
* @minute: the minute
57
*
58
* A callback for the xmlNanoFTPList command.
59
* Note that only one of year and day:minute are specified.
60
*/
61
typedef void (*ftpListCallback) (void *userData,
62
const char *filename, const char *attrib,
63
const char *owner, const char *group,
64
unsigned long size, int links, int year,
65
const char *month, int day, int hour,
66
int minute);
67
/**
68
* ftpDataCallback:
69
* @userData: the user provided context
70
* @data: the data received
71
* @len: its size in bytes
72
*
73
* A callback for the xmlNanoFTPGet command.
74
*/
75
typedef void (*ftpDataCallback) (void *userData,
76
const char *data,
77
int len);
78
79
/*
80
* Init
81
*/
82
XML_DEPRECATED
83
XMLPUBFUN void
84
xmlNanoFTPInit (void);
85
XML_DEPRECATED
86
XMLPUBFUN void
87
xmlNanoFTPCleanup (void);
88
89
/*
90
* Creating/freeing contexts.
91
*/
92
XML_DEPRECATED
93
XMLPUBFUN void *
94
xmlNanoFTPNewCtxt (const char *URL);
95
XML_DEPRECATED
96
XMLPUBFUN void
97
xmlNanoFTPFreeCtxt (void * ctx);
98
XML_DEPRECATED
99
XMLPUBFUN void *
100
xmlNanoFTPConnectTo (const char *server,
101
int port);
102
/*
103
* Opening/closing session connections.
104
*/
105
XML_DEPRECATED
106
XMLPUBFUN void *
107
xmlNanoFTPOpen (const char *URL);
108
XML_DEPRECATED
109
XMLPUBFUN int
110
xmlNanoFTPConnect (void *ctx);
111
XML_DEPRECATED
112
XMLPUBFUN int
113
xmlNanoFTPClose (void *ctx);
114
XML_DEPRECATED
115
XMLPUBFUN int
116
xmlNanoFTPQuit (void *ctx);
117
XML_DEPRECATED
118
XMLPUBFUN void
119
xmlNanoFTPScanProxy (const char *URL);
120
XML_DEPRECATED
121
XMLPUBFUN void
122
xmlNanoFTPProxy (const char *host,
123
int port,
124
const char *user,
125
const char *passwd,
126
int type);
127
XML_DEPRECATED
128
XMLPUBFUN int
129
xmlNanoFTPUpdateURL (void *ctx,
130
const char *URL);
131
132
/*
133
* Rather internal commands.
134
*/
135
XML_DEPRECATED
136
XMLPUBFUN int
137
xmlNanoFTPGetResponse (void *ctx);
138
XML_DEPRECATED
139
XMLPUBFUN int
140
xmlNanoFTPCheckResponse (void *ctx);
141
142
/*
143
* CD/DIR/GET handlers.
144
*/
145
XML_DEPRECATED
146
XMLPUBFUN int
147
xmlNanoFTPCwd (void *ctx,
148
const char *directory);
149
XML_DEPRECATED
150
XMLPUBFUN int
151
xmlNanoFTPDele (void *ctx,
152
const char *file);
153
154
XML_DEPRECATED
155
XMLPUBFUN SOCKET
156
xmlNanoFTPGetConnection (void *ctx);
157
XML_DEPRECATED
158
XMLPUBFUN int
159
xmlNanoFTPCloseConnection(void *ctx);
160
XML_DEPRECATED
161
XMLPUBFUN int
162
xmlNanoFTPList (void *ctx,
163
ftpListCallback callback,
164
void *userData,
165
const char *filename);
166
XML_DEPRECATED
167
XMLPUBFUN SOCKET
168
xmlNanoFTPGetSocket (void *ctx,
169
const char *filename);
170
XML_DEPRECATED
171
XMLPUBFUN int
172
xmlNanoFTPGet (void *ctx,
173
ftpDataCallback callback,
174
void *userData,
175
const char *filename);
176
XML_DEPRECATED
177
XMLPUBFUN int
178
xmlNanoFTPRead (void *ctx,
179
void *dest,
180
int len);
181
182
#ifdef __cplusplus
183
}
184
#endif
185
#endif /* defined(LIBXML_FTP_ENABLED) || defined(LIBXML_LEGACY_ENABLED) */
186
#endif /* __NANO_FTP_H__ */
187
188