• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/ap/gpl/timemachine/gettext-0.17/gnulib-local/lib/libxml/
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#ifdef __cplusplus
19extern "C" {
20#endif
21
22/**
23 * ftpListCallback:
24 * @userData:  user provided data for the callback
25 * @filename:  the file name (including "->" when links are shown)
26 * @attrib:  the attribute string
27 * @owner:  the owner string
28 * @group:  the group string
29 * @size:  the file size
30 * @links:  the link count
31 * @year:  the year
32 * @month:  the month
33 * @day:  the day
34 * @hour:  the hour
35 * @minute:  the minute
36 *
37 * A callback for the xmlNanoFTPList command.
38 * Note that only one of year and day:minute are specified.
39 */
40typedef void (*ftpListCallback) (void *userData,
41	                         const char *filename, const char *attrib,
42	                         const char *owner, const char *group,
43				 unsigned long size, int links, int year,
44				 const char *month, int day, int hour,
45				 int minute);
46/**
47 * ftpDataCallback:
48 * @userData: the user provided context
49 * @data: the data received
50 * @len: its size in bytes
51 *
52 * A callback for the xmlNanoFTPGet command.
53 */
54typedef void (*ftpDataCallback) (void *userData,
55				 const char *data,
56				 int len);
57
58/*
59 * Init
60 */
61XMLPUBFUN void XMLCALL
62	xmlNanoFTPInit		(void);
63XMLPUBFUN void XMLCALL
64	xmlNanoFTPCleanup	(void);
65
66/*
67 * Creating/freeing contexts.
68 */
69XMLPUBFUN void * XMLCALL
70	xmlNanoFTPNewCtxt	(const char *URL);
71XMLPUBFUN void XMLCALL
72	xmlNanoFTPFreeCtxt	(void * ctx);
73XMLPUBFUN void * XMLCALL
74	xmlNanoFTPConnectTo	(const char *server,
75				 int port);
76/*
77 * Opening/closing session connections.
78 */
79XMLPUBFUN void * XMLCALL
80	xmlNanoFTPOpen		(const char *URL);
81XMLPUBFUN int XMLCALL
82	xmlNanoFTPConnect	(void *ctx);
83XMLPUBFUN int XMLCALL
84	xmlNanoFTPClose		(void *ctx);
85XMLPUBFUN int XMLCALL
86	xmlNanoFTPQuit		(void *ctx);
87XMLPUBFUN void XMLCALL
88	xmlNanoFTPScanProxy	(const char *URL);
89XMLPUBFUN void XMLCALL
90	xmlNanoFTPProxy		(const char *host,
91				 int port,
92				 const char *user,
93				 const char *passwd,
94				 int type);
95XMLPUBFUN int XMLCALL
96	xmlNanoFTPUpdateURL	(void *ctx,
97				 const char *URL);
98
99/*
100 * Rather internal commands.
101 */
102XMLPUBFUN int XMLCALL
103	xmlNanoFTPGetResponse	(void *ctx);
104XMLPUBFUN int XMLCALL
105	xmlNanoFTPCheckResponse	(void *ctx);
106
107/*
108 * CD/DIR/GET handlers.
109 */
110XMLPUBFUN int XMLCALL
111	xmlNanoFTPCwd		(void *ctx,
112				 const char *directory);
113XMLPUBFUN int XMLCALL
114	xmlNanoFTPDele		(void *ctx,
115				 const char *file);
116
117XMLPUBFUN int XMLCALL
118	xmlNanoFTPGetConnection	(void *ctx);
119XMLPUBFUN int XMLCALL
120	xmlNanoFTPCloseConnection(void *ctx);
121XMLPUBFUN int XMLCALL
122	xmlNanoFTPList		(void *ctx,
123				 ftpListCallback callback,
124				 void *userData,
125				 const char *filename);
126XMLPUBFUN int XMLCALL
127	xmlNanoFTPGetSocket	(void *ctx,
128				 const char *filename);
129XMLPUBFUN int XMLCALL
130	xmlNanoFTPGet		(void *ctx,
131				 ftpDataCallback callback,
132				 void *userData,
133				 const char *filename);
134XMLPUBFUN int XMLCALL
135	xmlNanoFTPRead		(void *ctx,
136				 void *dest,
137				 int len);
138
139#ifdef __cplusplus
140}
141#endif
142#endif /* LIBXML_FTP_ENABLED */
143#endif /* __NANO_FTP_H__ */
144