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>