aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2015-07-20 12:17:13 +0100
committerMichael Brown <mcb30@ipxe.org>2015-07-22 21:17:47 +0100
commit2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e (patch)
tree5fc59a070a6d71bf58768fdd9725d9d193e1b269
parentae5e7f0cf4422a8a514f569d293a5321c7fe85af (diff)
downloadipxe-2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e.zip
ipxe-2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e.tar.gz
ipxe-2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e.tar.bz2
[downloader] Provide direct access to the underlying data transfer buffer
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/core/downloader.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/core/downloader.c b/src/core/downloader.c
index 82cb4b1..d745f36 100644
--- a/src/core/downloader.c
+++ b/src/core/downloader.c
@@ -153,9 +153,23 @@ static int downloader_xfer_deliver ( struct downloader *downloader,
return rc;
}
+/**
+ * Get underlying data transfer buffer
+ *
+ * @v downloader Downloader
+ * @ret xferbuf Data transfer buffer, or NULL on error
+ */
+static struct xfer_buffer *
+downloader_xfer_buffer ( struct downloader *downloader ) {
+
+ /* Provide direct access to underlying data transfer buffer */
+ return &downloader->buffer;
+}
+
/** Downloader data transfer interface operations */
static struct interface_operation downloader_xfer_operations[] = {
INTF_OP ( xfer_deliver, struct downloader *, downloader_xfer_deliver ),
+ INTF_OP ( xfer_buffer, struct downloader *, downloader_xfer_buffer ),
INTF_OP ( intf_close, struct downloader *, downloader_finished ),
};