Abstract data buffer.
More...
#include <virtio>
|
char * | pos |
| Current buffer position.
|
|
l4_uint32_t | left |
| Bytes left in buffer.
|
|
Abstract data buffer.
Definition at line 306 of file virtio.
◆ Data_buffer()
template<typename T >
L4virtio::Svr::Data_buffer::Data_buffer |
( |
T * |
p | ) |
|
|
inlineexplicit |
Create buffer for object p
.
- Template Parameters
-
T | Type of object (implicit) |
- Parameters
-
The buffer shall point to the start of the object p
and the size left is sizeof(T).
Definition at line 323 of file virtio.
◆ copy_to()
Copy contents from this buffer to the destination buffer.
- Parameters
-
dst | Destination buffer. |
max | (optional) Maximum number of bytes to copy. |
- Returns
- the number of bytes copied.
This function copies at most max
bytes from this to dst
. If max
is omitted, copies the maximum number of bytes available that fit dst
.
Definition at line 354 of file virtio.
References left, and pos.
Referenced by Virtio_vlan_mangle::copy_pkt(), and L4virtio::Svr::Console::Device::port_write().
◆ done()
bool L4virtio::Svr::Data_buffer::done |
( |
| ) |
const |
|
inline |
Check if there are no more bytes left in the buffer.
- Returns
- true if there are no more bytes left in the buffer.
Definition at line 388 of file virtio.
References left.
◆ set()
template<typename T >
void L4virtio::Svr::Data_buffer::set |
( |
T * |
p | ) |
|
|
inline |
Set buffer for object p
.
- Template Parameters
-
T | Type of object (implicit) |
- Parameters
-
The buffer shall point to the start of the object p
and the size left is sizeof(T).
Definition at line 337 of file virtio.
References left, and pos.
◆ skip()
Skip given number of bytes in this buffer.
- Parameters
-
bytes | Number of bytes that shall be skipped. |
- Returns
- The number of bytes skipped.
Try to skip the given number of bytes in this buffer, if there are less bytes left in the buffer that given then at most left bytes are skipped and the amount is returned.
Definition at line 375 of file virtio.
References left, and pos.
Referenced by Virtio_vlan_mangle::copy_pkt().
The documentation for this struct was generated from the following file: