* 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) 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 10i 0 value * Opening/closing session connections. d xmlNanoFTPOpen pr * extproc('xmlNanoFTPOpen') void * d URL * value options(*string) const char * d xmlNanoFTPConnect... d pr 10i 0 extproc('xmlNanoFTPConnect') d ctx * value void * d xmlNanoFTPClose... d pr 10i 0 extproc('xmlNanoFTPClose') d ctx * value void * d xmlNanoFTPQuit pr 10i 0 extproc('xmlNanoFTPQuit') 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 10i 0 value d user * value options(*string) const char * d passwd * value options(*string) const char * d type 10i 0 value d xmlNanoFTPUpdateURL... d pr 10i 0 extproc('xmlNanoFTPUpdateURL') d ctx * value void * d URL * value options(*string) const char * * Rather internal commands. d xmlNanoFTPGetResponse... d pr 10i 0 extproc('xmlNanoFTPGetResponse') d ctx * value void * d xmlNanoFTPCheckResponse... d pr 10i 0 extproc('xmlNanoFTPCheckResponse') d ctx * value void * * CD/DIR/GET handlers. d xmlNanoFTPCwd pr 10i 0 extproc('xmlNanoFTPCwd') d ctx * value void * d directory * value options(*string) const char * d xmlNanoFTPDele pr 10i 0 extproc('xmlNanoFTPDele') d ctx * value void * d file * value options(*string) const char * d xmlNanoFTPGetConnection... d pr 10i 0 extproc('xmlNanoFTPGetConnection') Socket descriptor d ctx * value void * d xmlNanoFTPCloseConnection... d pr 10i 0 extproc('xmlNanoFTPCloseConnection') d ctx * value void * d xmlNanoFTPList pr 10i 0 extproc('xmlNanoFTPList') d ctx * value void * d callback value like(ftpListCallback) d userData * value void * d filename * value options(*string) const char * d xmlNanoFTPGetSocket... d pr 10i 0 extproc('xmlNanoFTPGetSocket') Socket descriptor d ctx * value void * d filename * value options(*string) const char * d xmlNanoFTPGet pr 10i 0 extproc('xmlNanoFTPGet') d ctx * value void * d callback value like(ftpDataCallback) d userData * value void * d filename * value options(*string) const char * d xmlNanoFTPRead pr 10i 0 extproc('xmlNanoFTPRead') d ctx * value void * d dest * value void * d len 10i 0 value /endif LIBXML_FTP_ENABLED /endif NANO_FTP_H__