1 * Summary: minimal FTP implementation
2 * Description: minimal FTP implementation allowing to fetch resources
3 * like external subset.
5 * Copy: See Copyright for the status of this software.
7 * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
9 /if not defined(NANO_FTP_H__)
12 /include "libxmlrpg/xmlversion"
14 /if defined(LIBXML_FTP_ENABLED)
16 /include "libxmlrpg/xmlTypesC"
21 * @userData: user provided data for the callback
22 * @filename: the file name (including "->" when links are shown)
23 * @attrib: the attribute string
24 * @owner: the owner string
25 * @group: the group string
26 * @size: the file size
27 * @links: the link count
34 * A callback for the xmlNanoFTPList command.
35 * Note that only one of year and day:minute are specified.
38 d s * based(######typedef######)
42 * @userData: the user provided context
43 * @data: the data received
44 * @len: its size in bytes
46 * A callback for the xmlNanoFTPGet command.
49 d s * based(######typedef######)
54 d xmlNanoFTPInit pr extproc('xmlNanoFTPInit')
56 d xmlNanoFTPCleanup...
57 d pr extproc('xmlNanoFTPCleanup')
59 * Creating/freeing contexts.
61 d xmlNanoFTPNewCtxt...
62 d pr * extproc('xmlNanoFTPNewCtxt') void *
63 d URL * value options(*string) const char *
65 d xmlNanoFTPFreeCtxt...
66 d pr extproc('xmlNanoFTPFreeCtxt')
69 d xmlNanoFTPConnectTo...
70 d pr * extproc('xmlNanoFTPConnectTo') void *
71 d server * value options(*string) const char *
72 d port value like(xmlCint)
74 * Opening/closing session connections.
76 d xmlNanoFTPOpen pr * extproc('xmlNanoFTPOpen') void *
77 d URL * value options(*string) const char *
79 d xmlNanoFTPConnect...
80 d pr extproc('xmlNanoFTPConnect')
85 d pr extproc('xmlNanoFTPClose')
89 d xmlNanoFTPQuit pr extproc('xmlNanoFTPQuit')
93 d xmlNanoFTPScanProxy...
94 d pr extproc('xmlNanoFTPScanProxy')
95 d URL * value options(*string) const char *
98 d pr extproc('xmlNanoFTPProxy')
99 d host * value options(*string) const char *
100 d port value like(xmlCint)
101 d user * value options(*string) const char *
102 d passwd * value options(*string) const char *
103 d type value like(xmlCint)
105 d xmlNanoFTPUpdateURL...
106 d pr extproc('xmlNanoFTPUpdateURL')
109 d URL * value options(*string) const char *
111 * Rather internal commands.
113 d xmlNanoFTPGetResponse...
114 d pr extproc('xmlNanoFTPGetResponse')
118 d xmlNanoFTPCheckResponse...
119 d pr extproc('xmlNanoFTPCheckResponse')
123 * CD/DIR/GET handlers.
125 d xmlNanoFTPCwd pr extproc('xmlNanoFTPCwd')
128 d directory * value options(*string) const char *
130 d xmlNanoFTPDele pr extproc('xmlNanoFTPDele')
133 d file * value options(*string) const char *
135 d xmlNanoFTPGetConnection...
136 d pr extproc('xmlNanoFTPGetConnection') Socket descriptor
140 d xmlNanoFTPCloseConnection...
141 d pr extproc('xmlNanoFTPCloseConnection')
145 d xmlNanoFTPList pr extproc('xmlNanoFTPList')
148 d callback value like(ftpListCallback)
149 d userData * value void *
150 d filename * value options(*string) const char *
152 d xmlNanoFTPGetSocket...
153 d pr extproc('xmlNanoFTPGetSocket') Socket descriptor
156 d filename * value options(*string) const char *
158 d xmlNanoFTPGet pr extproc('xmlNanoFTPGet')
161 d callback value like(ftpDataCallback)
162 d userData * value void *
163 d filename * value options(*string) const char *
165 d xmlNanoFTPRead pr extproc('xmlNanoFTPRead')
168 d dest * value void *
169 d len value like(xmlCint)
171 /endif LIBXML_FTP_ENABLED