function lfds711_queue_umm_enqueue

Jump to navigation Jump to search

Source Files

    │   └───liblfds711
    │           lfds711_queue_umm.h

Opaque Structures

struct lfds711_queue_umm_element;
struct lfds711_queue_umm_state;


void lfds711_queue_umm_enqueue( struct lfds711_queue_umm_state *qumms,
                                struct lfds711_queue_umm_element *qumme );


struct lfds711_queue_umm_state *qumms

A pointer to an initialized struct lfds711_queue_umm_state.

struct lfds711_queue_umm_state *qumme

A pointer to a user-allocated LFDS711_PAL_ATOMIC_ISOLATION_IN_BYTES aligned struct lfds711_queue_umm_element. Stack declared variables will automatically be correctly aligned by the compiler, due to the information in the structure definitions; nothing has to be done. Heap allocated variables however will by no means be correctly aligned and an aligned malloc must be used.


This function enqueues a queue element, with its key and value, onto the queue. The key and value are both optional, are set by the macros LFDS711_QUEUE_UMM_SET_KEY_IN_ELEMENT and LFDS711_QUEUE_UMM_SET_VALUE_IN_ELEMENT respectively, and can only be set when a queue element is outside of a queue.

See Also