* Summary: minimal FTP implementation | |
* Description: minimal FTP implementation allowing to fetch resources | |
* like external subset. | |
* | |
* Copy: See Copyright for the status of this software. | |
* | |
* Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A. | |
/if not defined(NANO_FTP_H__) | |
/define NANO_FTP_H__ | |
/include "libxmlrpg/xmlversion" | |
/if defined(LIBXML_FTP_ENABLED) | |
/include "libxmlrpg/xmlTypesC" | |
d INVALID_SOCKET c -1 | |
* ftpListCallback: | |
* @userData: user provided data for the callback | |
* @filename: the file name (including "->" when links are shown) | |
* @attrib: the attribute string | |
* @owner: the owner string | |
* @group: the group string | |
* @size: the file size | |
* @links: the link count | |
* @year: the year | |
* @month: the month | |
* @day: the day | |
* @hour: the hour | |
* @minute: the minute | |
* | |
* A callback for the xmlNanoFTPList command. | |
* Note that only one of year and day:minute are specified. | |
d ftpListCallback... | |
d s * based(######typedef######) | |
d procptr | |
* ftpDataCallback: | |
* @userData: the user provided context | |
* @data: the data received | |
* @len: its size in bytes | |
* | |
* A callback for the xmlNanoFTPGet command. | |
d ftpDataCallback... | |
d s * based(######typedef######) | |
d procptr | |
* Init | |
d xmlNanoFTPInit pr extproc('xmlNanoFTPInit') | |
d xmlNanoFTPCleanup... | |
d pr extproc('xmlNanoFTPCleanup') | |
* Creating/freeing contexts. | |
d xmlNanoFTPNewCtxt... | |
d pr * extproc('xmlNanoFTPNewCtxt') void * | |
d URL * value options(*string) const char * | |
d xmlNanoFTPFreeCtxt... | |
d pr extproc('xmlNanoFTPFreeCtxt') | |
d ctx * value void * | |
d xmlNanoFTPConnectTo... | |
d pr * extproc('xmlNanoFTPConnectTo') void * | |
d server * value options(*string) const char * | |
d port value like(xmlCint) | |
* Opening/closing session connections. | |
d xmlNanoFTPOpen pr * extproc('xmlNanoFTPOpen') void * | |
d URL * value options(*string) const char * | |
d xmlNanoFTPConnect... | |
d pr extproc('xmlNanoFTPConnect') | |
d like(xmlCint) | |
d ctx * value void * | |
d xmlNanoFTPClose... | |
d pr extproc('xmlNanoFTPClose') | |
d like(xmlCint) | |
d ctx * value void * | |
d xmlNanoFTPQuit pr extproc('xmlNanoFTPQuit') | |
d like(xmlCint) | |
d ctx * value void * | |
d xmlNanoFTPScanProxy... | |
d pr extproc('xmlNanoFTPScanProxy') | |
d URL * value options(*string) const char * | |
d xmlNanoFTPProxy... | |
d pr extproc('xmlNanoFTPProxy') | |
d host * value options(*string) const char * | |
d port value like(xmlCint) | |
d user * value options(*string) const char * | |
d passwd * value options(*string) const char * | |
d type value like(xmlCint) | |
d xmlNanoFTPUpdateURL... | |
d pr extproc('xmlNanoFTPUpdateURL') | |
d like(xmlCint) | |
d ctx * value void * | |
d URL * value options(*string) const char * | |
* Rather internal commands. | |
d xmlNanoFTPGetResponse... | |
d pr extproc('xmlNanoFTPGetResponse') | |
d like(xmlCint) | |
d ctx * value void * | |
d xmlNanoFTPCheckResponse... | |
d pr extproc('xmlNanoFTPCheckResponse') | |
d like(xmlCint) | |
d ctx * value void * | |
* CD/DIR/GET handlers. | |
d xmlNanoFTPCwd pr extproc('xmlNanoFTPCwd') | |
d like(xmlCint) | |
d ctx * value void * | |
d directory * value options(*string) const char * | |
d xmlNanoFTPDele pr extproc('xmlNanoFTPDele') | |
d like(xmlCint) | |
d ctx * value void * | |
d file * value options(*string) const char * | |
d xmlNanoFTPGetConnection... | |
d pr extproc('xmlNanoFTPGetConnection') Socket descriptor | |
d like(xmlCint) | |
d ctx * value void * | |
d xmlNanoFTPCloseConnection... | |
d pr extproc('xmlNanoFTPCloseConnection') | |
d like(xmlCint) | |
d ctx * value void * | |
d xmlNanoFTPList pr extproc('xmlNanoFTPList') | |
d like(xmlCint) | |
d ctx * value void * | |
d callback value like(ftpListCallback) | |
d userData * value void * | |
d filename * value options(*string) const char * | |
d xmlNanoFTPGetSocket... | |
d pr extproc('xmlNanoFTPGetSocket') Socket descriptor | |
d like(xmlCint) | |
d ctx * value void * | |
d filename * value options(*string) const char * | |
d xmlNanoFTPGet pr extproc('xmlNanoFTPGet') | |
d like(xmlCint) | |
d ctx * value void * | |
d callback value like(ftpDataCallback) | |
d userData * value void * | |
d filename * value options(*string) const char * | |
d xmlNanoFTPRead pr extproc('xmlNanoFTPRead') | |
d like(xmlCint) | |
d ctx * value void * | |
d dest * value void * | |
d len value like(xmlCint) | |
/endif LIBXML_FTP_ENABLED | |
/endif NANO_FTP_H__ |