Skip to content
Start free evaluation

pdcomm_gem_host_report_query

Function

Sends an Event Report, Individual Report, or Annotated Individual Report request from a Host.

PdcommStatus pdcomm_gem_host_report_query(PdcommTcpEndpoint *endpoint, uint32_t kind, uint32_t id, PdcommTcpToken *out_token)

Declared in: #include <pdcomm_gem_queries.h>

The ID is sent as U4 and consumes one entry of the Host's shared max_pending_ids. The 32-slot, T3, cancellation, and token rules of pdcomm_tcp.h apply. The reply arrives as #PDCOMM_GEM_RESPONSE with request kind kind and outcome #PDCOMM_GEM_EVENT_QUERY_RECEIVED, #PDCOMM_GEM_INDIVIDUAL_QUERY_RECEIVED, or #PDCOMM_GEM_ANNOTATED_QUERY_RECEIVED. An S6F16 must echo the requested CEID, or the result is #PDCOMM_GEM_INVALID_RESPONSE. S6F20 and S6F22 carry no RPTID, so the result reports the requested ID.

Parameters

NameDescription
endpointHost endpoint.
kind#PDCOMM_GEM_EVENT_QUERY (S6F15), #PDCOMM_GEM_INDIVIDUAL_QUERY (S6F19), or #PDCOMM_GEM_ANNOTATED_QUERY (S6F21).
idCEID for #PDCOMM_GEM_EVENT_QUERY, otherwise RPTID.
out_tokenZeroed first; receives the transaction token on success. Must not be NULL.

Returns

#PDCOMM_OK when the request was queued; #PDCOMM_INVALID_ARGUMENT when endpoint or out_token is NULL or kind is unknown; #PDCOMM_LIMIT_EXCEEDED when max_pending_ids or the Host item limits would be exceeded; #PDCOMM_INVALID_STATE when the endpoint is not a Host or is not Communicating; #PDCOMM_BACKPRESSURE when a TCP event is staged or the pending slots or send queue are full; #PDCOMM_ALLOCATION_FAILED, #PDCOMM_IO_ERROR, or #PDCOMM_POISONED.

Notes

  • A successful send is not a response.