https://www.liblfds.org/mediawiki/index.php?title=r7.1.0:Function_lfds710_queue_umm_query&feed=atom&action=historyr7.1.0:Function lfds710 queue umm query - Revision history2024-03-29T14:58:40ZRevision history for this page on the wikiMediaWiki 1.36.0https://www.liblfds.org/mediawiki/index.php?title=r7.1.0:Function_lfds710_queue_umm_query&diff=709&oldid=prevAdmin at 18:44, 30 May 20162016-05-30T18:44:12Z<p></p>
<p><b>New page</b></p><div>{{DISPLAYTITLE:function lfds710_queue_umm_query}}<br />
==Source Files==<br />
└───liblfds710<br />
├───inc<br />
│ └───liblfds710<br />
│ lfds710_queue_umm.h<br />
└───src<br />
└───lfds710_queue<br />
lfds710_queue_umm_query.c<br />
<br />
==Enums==<br />
enum [[r7.1.0:enum lfds710_queue_umm_query|lfds710_queue_umm_query]]<br />
{<br />
LFDS710_QUEUE_UMM_QUERY_SINGLETHREADED_GET_COUNT,<br />
LFDS710_QUEUE_UMM_QUERY_SINGLETHREADED_VALIDATE<br />
};<br />
<br />
==Opaque Structures==<br />
struct [[r7.1.0:struct lfds710_queue_umm_state|lfds710_queue_umm_state]];<br />
<br />
==Prototype==<br />
void lfds710_queue_umm_query( struct lfds710_queue_umm_state *qumms,<br />
enum lfds710_queue_umm_query query_type,<br />
void *query_input,<br />
void *query_output );<br />
<br />
==Parameters==<br />
''struct lfds710_queue_umm_state *qumms''<br />
: A pointer to an initialized ''struct lfds710_queue_umm_state''.<br />
<br />
''enum lfds710_queue_umm_query query_type''<br />
: Indicates which query to perform.<br />
<br />
''void *query_input''<br />
: A pointer to data, or data cast to a void pointer, which is input data required by query indicated by ''query_type''.<br />
<br />
''void *query_output''<br />
: A pointer to store into which the requested information is placed, where the output data varies by the query indicted by ''query_type''.<br />
<br />
==Queries==<br />
''void *query_input''<br />
: A pointer to input data for the query, where the data varies by query;<br />
:: ''LFDS710_QUEUE_UMM_QUERY_SINGLETHREADED_GET_COUNT''<br />
::: ''query_input'' is NULL.<br />
:: ''LFDS710_QUEUE_UMM_QUERY_SINGLETHREADED_VALIDATE''<br />
::: ''query_input'' can be NULL, or or can be a pointer to a ''struct lfds710_misc_validation_info'', which specifies an expected min/max count, in which case validation also counts the number of elements and check they fall within the specified range.<br />
<br />
''void *query_output''<br />
: A pointer to output store for the query, where the output varies by query;<br />
:: ''LFDS710_QUEUE_UMM_QUERY_SINGLETHREADED_GET_COUNT''<br />
::: Points to a ''lfds710_pal_uint_t'', which is set to the number of elements in the queue.<br />
:: ''LFDS710_QUEUE_UMM_QUERY_SINGLETHREADED_VALIDATE''<br />
::: Points to an enum ''[[r7.1.0:enum lfds710_misc_validity|lfds710_misc_validity]]'', which is set to indicate the result of the validation operation.<br />
<br />
==Notes==<br />
All ''SINGLETHREADED'' queries can only be safely performed if no enqueue or dequeue operations occur while the operation runs. If enqueue or dequeue operations do occur during the execution of a ''SINGLETHREADED'' query, it is theoretically possible for the query to enter an infinite loop. Do not do this.<br />
<br />
==See Also==<br />
* [[r7.1.0:Queue (unbounded, many producer, many consumer)|Queue (unbounded, many producer, many consumer)]]</div>Admin