blob: 0637562eb319e3520a7a4e87790a7e58c389c092 [file] [log] [blame]
* 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)
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__