2 #define LFDS710_QUEUE_BSS_GET_USER_STATE_FROM_STATE( queue_bss_state ) ( (queue_bss_state).user_state )
5 enum lfds710_queue_bss_query
7 LFDS710_QUEUE_BSS_QUERY_GET_POTENTIALLY_INACCURATE_COUNT,
8 LFDS710_QUEUE_BSS_QUERY_VALIDATE
11 /***** structures *****/
12 struct lfds710_queue_bss_element
19 struct lfds710_queue_bss_state
25 lfds710_pal_uint_t volatile
29 struct lfds710_queue_bss_element
36 /***** public prototypes *****/
37 void lfds710_queue_bss_init_valid_on_current_logical_core( struct lfds710_queue_bss_state *qbsss,
38 struct lfds710_queue_bss_element *element_array,
39 lfds710_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 LFDS710_MISC_MAKE_VALID_ON_CURRENT_LOGICAL_CORE_INITS_COMPLETED_BEFORE_NOW_ON_ANY_OTHER_LOGICAL_CORE
44 void lfds710_queue_bss_cleanup( struct lfds710_queue_bss_state *qbsss,
45 void (*element_cleanup_callback)(struct lfds710_queue_bss_state *qbsss, void *key, void *value) );
47 int lfds710_queue_bss_enqueue( struct lfds710_queue_bss_state *qbsss,
51 int lfds710_queue_bss_dequeue( struct lfds710_queue_bss_state *qbsss,
55 void lfds710_queue_bss_query( struct lfds710_queue_bss_state *qbsss,
56 enum lfds710_queue_bss_query query_type,