This is only set if the hardware supportsthis, otherwise it is always 0. This counter is only valid if the CEC_TX_STATUS_NACK status bit is set.Ī counter of the number of transmit attempts that resulted in theArbitration Lost error. This counter is only valid if the CEC_TX_STATUS_ARB_LOST status bit is set.Ī counter of the number of transmit attempts that resulted in theNot Acknowledged error. In that case both rx_statusand tx_status are set.Ī counter of the number of transmit attempts that resulted in theArbitration Lost error. It is 0 ifthis message was transmitted, not received, unless this is thereply to a transmitted message. See CEC Receive Status for the possible status values. The reply field will be updated with the actual reply so that it issynchronized with the contents of the received message. If the transmitter message is CEC_MSG_INITIATE_ARC then the replyvalues CEC_MSG_REPORT_ARC_INITIATED and CEC_MSG_REPORT_ARC_TERMINATEDare processed differently: either value will match both possible replies.The reason is that the CEC_MSG_INITIATE_ARC message is the only CECmessage that has two possible replies other than Feature Abort.
The driver will fill this in for ioctl CEC_RECEIVE.For ioctl CEC_TRANSMIT it will be filled in by the driver withthe payload of the reply message if timeout was set. For ioctl CEC_TRANSMIT this is filled in by theapplication. It is 0 ifthis messages was received, not transmitted. See CEC Transmit Status for the possible status values. The status bits of the transmitted message. See Flags for struct cec_msg for a list of available flags. Thisallows the application to associate the received message with the originaltransmit.įlags. It is used by the CEC framework when it queuesthe transmit result (when transmit was called in non-blocking mode). If it is set to 0,then it will wait indefinitely when it is called by ioctl CEC_RECEIVE.If it is 0 and it is called by ioctl CEC_TRANSMIT,then it will be replaced by 1000 if the reply is non-zero orignored if reply is 0.Ī non-zero sequence number is automatically assigned by the CEC frameworkfor all transmitted messages. This is the time the device will waitfor a message to be received before timing out. For ioctl CEC_TRANSMIT it will befilled in by the driver with the length of the reply message if reply was set. The driver will fill this in for ioctl CEC_RECEIVE. For ioctl CEC_TRANSMIT this is filled inby the application. To accessthe same clock from userspace use clock_gettime().
Timestamp in ns of when the last byte of the message was received.The timestamp has been taken from the CLOCK_MONOTONIC clock.
Timestamp in ns of when the last byte of the message was transmitted.The timestamp has been taken from the CLOCK_MONOTONIC clock. The sequence field is filled in for every transmit and this can bechecked against the received messages to find the corresponding transmitresult.