summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/gpxe')
-rw-r--r--src/include/gpxe/filter.h2
-rw-r--r--src/include/gpxe/xfer.h38
2 files changed, 16 insertions, 24 deletions
diff --git a/src/include/gpxe/filter.h b/src/include/gpxe/filter.h
index 3943a9e14..126f63471 100644
--- a/src/include/gpxe/filter.h
+++ b/src/include/gpxe/filter.h
@@ -41,8 +41,6 @@ filter_other_half ( struct xfer_interface *xfer ) {
extern void filter_close ( struct xfer_interface *xfer, int rc );
extern int filter_vredirect ( struct xfer_interface *xfer, int type,
va_list args );
-extern int filter_seek ( struct xfer_interface *xfer, off_t offset,
- int whence );
extern size_t filter_window ( struct xfer_interface *xfer );
extern struct io_buffer * filter_alloc_iob ( struct xfer_interface *xfer,
size_t len );
diff --git a/src/include/gpxe/xfer.h b/src/include/gpxe/xfer.h
index 68c1169e5..c75fa0028 100644
--- a/src/include/gpxe/xfer.h
+++ b/src/include/gpxe/xfer.h
@@ -32,17 +32,6 @@ struct xfer_interface_operations {
*/
int ( * vredirect ) ( struct xfer_interface *xfer, int type,
va_list args );
- /** Seek to position
- *
- * @v xfer Data transfer interface
- * @v offset Offset to new position
- * @v whence Basis for new position
- * @ret rc Return status code
- *
- * @c whence must be one of @c SEEK_SET or @c SEEK_CUR.
- */
- int ( * seek ) ( struct xfer_interface *xfer, off_t offset,
- int whence );
/** Check flow control window
*
* @v xfer Data transfer interface
@@ -71,7 +60,7 @@ struct xfer_interface_operations {
*
* @v xfer Data transfer interface
* @v iobuf Datagram I/O buffer
- * @v meta Data transfer metadata, or NULL
+ * @v meta Data transfer metadata
* @ret rc Return status code
*
* A data transfer interface that wishes to support only raw
@@ -104,8 +93,21 @@ struct xfer_interface {
struct xfer_interface_operations *op;
};
+/** Basis positions for seek() events */
+enum seek_whence {
+ SEEK_CUR = 0,
+ SEEK_SET,
+};
+
/** Data transfer metadata */
struct xfer_metadata {
+ /** Position of data within stream */
+ off_t offset;
+ /** Basis for data position
+ *
+ * Must be one of @c SEEK_CUR or @c SEEK_SET.
+ */
+ int whence;
/** Source socket address, or NULL */
struct sockaddr *src;
/** Destination socket address, or NULL */
@@ -114,12 +116,6 @@ struct xfer_metadata {
struct net_device *netdev;
};
-/** Basis positions for seek() events */
-enum seek_whence {
- SEEK_SET = 0,
- SEEK_CUR,
-};
-
/**
* Describe seek basis
*
@@ -128,8 +124,8 @@ enum seek_whence {
static inline __attribute__ (( always_inline )) const char *
whence_text ( int whence ) {
switch ( whence ) {
- case SEEK_SET: return "SET";
case SEEK_CUR: return "CUR";
+ case SEEK_SET: return "SET";
default: return "INVALID";
}
}
@@ -141,7 +137,6 @@ extern void xfer_close ( struct xfer_interface *xfer, int rc );
extern int xfer_vredirect ( struct xfer_interface *xfer, int type,
va_list args );
extern int xfer_redirect ( struct xfer_interface *xfer, int type, ... );
-extern int xfer_seek ( struct xfer_interface *xfer, off_t offset, int whence );
extern size_t xfer_window ( struct xfer_interface *xfer );
extern struct io_buffer * xfer_alloc_iob ( struct xfer_interface *xfer,
size_t len );
@@ -156,12 +151,11 @@ extern int xfer_vprintf ( struct xfer_interface *xfer,
const char *format, va_list args );
extern int xfer_printf ( struct xfer_interface *xfer,
const char *format, ... );
+extern int xfer_seek ( struct xfer_interface *xfer, off_t offset, int whence );
extern void ignore_xfer_close ( struct xfer_interface *xfer, int rc );
extern int ignore_xfer_vredirect ( struct xfer_interface *xfer,
int type, va_list args );
-extern int ignore_xfer_seek ( struct xfer_interface *xfer, off_t offset,
- int whence );
extern size_t unlimited_xfer_window ( struct xfer_interface *xfer );
extern size_t no_xfer_window ( struct xfer_interface *xfer );
extern struct io_buffer * default_xfer_alloc_iob ( struct xfer_interface *xfer,