You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
172 lines
7.9 KiB
172 lines
7.9 KiB
* 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__
|
|
|