
Go to the source code of this file.
Functions | |
| void | hipcQueueInit (struct HIPC_queue *const que_p, void *const buf_p, const size_t item_size, const size_t n_slot) |
| Initializes a queue. More... | |
| size_t | hipcQueueItemSize (struct HIPC_queue *const que_p) |
| Gets item size. More... | |
| void * | hipcQueueEmpty (struct HIPC_queue *const que_p) |
| Returns an address of the head item if it exists. More... | |
| void | hipcQueuePop (struct HIPC_queue *const que_p) |
| Pops an item and releases a slot. More... | |
| void * | hipcQueueFull (struct HIPC_queue const *const que_p) |
| Returns an address of an empty slot if it exists. More... | |
| void | hipcQueuePush (struct HIPC_queue *const que_p) |
| Pushes an item and occupies a slot. More... | |
| void | hipcQueueClear (struct HIPC_queue *const que_p) |
| Clears a queue. More... | |
| void hipcQueueInit | ( | struct HIPC_queue *const | que_p, |
| void *const | buf_p, | ||
| const size_t | item_size, | ||
| const size_t | n_slot | ||
| ) |
Initializes a queue.
| que_p | pointer to a queue |
| buf_p | a buffer whose size must be item_size multiplied by n_slot |
| item_size | size of an item |
| n_slot | number of slots |
Definition at line 12 of file queue.c.
References HIPC_queue::buf_p, HIPC_queue::head, HIPC_MEM_BARRIER, HIPC_queue::item_size, HIPC_queue::n_slot, and HIPC_queue::tail.
Referenced by hipcsvsRtInit(), and test_hipcQueue().

| size_t hipcQueueItemSize | ( | struct HIPC_queue *const | que_p | ) |
Gets item size.
| que_p | pointer to a queue |
Definition at line 32 of file queue.c.
References HIPC_queue::item_size.
Referenced by test_hipcQueue().

| void* hipcQueueEmpty | ( | struct HIPC_queue *const | que_p | ) |
Returns an address of the head item if it exists.
| que_p | pointer to a queue |
NULL when the queue is empty, otherwise an address of an item to be popped is returned. Definition at line 44 of file queue.c.
References HIPC_queue::buf_p, HIPC_queue::head, HIPC_queue::item_size, and HIPC_queue::tail.
Referenced by send_cast(), and test_hipcQueue().

| void hipcQueuePop | ( | struct HIPC_queue *const | que_p | ) |
Pops an item and releases a slot.
Before each pop, it must be checked that a queue is not empty by hipcQueueEmpty().
| que_p | pointer to a queue |
Definition at line 61 of file queue.c.
References HIPC_queue::head, HIPC_MEM_BARRIER, and HIPC_queue::n_slot.
Referenced by send_cast(), and test_hipcQueue().

| void* hipcQueueFull | ( | struct HIPC_queue const *const | que_p | ) |
Returns an address of an empty slot if it exists.
| que_p | pointer to a queue |
NULL when the queue is full, otherwise an address of an item to be pushed is returned. Definition at line 76 of file queue.c.
References HIPC_queue::buf_p, HIPC_queue::head, HIPC_queue::item_size, HIPC_queue::n_slot, and HIPC_queue::tail.
Referenced by runMockServer(), and test_hipcQueue().

| void hipcQueuePush | ( | struct HIPC_queue *const | que_p | ) |
Pushes an item and occupies a slot.
Before each push, it must be checked that a queue is not full by hipcQueueFull().
| que_p | pointer to a queue |
Definition at line 93 of file queue.c.
References HIPC_MEM_BARRIER, HIPC_queue::n_slot, and HIPC_queue::tail.
Referenced by runMockServer(), and test_hipcQueue().

| void hipcQueueClear | ( | struct HIPC_queue *const | que_p | ) |
Clears a queue.
Only a consumer, not a producer, should call this function because the consumer may still use a slot.
| que_p | pointer to a queue |
Definition at line 108 of file queue.c.
References HIPC_queue::head, HIPC_MEM_BARRIER, and HIPC_queue::tail.
Referenced by test_hipcQueue().

1.8.6