Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187/* * Summary: minimal FTP implementation * Description: minimal FTP implementation allowing to fetch resources * like external subset. This module is DEPRECATED, do not * use any of its functions. * * Copy: See Copyright for the status of this software. * * Author: Daniel Veillard */
#ifndef __NANO_FTP_H__#define __NANO_FTP_H__
#include <libxml/xmlversion.h>
#if defined(LIBXML_FTP_ENABLED)
/* Needed for portability to Windows 64 bits */#if defined(_WIN32)#include <winsock2.h>#else/** * SOCKET: * * macro used to provide portability of code to windows sockets */#define SOCKET int/** * INVALID_SOCKET: * * macro used to provide portability of code to windows sockets * the value to be used when the socket is not valid */#undef INVALID_SOCKET#define INVALID_SOCKET (-1)#endif
#ifdef __cplusplusextern "C" {#endif
/** * 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. */typedef void (*ftpListCallback) (void *userData, const char *filename, const char *attrib, const char *owner, const char *group, unsigned long size, int links, int year, const char *month, int day, int hour, int minute);/** * ftpDataCallback: * @userData: the user provided context * @data: the data received * @len: its size in bytes * * A callback for the xmlNanoFTPGet command. */typedef void (*ftpDataCallback) (void *userData, const char *data, int len);
/* * Init */XML_DEPRECATEDXMLPUBFUN void xmlNanoFTPInit (void);XML_DEPRECATEDXMLPUBFUN void xmlNanoFTPCleanup (void);
/* * Creating/freeing contexts. */XML_DEPRECATEDXMLPUBFUN void * xmlNanoFTPNewCtxt (const char *URL);XML_DEPRECATEDXMLPUBFUN void xmlNanoFTPFreeCtxt (void * ctx);XML_DEPRECATEDXMLPUBFUN void * xmlNanoFTPConnectTo (const char *server, int port);/* * Opening/closing session connections. */XML_DEPRECATEDXMLPUBFUN void * xmlNanoFTPOpen (const char *URL);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPConnect (void *ctx);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPClose (void *ctx);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPQuit (void *ctx);XML_DEPRECATEDXMLPUBFUN void xmlNanoFTPScanProxy (const char *URL);XML_DEPRECATEDXMLPUBFUN void xmlNanoFTPProxy (const char *host, int port, const char *user, const char *passwd, int type);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPUpdateURL (void *ctx, const char *URL);
/* * Rather internal commands. */XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPGetResponse (void *ctx);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPCheckResponse (void *ctx);
/* * CD/DIR/GET handlers. */XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPCwd (void *ctx, const char *directory);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPDele (void *ctx, const char *file);
XML_DEPRECATEDXMLPUBFUN SOCKET xmlNanoFTPGetConnection (void *ctx);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPCloseConnection(void *ctx);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPList (void *ctx, ftpListCallback callback, void *userData, const char *filename);XML_DEPRECATEDXMLPUBFUN SOCKET xmlNanoFTPGetSocket (void *ctx, const char *filename);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPGet (void *ctx, ftpDataCallback callback, void *userData, const char *filename);XML_DEPRECATEDXMLPUBFUN int xmlNanoFTPRead (void *ctx, void *dest, int len);
#ifdef __cplusplus}#endif#endif /* defined(LIBXML_FTP_ENABLED) || defined(LIBXML_LEGACY_ENABLED) */#endif /* __NANO_FTP_H__ */