Barrelfish
|
Unidirectional bulk data transfer via shared memory. More...
Functions | |
void | bulk_destroy (struct bulk_transfer *bt) |
Destroy bulk data transport on shared memory region. More... | |
errval_t | bulk_init (void *mem, size_t size, size_t block_size, struct bulk_transfer *bt) |
Initialize bulk data transport on shared memory region. More... | |
errval_t | bulk_create (size_t size, size_t block_size, struct capref *shared_mem, struct bulk_transfer *bt) |
Create bulk data transport on allocated shared memory region. More... | |
struct bulk_buf * | bulk_alloc (struct bulk_transfer *bt) |
Allocate a buffer from a bulk transfer region. More... | |
void | bulk_buf_copy (struct bulk_buf *bb, void *buf, size_t buf_size) |
copy data from a buffer to a bulk buffer More... | |
errval_t | bulk_free (struct bulk_transfer *bt, uintptr_t id) |
Frees a buffer to its bulk transfer region. More... | |
Unidirectional bulk data transfer via shared memory.
struct bulk_buf* bulk_alloc | ( | struct bulk_transfer * | bt | ) |
Allocate a buffer from a bulk transfer region.
bt | Pointer to state |
void bulk_buf_copy | ( | struct bulk_buf * | bb, |
void * | buf, | ||
size_t | buf_size | ||
) |
copy data from a buffer to a bulk buffer
bb | bulk buffer to copy the data |
buf | (source) buffer |
buf_size | size of (source) buffer: |
errval_t bulk_create | ( | size_t | size, |
size_t | block_size, | ||
struct capref * | shared_mem, | ||
struct bulk_transfer * | bt | ||
) |
Create bulk data transport on allocated shared memory region.
size | Size in bytes of shared memory region to allocate |
block_size | Size in bytes of a buffer block |
shared_mem | Return parameter to allocated shared memory capability |
bt | Pointer to bulk transfer state to be filled |
void bulk_destroy | ( | struct bulk_transfer * | bt | ) |
Destroy bulk data transport on shared memory region.
bt | Pointer to bulk transfer state to be destroyed |
errval_t bulk_free | ( | struct bulk_transfer * | bt, |
uintptr_t | id | ||
) |
Frees a buffer to its bulk transfer region.
buf | Pointer to buffer state |
id | ID of buffer to be freed |
errval_t bulk_init | ( | void * | mem, |
size_t | size, | ||
size_t | block_size, | ||
struct bulk_transfer * | bt | ||
) |
Initialize bulk data transport on shared memory region.
mem | Pointer to shared memory region |
size | Size in bytes of region |
block_size | Size in bytes of a buffer block |
bt | Pointer to bulk transfer state to be filled |