mirror of
https://github.com/ipxe/ipxe
synced 2025-12-26 17:42:47 +03:00
[xferbuf] Add generic data-transfer buffer
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -61,6 +61,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#define ERRFILE_edd ( ERRFILE_CORE | 0x00150000 )
|
||||
#define ERRFILE_parseopt ( ERRFILE_CORE | 0x00160000 )
|
||||
#define ERRFILE_test ( ERRFILE_CORE | 0x00170000 )
|
||||
#define ERRFILE_xferbuf ( ERRFILE_CORE | 0x00180000 )
|
||||
|
||||
#define ERRFILE_eisa ( ERRFILE_DRIVER | 0x00000000 )
|
||||
#define ERRFILE_isa ( ERRFILE_DRIVER | 0x00010000 )
|
||||
|
||||
31
src/include/ipxe/xferbuf.h
Normal file
31
src/include/ipxe/xferbuf.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef _IPXE_XFERBUF_H
|
||||
#define _IPXE_XFERBUF_H
|
||||
|
||||
/** @file
|
||||
*
|
||||
* Data transfer buffer
|
||||
*
|
||||
*/
|
||||
|
||||
FILE_LICENCE ( GPL2_OR_LATER );
|
||||
|
||||
#include <stdint.h>
|
||||
#include <ipxe/iobuf.h>
|
||||
#include <ipxe/xfer.h>
|
||||
|
||||
/** A data transfer buffer */
|
||||
struct xfer_buffer {
|
||||
/** Data */
|
||||
void *data;
|
||||
/** Size of data */
|
||||
size_t len;
|
||||
/** Current offset within data */
|
||||
size_t pos;
|
||||
};
|
||||
|
||||
extern void xferbuf_done ( struct xfer_buffer *xferbuf );
|
||||
extern int xferbuf_deliver ( struct xfer_buffer *xferbuf,
|
||||
struct io_buffer *iobuf,
|
||||
struct xfer_metadata *meta );
|
||||
|
||||
#endif /* _IPXE_XFERBUF_H */
|
||||
Reference in New Issue
Block a user