2 #include "libshared_memory_internal.h"
8 /****************************************************************************/
9 #pragma warning( disable : 4100 )
11 void libshared_memory_query( struct libshared_memory_state *ms, enum libshared_memory_query query_type, void *query_input, void *query_output )
13 LFDS710_PAL_ASSERT( ms != NULL );
14 // TRD : query_type can be any value in its range
16 LFDS710_MISC_BARRIER_LOAD;
20 case LIBSHARED_MEMORY_QUERY_GET_AVAILABLE:
25 struct lfds710_list_asu_element
28 struct libshared_memory_element
31 LFDS710_PAL_ASSERT( query_input == NULL );
32 LFDS710_PAL_ASSERT( query_output != NULL );
34 while( LFDS710_LIST_ASU_GET_START_AND_THEN_NEXT(ms->list_of_allocations,lasue) )
36 me = LFDS710_LIST_ASU_GET_VALUE_FROM_ELEMENT( *lasue );
37 available_bytes += me->current_memory_size_in_bytes;
40 *(lfds710_pal_uint_t *) query_output = available_bytes;
48 #pragma warning( default : 4100 )