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 
12 #include <stdint.h>
13 #include <ipxe/refcnt.h>
14 #include <ipxe/interface.h>
15 #include <ipxe/xferbuf.h>
16 
17 /** A block device translator */
19  /** Reference count */
20  struct refcnt refcnt;
21  /** Block device interface */
22  struct interface block;
23  /** Data transfer interface */
24  struct interface xfer;
25 
26  /** Data transfer buffer */
28  /** Block size */
29  size_t blksize;
30 };
31 
32 extern int block_translate ( struct interface *block, void *buffer,
33  size_t size );
34 
35 #endif /* _IPXE_BLOCKTRANS_H */
A data transfer buffer.
Definition: xferbuf.h:18
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:26
An object interface.
Definition: interface.h:124
A block device translator.
Definition: blocktrans.h:18
Object interfaces.
struct interface xfer
Data transfer interface.
Definition: blocktrans.h:24
int block_translate(struct interface *block, void *buffer, size_t size)
Insert block device translator.
Definition: blocktrans.c:139
uint8_t block[3][8]
DES-encrypted blocks.
Definition: mschapv2.h:12
Reference counting.
struct xfer_buffer xferbuf
Data transfer buffer.
Definition: blocktrans.h:27
size_t blksize
Block size.
Definition: blocktrans.h:29
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
Data transfer buffer.
struct interface block
Block device interface.
Definition: blocktrans.h:22