Skip to content
Start free evaluation

pdcomm_gem_formatted_program_verification_retry_verification

Function

Resends the S7F27 report after a grant whose automatic send failed.

PdcommStatus pdcomm_gem_formatted_program_verification_retry_verification(PdcommTcpEndpoint *endpoint, PdcommGemResult *result, PdcommTcpToken *out_token)

Declared in: #include <pdcomm_gem_formatted_program_verification_negotiation.h>

Use it with the grant result (kind #PDCOMM_GEM_FAILED, outcome #PDCOMM_GEM_FORMATTED_PROGRAM_VERIFICATION_NEGOTIATION_GRANT_RECEIVED) or any other equipment-side result of the same negotiation. The S7F28 acknowledgement produces a later result with outcome #PDCOMM_GEM_FORMATTED_PROGRAM_VERIFICATION_NEGOTIATION_ACK_RECEIVED.

Parameters

NameDescription
endpointCommunicating GEM equipment endpoint.
resultEquipment-side result of a granted negotiation.
out_tokenReceives the S7F27 transaction token. It is zeroed first whenever it is not NULL, so it is zero after every failure.

Returns

#PDCOMM_OK when the report was queued; #PDCOMM_INVALID_ARGUMENT when a pointer is NULL; #PDCOMM_INVALID_STATE when the endpoint is not a communicating GEM equipment, the service is not configured, or result is not a negotiation result; #PDCOMM_STALE_TOKEN when result is not an equipment-side record of this endpoint and session, or the negotiation already finished; #PDCOMM_INVALID_STATE also when the negotiation was not granted or the report was already sent; #PDCOMM_BACKPRESSURE when the endpoint holds a staged TCP event, all 32 GEM request slots are in use, or the send queue is full; other TCP statuses such as #PDCOMM_IO_ERROR; #PDCOMM_POISONED.