summaryrefslogtreecommitdiffstats
path: root/src/net/udp/tftp.c
diff options
context:
space:
mode:
authorMichael Brown2010-07-02 13:12:16 +0200
committerMichael Brown2010-09-03 22:21:14 +0200
commit364b92521ad19051083db605de3b8a058374e096 (patch)
tree14d3d80d6f7563fc12be91826e03534818ce0cd2 /src/net/udp/tftp.c
parent[eepro100] Add new PCI ID 8086:27dc (diff)
downloadipxe-364b92521ad19051083db605de3b8a058374e096.tar.gz
ipxe-364b92521ad19051083db605de3b8a058374e096.tar.xz
ipxe-364b92521ad19051083db605de3b8a058374e096.zip
[xfer] Generalise metadata "whence" field to "flags" field
iPXE has never supported SEEK_END; the usage of "whence" offers only the options of SEEK_SET and SEEK_CUR and so is effectively a boolean flag. Further flags will be required to support additional metadata required by the Fibre Channel network model, so repurpose the "whence" field as a generic "flags" field. xfer_seek() has always been used with SEEK_SET, so remove the "whence" field altogether from its argument list. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/udp/tftp.c')
-rw-r--r--src/net/udp/tftp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/net/udp/tftp.c b/src/net/udp/tftp.c
index 3bcd0a25..e8223c99 100644
--- a/src/net/udp/tftp.c
+++ b/src/net/udp/tftp.c
@@ -269,8 +269,8 @@ static int tftp_presize ( struct tftp_request *tftp, size_t filesize ) {
tftp->filesize = filesize;
/* Notify recipient of file size */
- xfer_seek ( &tftp->xfer, filesize, SEEK_SET );
- xfer_seek ( &tftp->xfer, 0, SEEK_SET );
+ xfer_seek ( &tftp->xfer, filesize );
+ xfer_seek ( &tftp->xfer, 0 );
/* Calculate expected number of blocks. Note that files whose
* length is an exact multiple of the blocksize will have a
@@ -854,7 +854,7 @@ static int tftp_rx_data ( struct tftp_request *tftp,
/* Deliver data */
memset ( &meta, 0, sizeof ( meta ) );
- meta.whence = SEEK_SET;
+ meta.flags = XFER_FL_ABS_OFFSET;
meta.offset = offset;
if ( ( rc = xfer_deliver ( &tftp->xfer, iob_disown ( iobuf ),
&meta ) ) != 0 ) {