PTP ClientDevice events

PTP ClientDevice generates protocol events of the following types: ClientProtoEvent and ClientProtoEvent_slot.


struct ClientProtoEvent // meta-named as PTPClientEvent
 {
  EventTimeType time;
  EventIdType id;
  
  uint8 ev;
 };

ev is en event type.


struct ClientProtoEvent_slot // meta-named as PTPClientEventSlot 
 {
  EventTimeType time;
  EventIdType id;
  
  uint8 ev;
  uint32 slot;
 };

ev is en event type.

slot is a slot number.

Event type is represented by the following enum:


enum ClientEvent : uint8
 {
  ClientEvent_Trans,         // "Trans"         UpPush
  ClientEvent_TransDone,     // "Trans done"    Stop
  
  ClientEvent_BadInfoLen,    // "Bad info len"  Error
  ClientEvent_Timeout,       // "Timeout"       Pass
  ClientEvent_Cancel,        // "Cancel"        Pass
  ClientEvent_Abort,         // "Abort"         Pass
  
  ClientEvent_CALL,          // "-> CALL"       Up
  ClientEvent_RECALL,        // "-> RECALL"     Up
  ClientEvent_ACK,           // "-> ACK"        Up
  ClientEvent_SENDRET,       // "-> SENDRET"    Up
  
  ClientEvent_RET,           // "<- RET"        Down
  ClientEvent_NOINFO,        // "<- NOINFO"     Down
  ClientEvent_RERET,         // "<- RERET"      Down
  ClientEvent_CANCEL,        // "<- CANCEL"     Down
  
  ClientEvent_NoSlot,        // "No slot"       DownBlock
  ClientEvent_NoPacket,      // "No packet"     Error
  
  ClientEvent_BadInbound,    // "Bad inbound"   Error
  ClientEvent_BadOutbound,   // "Bad outbound"  Error
 
  ClientEventLim
 };