summaryrefslogtreecommitdiffstats
path: root/src/core/downloader.c
diff options
context:
space:
mode:
authorMichael Brown2015-07-20 13:17:13 +0200
committerMichael Brown2015-07-22 22:17:47 +0200
commit2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e (patch)
tree5fc59a070a6d71bf58768fdd9725d9d193e1b269 /src/core/downloader.c
parent[downloader] Use generic data-transfer buffer mechanism (diff)
downloadipxe-2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e.tar.gz
ipxe-2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e.tar.xz
ipxe-2b15ae55073dfbaf66dbbb41ebe804a16cf47f1e.zip
[downloader] Provide direct access to the underlying data transfer buffer
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/core/downloader.c')
-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 82cb4b1e..d745f361 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 ),
};