iPXE
blocktrans.h
Go to the documentation of this file.
1 #ifndef _IPXE_BLOCKTRANS_H
2 #define _IPXE_BLOCKTRANS_H
3 
4 /** @file
5  *
6  * Block device translator
7  *
8  */
9 
10 FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
11 FILE_SECBOOT ( PERMITTED );
12 
13 #include <stdint.h>
14 #include <ipxe/refcnt.h>
15 #include <ipxe/interface.h>
16 #include <ipxe/xferbuf.h>
17 
18 /** A block device translator */
20  /** Reference count */
21  struct refcnt refcnt;
22  /** Block device interface */
23  struct interface block;
24  /** Data transfer interface */
25  struct interface xfer;
26 
27  /** Data transfer buffer */
29  /** Block size */
30  size_t blksize;
31 };
32 
33 extern int block_translate ( struct interface *block, void *buffer,
34  size_t size );
35 
36 #endif /* _IPXE_BLOCKTRANS_H */
A data transfer buffer.
Definition: xferbuf.h:19
uint16_t size
Buffer size.
Definition: dwmac.h:14
uint32_t buffer
Buffer index (or NETVSC_RNDIS_NO_BUFFER)
Definition: netvsc.h:16
A reference counter.
Definition: refcnt.h:27
An object interface.
Definition: interface.h:125
A block device translator.
Definition: blocktrans.h:19
Object interfaces.
struct interface xfer
Data transfer interface.
Definition: blocktrans.h:25
int block_translate(struct interface *block, void *buffer, size_t size)
Insert block device translator.
Definition: blocktrans.c:140
uint8_t block[3][8]
DES-encrypted blocks.
Definition: mschapv2.h:12
FILE_SECBOOT(PERMITTED)
Reference counting.
struct xfer_buffer xferbuf
Data transfer buffer.
Definition: blocktrans.h:28
size_t blksize
Block size.
Definition: blocktrans.h:30
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
Data transfer buffer.
struct interface block
Block device interface.
Definition: blocktrans.h:23