|
@@ -32,7 +32,7 @@
|
32
|
32
|
* @v xfer Data transfer interface
|
33
|
33
|
* @v rc Reason for close
|
34
|
34
|
*/
|
35
|
|
-void close ( struct xfer_interface *xfer, int rc ) {
|
|
35
|
+void xfer_close ( struct xfer_interface *xfer, int rc ) {
|
36
|
36
|
struct xfer_interface *dest = xfer_dest ( xfer );
|
37
|
37
|
|
38
|
38
|
dest->op->close ( dest, rc );
|
|
@@ -46,7 +46,7 @@ void close ( struct xfer_interface *xfer, int rc ) {
|
46
|
46
|
* @v pos New position
|
47
|
47
|
* @ret rc Return status code
|
48
|
48
|
*/
|
49
|
|
-int seek ( struct xfer_interface *xfer, size_t pos ) {
|
|
49
|
+int xfer_seek ( struct xfer_interface *xfer, size_t pos ) {
|
50
|
50
|
struct xfer_interface *dest = xfer_dest ( xfer );
|
51
|
51
|
|
52
|
52
|
return dest->op->seek ( dest, pos );
|
|
@@ -60,7 +60,7 @@ int seek ( struct xfer_interface *xfer, size_t pos ) {
|
60
|
60
|
* @v args Remaining arguments depend upon location type
|
61
|
61
|
* @ret rc Return status code
|
62
|
62
|
*/
|
63
|
|
-int vredirect ( struct xfer_interface *xfer, int type, va_list args ) {
|
|
63
|
+int xfer_vredirect ( struct xfer_interface *xfer, int type, va_list args ) {
|
64
|
64
|
struct xfer_interface *dest = xfer_dest ( xfer );
|
65
|
65
|
|
66
|
66
|
return dest->op->vredirect ( dest, type, args );
|
|
@@ -74,12 +74,12 @@ int vredirect ( struct xfer_interface *xfer, int type, va_list args ) {
|
74
|
74
|
* @v ... Remaining arguments depend upon location type
|
75
|
75
|
* @ret rc Return status code
|
76
|
76
|
*/
|
77
|
|
-int redirect ( struct xfer_interface *xfer, int type, ... ) {
|
|
77
|
+int xfer_redirect ( struct xfer_interface *xfer, int type, ... ) {
|
78
|
78
|
va_list args;
|
79
|
79
|
int rc;
|
80
|
80
|
|
81
|
81
|
va_start ( args, type );
|
82
|
|
- rc = vredirect ( xfer, type, args );
|
|
82
|
+ rc = xfer_vredirect ( xfer, type, args );
|
83
|
83
|
va_end ( args );
|
84
|
84
|
return rc;
|
85
|
85
|
}
|
|
@@ -91,7 +91,7 @@ int redirect ( struct xfer_interface *xfer, int type, ... ) {
|
91
|
91
|
* @v iobuf Datagram I/O buffer
|
92
|
92
|
* @ret rc Return status code
|
93
|
93
|
*/
|
94
|
|
-int deliver ( struct xfer_interface *xfer, struct io_buffer *iobuf ) {
|
|
94
|
+int xfer_deliver ( struct xfer_interface *xfer, struct io_buffer *iobuf ) {
|
95
|
95
|
struct xfer_interface *dest = xfer_dest ( xfer );
|
96
|
96
|
|
97
|
97
|
return dest->op->deliver ( dest, iobuf );
|
|
@@ -104,7 +104,8 @@ int deliver ( struct xfer_interface *xfer, struct io_buffer *iobuf ) {
|
104
|
104
|
* @v iobuf Datagram I/O buffer
|
105
|
105
|
* @ret rc Return status code
|
106
|
106
|
*/
|
107
|
|
-int deliver_raw ( struct xfer_interface *xfer, const void *data, size_t len ) {
|
|
107
|
+int xfer_deliver_raw ( struct xfer_interface *xfer,
|
|
108
|
+ const void *data, size_t len ) {
|
108
|
109
|
struct xfer_interface *dest = xfer_dest ( xfer );
|
109
|
110
|
|
110
|
111
|
return dest->op->deliver_raw ( dest, data, len );
|
|
@@ -120,36 +121,47 @@ int deliver_raw ( struct xfer_interface *xfer, const void *data, size_t len ) {
|
120
|
121
|
*/
|
121
|
122
|
|
122
|
123
|
/**
|
123
|
|
- * Ignore close()
|
|
124
|
+ * Ignore start() event
|
|
125
|
+ *
|
|
126
|
+ * @v xfer Data transfer interface
|
|
127
|
+ */
|
|
128
|
+void ignore_xfer_start ( struct xfer_interface *xfer __unused ) {
|
|
129
|
+ /* Nothing to do */
|
|
130
|
+}
|
|
131
|
+
|
|
132
|
+/**
|
|
133
|
+ * Ignore close() event
|
124
|
134
|
*
|
125
|
135
|
* @v xfer Data transfer interface
|
126
|
136
|
* @v rc Reason for close
|
127
|
137
|
*/
|
128
|
|
-void ignore_close ( struct xfer_interface *xfer __unused, int rc __unused ) {
|
|
138
|
+void ignore_xfer_close ( struct xfer_interface *xfer __unused,
|
|
139
|
+ int rc __unused ) {
|
129
|
140
|
/* Nothing to do */
|
130
|
141
|
}
|
131
|
142
|
|
132
|
143
|
/**
|
133
|
|
- * Ignore vredirect()
|
|
144
|
+ * Ignore vredirect() event
|
134
|
145
|
*
|
135
|
146
|
* @v xfer Data transfer interface
|
136
|
147
|
* @v type New location type
|
137
|
148
|
* @v args Remaining arguments depend upon location type
|
138
|
149
|
* @ret rc Return status code
|
139
|
150
|
*/
|
140
|
|
-int ignore_vredirect ( struct xfer_interface *xfer __unused,
|
141
|
|
- int type __unused, va_list args __unused ) {
|
|
151
|
+int ignore_xfer_vredirect ( struct xfer_interface *xfer __unused,
|
|
152
|
+ int type __unused, va_list args __unused ) {
|
142
|
153
|
return 0;
|
143
|
154
|
}
|
144
|
155
|
|
145
|
156
|
/**
|
146
|
|
- * Ignore seek()
|
|
157
|
+ * Ignore seek() event
|
147
|
158
|
*
|
148
|
159
|
* @v xfer Data transfer interface
|
149
|
160
|
* @v pos New position
|
150
|
161
|
* @ret rc Return status code
|
151
|
162
|
*/
|
152
|
|
-int ignore_seek ( struct xfer_interface *xfer __unused, size_t pos __unused ) {
|
|
163
|
+int ignore_xfer_seek ( struct xfer_interface *xfer __unused,
|
|
164
|
+ size_t pos __unused ) {
|
153
|
165
|
return 0;
|
154
|
166
|
}
|
155
|
167
|
|
|
@@ -163,8 +175,8 @@ int ignore_seek ( struct xfer_interface *xfer __unused, size_t pos __unused ) {
|
163
|
175
|
* This function is intended to be used as the deliver() method for
|
164
|
176
|
* data transfer interfaces that prefer to handle raw data.
|
165
|
177
|
*/
|
166
|
|
-int deliver_as_raw ( struct xfer_interface *xfer,
|
167
|
|
- struct io_buffer *iobuf ) {
|
|
178
|
+int xfer_deliver_as_raw ( struct xfer_interface *xfer,
|
|
179
|
+ struct io_buffer *iobuf ) {
|
168
|
180
|
int rc;
|
169
|
181
|
|
170
|
182
|
rc = xfer->op->deliver_raw ( xfer, iobuf->data, iob_len ( iobuf ) );
|
|
@@ -183,8 +195,8 @@ int deliver_as_raw ( struct xfer_interface *xfer,
|
183
|
195
|
* This function is intended to be used as the deliver_raw() method
|
184
|
196
|
* for data transfer interfaces that prefer to handle I/O buffers.
|
185
|
197
|
*/
|
186
|
|
-int deliver_as_iobuf ( struct xfer_interface *xfer,
|
187
|
|
- const void *data, size_t len ) {
|
|
198
|
+int xfer_deliver_as_iobuf ( struct xfer_interface *xfer,
|
|
199
|
+ const void *data, size_t len ) {
|
188
|
200
|
struct io_buffer *iobuf;
|
189
|
201
|
|
190
|
202
|
iobuf = alloc_iob ( len );
|
|
@@ -196,15 +208,15 @@ int deliver_as_iobuf ( struct xfer_interface *xfer,
|
196
|
208
|
}
|
197
|
209
|
|
198
|
210
|
/**
|
199
|
|
- * Ignore datagram as raw data
|
|
211
|
+ * Ignore datagram as raw data event
|
200
|
212
|
*
|
201
|
213
|
* @v xfer Data transfer interface
|
202
|
214
|
* @v data Data buffer
|
203
|
215
|
* @v len Length of data buffer
|
204
|
216
|
* @ret rc Return status code
|
205
|
217
|
*/
|
206
|
|
-int ignore_deliver_raw ( struct xfer_interface *xfer,
|
207
|
|
- const void *data __unused, size_t len ) {
|
|
218
|
+int ignore_xfer_deliver_raw ( struct xfer_interface *xfer,
|
|
219
|
+ const void *data __unused, size_t len ) {
|
208
|
220
|
DBGC ( xfer, "XFER %p %zd bytes delivered %s\n", xfer, len,
|
209
|
221
|
( ( xfer == &null_xfer ) ?
|
210
|
222
|
"before connection" : "after termination" ) );
|
|
@@ -213,11 +225,12 @@ int ignore_deliver_raw ( struct xfer_interface *xfer,
|
213
|
225
|
|
214
|
226
|
/** Null data transfer interface operations */
|
215
|
227
|
struct xfer_interface_operations null_xfer_ops = {
|
216
|
|
- .close = ignore_close,
|
217
|
|
- .vredirect = ignore_vredirect,
|
218
|
|
- .seek = ignore_seek,
|
219
|
|
- .deliver = deliver_as_raw,
|
220
|
|
- .deliver_raw = ignore_deliver_raw,
|
|
228
|
+ .start = ignore_xfer_start,
|
|
229
|
+ .close = ignore_xfer_close,
|
|
230
|
+ .vredirect = ignore_xfer_vredirect,
|
|
231
|
+ .seek = ignore_xfer_seek,
|
|
232
|
+ .deliver = xfer_deliver_as_raw,
|
|
233
|
+ .deliver_raw = ignore_xfer_deliver_raw,
|
221
|
234
|
};
|
222
|
235
|
|
223
|
236
|
/**
|