![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
Abstract data buffer. More...
#include <virtio>
Public Member Functions | |
template<typename T > | |
Data_buffer (T *p) | |
Create buffer for object p . | |
template<typename T > | |
void | set (T *p) |
Set buffer for object p . | |
l4_uint32_t | copy_to (Data_buffer *dst, l4_uint32_t max=UINT_MAX) |
Copy contents from this buffer to the destination buffer. | |
l4_uint32_t | skip (l4_uint32_t bytes) |
Skip given number of bytes in this buffer. | |
bool | done () const |
Check if there are no more bytes left in the buffer. | |
Data Fields | |
char * | pos |
Current buffer position. | |
l4_uint32_t | left |
Bytes left in buffer. | |
|
inlineexplicit |
|
inline |
Copy contents from this buffer to the destination buffer.
dst | Destination buffer. |
max | (optional) Maximum number of bytes to copy. |
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.
Referenced by Virtio_vlan_mangle::copy_pkt(), and L4virtio::Svr::Console::Device::port_write().
|
inline |
Check if there are no more bytes left in the buffer.
Definition at line 388 of file virtio.
References left.
Referenced by Virtio_net_transfer::transfer().
|
inline |
|
inline |
Skip given number of bytes in this buffer.
bytes | Number of bytes that shall be 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.
Referenced by Virtio_vlan_mangle::copy_pkt(), and Virtio_net_transfer::transfer().