Go to the source code of this file.
|
static int | svm_fifo_lock (svm_fifo_t *f, u32 pid, u32 tag, int nowait) |
|
static void | svm_fifo_unlock (svm_fifo_t *f) |
|
static u32 | svm_fifo_max_dequeue (svm_fifo_t *f) |
|
static u32 | svm_fifo_max_enqueue (svm_fifo_t *f) |
|
static u8 | svm_fifo_has_ooo_data (svm_fifo_t *f) |
|
svm_fifo_t * | svm_fifo_create (u32 data_size_in_bytes) |
| create an svm fifo, in the current heap. More...
|
|
int | svm_fifo_enqueue_nowait (svm_fifo_t *f, int pid, u32 max_bytes, u8 *copy_from_here) |
|
int | svm_fifo_enqueue_with_offset (svm_fifo_t *f, int pid, u32 offset, u32 required_bytes, u8 *copy_from_here) |
|
int | svm_fifo_dequeue_nowait (svm_fifo_t *f, int pid, u32 max_bytes, u8 *copy_here) |
|
int | svm_fifo_peek (svm_fifo_t *f, int pid, u32 offset, u32 max_bytes, u8 *copy_here) |
|
int | svm_fifo_dequeue_drop (svm_fifo_t *f, int pid, u32 max_bytes) |
|
static ooo_segment_t * | svm_fifo_newest_ooo_segment (svm_fifo_t *f) |
|
static u32 | ooo_segment_offset (svm_fifo_t *f, ooo_segment_t *s) |
|
static u32 | ooo_segment_end_offset (svm_fifo_t *f, ooo_segment_t *s) |
|
#define OOO_SEGMENT_INVALID_INDEX ((u32)~0) |
Enumerator |
---|
SVM_FIFO_TAG_NOT_HELD |
|
SVM_FIFO_TAG_DEQUEUE |
|
SVM_FIFO_TAG_ENQUEUE |
|
Definition at line 26 of file svm_fifo.h.
create an svm fifo, in the current heap.
Fails vs blow up the process
Definition at line 20 of file svm_fifo.c.
int svm_fifo_dequeue_drop |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
max_bytes |
|
) |
| |
int svm_fifo_dequeue_nowait |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
max_bytes, |
|
|
u8 * |
copy_here |
|
) |
| |
int svm_fifo_enqueue_nowait |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
max_bytes, |
|
|
u8 * |
copy_from_here |
|
) |
| |
int svm_fifo_enqueue_with_offset |
( |
svm_fifo_t * |
f, |
|
|
int |
pid, |
|
|
u32 |
offset, |
|
|
u32 |
required_bytes, |
|
|
u8 * |
copy_from_here |
|
) |
| |