2 #define LFDS700_QUEUE_BSS_GET_USER_STATE_FROM_STATE( queue_bss_state ) ( (queue_bss_state).user_state )
5 enum lfds700_queue_bss_query
7 LFDS700_QUEUE_BSS_QUERY_GET_POTENTIALLY_INACCURATE_COUNT,
8 LFDS700_QUEUE_BSS_QUERY_VALIDATE
11 /***** structures *****/
12 struct lfds700_queue_bss_element
19 struct lfds700_queue_bss_state
25 lfds700_pal_uint_t volatile
29 struct lfds700_queue_bss_element
36 /***** public prototypes *****/
37 void lfds700_queue_bss_init_valid_on_current_logical_core( struct lfds700_queue_bss_state *qbsss,
38 struct lfds700_queue_bss_element *element_array,
39 lfds700_pal_uint_t number_elements,
41 // TRD : number_elements must be a positive integer power of 2
42 // TRD : used in conjunction with the #define LFDS700_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE
44 void lfds700_queue_bss_cleanup( struct lfds700_queue_bss_state *qbsss,
45 void (*element_cleanup_callback)(struct lfds700_queue_bss_state *qbsss, void *key, void *value) );
47 int lfds700_queue_bss_enqueue( struct lfds700_queue_bss_state *qbsss,
51 int lfds700_queue_bss_dequeue( struct lfds700_queue_bss_state *qbsss,
55 void lfds700_queue_bss_query( struct lfds700_queue_bss_state *qbsss,
56 enum lfds700_queue_bss_query query_type,