pdcomm_gem_host_request_alarm_list
Function
Sends S5F5 List Alarms Request (W=1) from a Host.
PdcommStatus pdcomm_gem_host_request_alarm_list(PdcommTcpEndpoint *endpoint, const uint32_t *ids, size_t count, PdcommTcpToken *out_token)An empty request (NULL and 0) asks for all alarms. Explicit ALIDs are sent as U4 items in the given order, duplicates included. They are copied before the send and count against the Host's max_pending_ids, which is shared by all native GEM requests that carry IDs. A successful S5F6 reply to an explicit request must list exactly the requested IDs in the requested order; otherwise the result is #PDCOMM_GEM_INVALID_RESPONSE with code #PDCOMM_GEM_ERROR_CORRELATION. A matching reply yields a RESPONSE result with outcome #PDCOMM_GEM_ALARM_LIST_RECEIVED; its alarms expose the IDs from the wire.
Parameters
| Name | Description |
|---|---|
endpoint | Endpoint with a configured GEM Host. |
ids | Array of count ALIDs. May be NULL when count is 0. |
count | Number of IDs; 0 requests all alarms. |
out_token | Receives the transaction token; zero after every failure. |
Returns
#PDCOMM_OK when the request was queued (queue acceptance only); #PDCOMM_INVALID_ARGUMENT when endpoint or out_token is NULL, or ids is NULL with a nonzero count; #PDCOMM_LIMIT_EXCEEDED when the IDs would exceed max_pending_ids or the message would exceed the Host item limits; #PDCOMM_INVALID_STATE when the endpoint has no GEM Host, communication is not COMMUNICATING, or the HSMS session is not selected; #PDCOMM_BACKPRESSURE when a TCP event is staged, all 32 pending slots are busy, or the TCP queue is full or stopping; #PDCOMM_ALLOCATION_FAILED; #PDCOMM_POISONED when the endpoint is poisoned or a panic was contained; or another TCP submission status, as for pdcomm_tcp_request().