Annotation of embedaddon/libxml2/include/libxml/nanoftp.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Summary: minimal FTP implementation
! 3: * Description: minimal FTP implementation allowing to fetch resources
! 4: * like external subset.
! 5: *
! 6: * Copy: See Copyright for the status of this software.
! 7: *
! 8: * Author: Daniel Veillard
! 9: */
! 10:
! 11: #ifndef __NANO_FTP_H__
! 12: #define __NANO_FTP_H__
! 13:
! 14: #include <libxml/xmlversion.h>
! 15:
! 16: #ifdef LIBXML_FTP_ENABLED
! 17:
! 18: /* Needed for portability to Windows 64 bits */
! 19: #if defined(__MINGW32__) || defined(_WIN32_WCE)
! 20: #include <winsock2.h>
! 21: #else
! 22: /**
! 23: * SOCKET:
! 24: *
! 25: * macro used to provide portability of code to windows sockets
! 26: */
! 27: #define SOCKET int
! 28: /**
! 29: * INVALID_SOCKET:
! 30: *
! 31: * macro used to provide portability of code to windows sockets
! 32: * the value to be used when the socket is not valid
! 33: */
! 34: #define INVALID_SOCKET (-1)
! 35: #endif
! 36:
! 37: #ifdef __cplusplus
! 38: extern "C" {
! 39: #endif
! 40:
! 41: /**
! 42: * ftpListCallback:
! 43: * @userData: user provided data for the callback
! 44: * @filename: the file name (including "->" when links are shown)
! 45: * @attrib: the attribute string
! 46: * @owner: the owner string
! 47: * @group: the group string
! 48: * @size: the file size
! 49: * @links: the link count
! 50: * @year: the year
! 51: * @month: the month
! 52: * @day: the day
! 53: * @hour: the hour
! 54: * @minute: the minute
! 55: *
! 56: * A callback for the xmlNanoFTPList command.
! 57: * Note that only one of year and day:minute are specified.
! 58: */
! 59: typedef void (*ftpListCallback) (void *userData,
! 60: const char *filename, const char *attrib,
! 61: const char *owner, const char *group,
! 62: unsigned long size, int links, int year,
! 63: const char *month, int day, int hour,
! 64: int minute);
! 65: /**
! 66: * ftpDataCallback:
! 67: * @userData: the user provided context
! 68: * @data: the data received
! 69: * @len: its size in bytes
! 70: *
! 71: * A callback for the xmlNanoFTPGet command.
! 72: */
! 73: typedef void (*ftpDataCallback) (void *userData,
! 74: const char *data,
! 75: int len);
! 76:
! 77: /*
! 78: * Init
! 79: */
! 80: XMLPUBFUN void XMLCALL
! 81: xmlNanoFTPInit (void);
! 82: XMLPUBFUN void XMLCALL
! 83: xmlNanoFTPCleanup (void);
! 84:
! 85: /*
! 86: * Creating/freeing contexts.
! 87: */
! 88: XMLPUBFUN void * XMLCALL
! 89: xmlNanoFTPNewCtxt (const char *URL);
! 90: XMLPUBFUN void XMLCALL
! 91: xmlNanoFTPFreeCtxt (void * ctx);
! 92: XMLPUBFUN void * XMLCALL
! 93: xmlNanoFTPConnectTo (const char *server,
! 94: int port);
! 95: /*
! 96: * Opening/closing session connections.
! 97: */
! 98: XMLPUBFUN void * XMLCALL
! 99: xmlNanoFTPOpen (const char *URL);
! 100: XMLPUBFUN int XMLCALL
! 101: xmlNanoFTPConnect (void *ctx);
! 102: XMLPUBFUN int XMLCALL
! 103: xmlNanoFTPClose (void *ctx);
! 104: XMLPUBFUN int XMLCALL
! 105: xmlNanoFTPQuit (void *ctx);
! 106: XMLPUBFUN void XMLCALL
! 107: xmlNanoFTPScanProxy (const char *URL);
! 108: XMLPUBFUN void XMLCALL
! 109: xmlNanoFTPProxy (const char *host,
! 110: int port,
! 111: const char *user,
! 112: const char *passwd,
! 113: int type);
! 114: XMLPUBFUN int XMLCALL
! 115: xmlNanoFTPUpdateURL (void *ctx,
! 116: const char *URL);
! 117:
! 118: /*
! 119: * Rather internal commands.
! 120: */
! 121: XMLPUBFUN int XMLCALL
! 122: xmlNanoFTPGetResponse (void *ctx);
! 123: XMLPUBFUN int XMLCALL
! 124: xmlNanoFTPCheckResponse (void *ctx);
! 125:
! 126: /*
! 127: * CD/DIR/GET handlers.
! 128: */
! 129: XMLPUBFUN int XMLCALL
! 130: xmlNanoFTPCwd (void *ctx,
! 131: const char *directory);
! 132: XMLPUBFUN int XMLCALL
! 133: xmlNanoFTPDele (void *ctx,
! 134: const char *file);
! 135:
! 136: XMLPUBFUN SOCKET XMLCALL
! 137: xmlNanoFTPGetConnection (void *ctx);
! 138: XMLPUBFUN int XMLCALL
! 139: xmlNanoFTPCloseConnection(void *ctx);
! 140: XMLPUBFUN int XMLCALL
! 141: xmlNanoFTPList (void *ctx,
! 142: ftpListCallback callback,
! 143: void *userData,
! 144: const char *filename);
! 145: XMLPUBFUN SOCKET XMLCALL
! 146: xmlNanoFTPGetSocket (void *ctx,
! 147: const char *filename);
! 148: XMLPUBFUN int XMLCALL
! 149: xmlNanoFTPGet (void *ctx,
! 150: ftpDataCallback callback,
! 151: void *userData,
! 152: const char *filename);
! 153: XMLPUBFUN int XMLCALL
! 154: xmlNanoFTPRead (void *ctx,
! 155: void *dest,
! 156: int len);
! 157:
! 158: #ifdef __cplusplus
! 159: }
! 160: #endif
! 161: #endif /* LIBXML_FTP_ENABLED */
! 162: #endif /* __NANO_FTP_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>