* 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__