summaryrefslogtreecommitdiffstats
path: root/libxml2/os400/libxmlrpg/nanoftp.rpgle
blob: ac4f2aaf6d4e665c4374a238c3e4c1b6daedba1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
      * Summary: minimal FTP implementation
      * Description: minimal FTP implementation allowing to fetch resources
      *              like external subset.
      *
      * Copy: See Copyright for the status of this software.
      *
      * Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.

      /if not defined(NANO_FTP_H__)
      /define NANO_FTP_H__

      /include "libxmlrpg/xmlversion"

      /if defined(LIBXML_FTP_ENABLED)

      /include "libxmlrpg/xmlTypesC"

     d INVALID_SOCKET  c                   -1

      * 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.

     d ftpListCallback...
     d                 s               *   based(######typedef######)
     d                                     procptr

      * ftpDataCallback:
      * @userData: the user provided context
      * @data: the data received
      * @len: its size in bytes
      *
      * A callback for the xmlNanoFTPGet command.

     d ftpDataCallback...
     d                 s               *   based(######typedef######)
     d                                     procptr

      * Init

     d xmlNanoFTPInit  pr                  extproc('xmlNanoFTPInit')

     d xmlNanoFTPCleanup...
     d                 pr                  extproc('xmlNanoFTPCleanup')

      * Creating/freeing contexts.

     d xmlNanoFTPNewCtxt...
     d                 pr              *   extproc('xmlNanoFTPNewCtxt')         void *
     d  URL                            *   value options(*string)               const char *

     d xmlNanoFTPFreeCtxt...
     d                 pr                  extproc('xmlNanoFTPFreeCtxt')
     d  ctx                            *   value                                void *

     d xmlNanoFTPConnectTo...
     d                 pr              *   extproc('xmlNanoFTPConnectTo')       void *
     d  server                         *   value options(*string)               const char *
     d  port                               value like(xmlCint)

      * Opening/closing session connections.

     d xmlNanoFTPOpen  pr              *   extproc('xmlNanoFTPOpen')            void *
     d  URL                            *   value options(*string)               const char *

     d xmlNanoFTPConnect...
     d                 pr                  extproc('xmlNanoFTPConnect')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *

     d xmlNanoFTPClose...
     d                 pr                  extproc('xmlNanoFTPClose')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *

     d xmlNanoFTPQuit  pr                  extproc('xmlNanoFTPQuit')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *

     d xmlNanoFTPScanProxy...
     d                 pr                  extproc('xmlNanoFTPScanProxy')
     d  URL                            *   value options(*string)               const char *

     d xmlNanoFTPProxy...
     d                 pr                  extproc('xmlNanoFTPProxy')
     d  host                           *   value options(*string)               const char *
     d  port                               value like(xmlCint)
     d  user                           *   value options(*string)               const char *
     d  passwd                         *   value options(*string)               const char *
     d  type                               value like(xmlCint)

     d xmlNanoFTPUpdateURL...
     d                 pr                  extproc('xmlNanoFTPUpdateURL')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *
     d  URL                            *   value options(*string)               const char *

      * Rather internal commands.

     d xmlNanoFTPGetResponse...
     d                 pr                  extproc('xmlNanoFTPGetResponse')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *

     d xmlNanoFTPCheckResponse...
     d                 pr                  extproc('xmlNanoFTPCheckResponse')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *

      * CD/DIR/GET handlers.

     d xmlNanoFTPCwd   pr                  extproc('xmlNanoFTPCwd')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *
     d  directory                      *   value options(*string)               const char *

     d xmlNanoFTPDele  pr                  extproc('xmlNanoFTPDele')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *
     d  file                           *   value options(*string)               const char *

     d xmlNanoFTPGetConnection...
     d                 pr                  extproc('xmlNanoFTPGetConnection')   Socket descriptor
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *

     d xmlNanoFTPCloseConnection...
     d                 pr                  extproc('xmlNanoFTPCloseConnection')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *

     d xmlNanoFTPList  pr                  extproc('xmlNanoFTPList')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *
     d  callback                           value like(ftpListCallback)
     d  userData                       *   value                                void *
     d  filename                       *   value options(*string)               const char *

     d xmlNanoFTPGetSocket...
     d                 pr                  extproc('xmlNanoFTPGetSocket')       Socket descriptor
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *
     d  filename                       *   value options(*string)               const char *

     d xmlNanoFTPGet   pr                  extproc('xmlNanoFTPGet')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *
     d  callback                           value like(ftpDataCallback)
     d  userData                       *   value                                void *
     d  filename                       *   value options(*string)               const char *

     d xmlNanoFTPRead  pr                  extproc('xmlNanoFTPRead')
     d                                     like(xmlCint)
     d  ctx                            *   value                                void *
     d  dest                           *   value                                void *
     d  len                                value like(xmlCint)

      /endif                                                                    LIBXML_FTP_ENABLED
      /endif                                                                    NANO_FTP_H__