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