xref: /aosp_15_r20/external/libxml2/os400/libxmlrpg/nanoftp.rpgle (revision 7c5688314b92172186c154356a6374bf7684c3ca)
1*7c568831SAndroid Build Coastguard Worker      * Summary: minimal FTP implementation
2*7c568831SAndroid Build Coastguard Worker      * Description: minimal FTP implementation allowing to fetch resources
3*7c568831SAndroid Build Coastguard Worker      *              like external subset.
4*7c568831SAndroid Build Coastguard Worker      *
5*7c568831SAndroid Build Coastguard Worker      * Copy: See Copyright for the status of this software.
6*7c568831SAndroid Build Coastguard Worker      *
7*7c568831SAndroid Build Coastguard Worker      * Author: Patrick Monnerat <[email protected]>, DATASPHERE S.A.
8*7c568831SAndroid Build Coastguard Worker
9*7c568831SAndroid Build Coastguard Worker      /if not defined(NANO_FTP_H__)
10*7c568831SAndroid Build Coastguard Worker      /define NANO_FTP_H__
11*7c568831SAndroid Build Coastguard Worker
12*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlversion"
13*7c568831SAndroid Build Coastguard Worker
14*7c568831SAndroid Build Coastguard Worker      /if defined(LIBXML_FTP_ENABLED)
15*7c568831SAndroid Build Coastguard Worker
16*7c568831SAndroid Build Coastguard Worker      /include "libxmlrpg/xmlTypesC"
17*7c568831SAndroid Build Coastguard Worker
18*7c568831SAndroid Build Coastguard Worker     d INVALID_SOCKET  c                   -1
19*7c568831SAndroid Build Coastguard Worker
20*7c568831SAndroid Build Coastguard Worker      * ftpListCallback:
21*7c568831SAndroid Build Coastguard Worker      * @userData:  user provided data for the callback
22*7c568831SAndroid Build Coastguard Worker      * @filename:  the file name (including "->" when links are shown)
23*7c568831SAndroid Build Coastguard Worker      * @attrib:  the attribute string
24*7c568831SAndroid Build Coastguard Worker      * @owner:  the owner string
25*7c568831SAndroid Build Coastguard Worker      * @group:  the group string
26*7c568831SAndroid Build Coastguard Worker      * @size:  the file size
27*7c568831SAndroid Build Coastguard Worker      * @links:  the link count
28*7c568831SAndroid Build Coastguard Worker      * @year:  the year
29*7c568831SAndroid Build Coastguard Worker      * @month:  the month
30*7c568831SAndroid Build Coastguard Worker      * @day:  the day
31*7c568831SAndroid Build Coastguard Worker      * @hour:  the hour
32*7c568831SAndroid Build Coastguard Worker      * @minute:  the minute
33*7c568831SAndroid Build Coastguard Worker      *
34*7c568831SAndroid Build Coastguard Worker      * A callback for the xmlNanoFTPList command.
35*7c568831SAndroid Build Coastguard Worker      * Note that only one of year and day:minute are specified.
36*7c568831SAndroid Build Coastguard Worker
37*7c568831SAndroid Build Coastguard Worker     d ftpListCallback...
38*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
39*7c568831SAndroid Build Coastguard Worker     d                                     procptr
40*7c568831SAndroid Build Coastguard Worker
41*7c568831SAndroid Build Coastguard Worker      * ftpDataCallback:
42*7c568831SAndroid Build Coastguard Worker      * @userData: the user provided context
43*7c568831SAndroid Build Coastguard Worker      * @data: the data received
44*7c568831SAndroid Build Coastguard Worker      * @len: its size in bytes
45*7c568831SAndroid Build Coastguard Worker      *
46*7c568831SAndroid Build Coastguard Worker      * A callback for the xmlNanoFTPGet command.
47*7c568831SAndroid Build Coastguard Worker
48*7c568831SAndroid Build Coastguard Worker     d ftpDataCallback...
49*7c568831SAndroid Build Coastguard Worker     d                 s               *   based(######typedef######)
50*7c568831SAndroid Build Coastguard Worker     d                                     procptr
51*7c568831SAndroid Build Coastguard Worker
52*7c568831SAndroid Build Coastguard Worker      * Init
53*7c568831SAndroid Build Coastguard Worker
54*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPInit  pr                  extproc('xmlNanoFTPInit')
55*7c568831SAndroid Build Coastguard Worker
56*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPCleanup...
57*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPCleanup')
58*7c568831SAndroid Build Coastguard Worker
59*7c568831SAndroid Build Coastguard Worker      * Creating/freeing contexts.
60*7c568831SAndroid Build Coastguard Worker
61*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPNewCtxt...
62*7c568831SAndroid Build Coastguard Worker     d                 pr              *   extproc('xmlNanoFTPNewCtxt')         void *
63*7c568831SAndroid Build Coastguard Worker     d  URL                            *   value options(*string)               const char *
64*7c568831SAndroid Build Coastguard Worker
65*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPFreeCtxt...
66*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPFreeCtxt')
67*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
68*7c568831SAndroid Build Coastguard Worker
69*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPConnectTo...
70*7c568831SAndroid Build Coastguard Worker     d                 pr              *   extproc('xmlNanoFTPConnectTo')       void *
71*7c568831SAndroid Build Coastguard Worker     d  server                         *   value options(*string)               const char *
72*7c568831SAndroid Build Coastguard Worker     d  port                               value like(xmlCint)
73*7c568831SAndroid Build Coastguard Worker
74*7c568831SAndroid Build Coastguard Worker      * Opening/closing session connections.
75*7c568831SAndroid Build Coastguard Worker
76*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPOpen  pr              *   extproc('xmlNanoFTPOpen')            void *
77*7c568831SAndroid Build Coastguard Worker     d  URL                            *   value options(*string)               const char *
78*7c568831SAndroid Build Coastguard Worker
79*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPConnect...
80*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPConnect')
81*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
82*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
83*7c568831SAndroid Build Coastguard Worker
84*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPClose...
85*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPClose')
86*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
87*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
88*7c568831SAndroid Build Coastguard Worker
89*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPQuit  pr                  extproc('xmlNanoFTPQuit')
90*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
91*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
92*7c568831SAndroid Build Coastguard Worker
93*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPScanProxy...
94*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPScanProxy')
95*7c568831SAndroid Build Coastguard Worker     d  URL                            *   value options(*string)               const char *
96*7c568831SAndroid Build Coastguard Worker
97*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPProxy...
98*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPProxy')
99*7c568831SAndroid Build Coastguard Worker     d  host                           *   value options(*string)               const char *
100*7c568831SAndroid Build Coastguard Worker     d  port                               value like(xmlCint)
101*7c568831SAndroid Build Coastguard Worker     d  user                           *   value options(*string)               const char *
102*7c568831SAndroid Build Coastguard Worker     d  passwd                         *   value options(*string)               const char *
103*7c568831SAndroid Build Coastguard Worker     d  type                               value like(xmlCint)
104*7c568831SAndroid Build Coastguard Worker
105*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPUpdateURL...
106*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPUpdateURL')
107*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
108*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
109*7c568831SAndroid Build Coastguard Worker     d  URL                            *   value options(*string)               const char *
110*7c568831SAndroid Build Coastguard Worker
111*7c568831SAndroid Build Coastguard Worker      * Rather internal commands.
112*7c568831SAndroid Build Coastguard Worker
113*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPGetResponse...
114*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPGetResponse')
115*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
116*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
117*7c568831SAndroid Build Coastguard Worker
118*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPCheckResponse...
119*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPCheckResponse')
120*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
121*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
122*7c568831SAndroid Build Coastguard Worker
123*7c568831SAndroid Build Coastguard Worker      * CD/DIR/GET handlers.
124*7c568831SAndroid Build Coastguard Worker
125*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPCwd   pr                  extproc('xmlNanoFTPCwd')
126*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
127*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
128*7c568831SAndroid Build Coastguard Worker     d  directory                      *   value options(*string)               const char *
129*7c568831SAndroid Build Coastguard Worker
130*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPDele  pr                  extproc('xmlNanoFTPDele')
131*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
132*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
133*7c568831SAndroid Build Coastguard Worker     d  file                           *   value options(*string)               const char *
134*7c568831SAndroid Build Coastguard Worker
135*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPGetConnection...
136*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPGetConnection')   Socket descriptor
137*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
138*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
139*7c568831SAndroid Build Coastguard Worker
140*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPCloseConnection...
141*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPCloseConnection')
142*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
143*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
144*7c568831SAndroid Build Coastguard Worker
145*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPList  pr                  extproc('xmlNanoFTPList')
146*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
147*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
148*7c568831SAndroid Build Coastguard Worker     d  callback                           value like(ftpListCallback)
149*7c568831SAndroid Build Coastguard Worker     d  userData                       *   value                                void *
150*7c568831SAndroid Build Coastguard Worker     d  filename                       *   value options(*string)               const char *
151*7c568831SAndroid Build Coastguard Worker
152*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPGetSocket...
153*7c568831SAndroid Build Coastguard Worker     d                 pr                  extproc('xmlNanoFTPGetSocket')       Socket descriptor
154*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
155*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
156*7c568831SAndroid Build Coastguard Worker     d  filename                       *   value options(*string)               const char *
157*7c568831SAndroid Build Coastguard Worker
158*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPGet   pr                  extproc('xmlNanoFTPGet')
159*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
160*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
161*7c568831SAndroid Build Coastguard Worker     d  callback                           value like(ftpDataCallback)
162*7c568831SAndroid Build Coastguard Worker     d  userData                       *   value                                void *
163*7c568831SAndroid Build Coastguard Worker     d  filename                       *   value options(*string)               const char *
164*7c568831SAndroid Build Coastguard Worker
165*7c568831SAndroid Build Coastguard Worker     d xmlNanoFTPRead  pr                  extproc('xmlNanoFTPRead')
166*7c568831SAndroid Build Coastguard Worker     d                                     like(xmlCint)
167*7c568831SAndroid Build Coastguard Worker     d  ctx                            *   value                                void *
168*7c568831SAndroid Build Coastguard Worker     d  dest                           *   value                                void *
169*7c568831SAndroid Build Coastguard Worker     d  len                                value like(xmlCint)
170*7c568831SAndroid Build Coastguard Worker
171*7c568831SAndroid Build Coastguard Worker      /endif                                                                    LIBXML_FTP_ENABLED
172*7c568831SAndroid Build Coastguard Worker      /endif                                                                    NANO_FTP_H__
173