blob: ac4f2aaf6d4e665c4374a238c3e4c1b6daedba1a [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)
/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__