Skip to main content

Module message

Module message 

Source
Expand description

GVCP message/event channel handling.

A device delivers events to the controller as GVCP commands on the message channel — EVENT_CMD (0x00C0) for bare notifications and EVENTDATA_CMD (0x00C2) when the event carries device-specific data. Both are commands, so a datagram begins with the 0x42 key byte and a flags byte, not with a status code, and both may ask the controller to acknowledge.

One EVENT_CMD can pack several events: the payload is an array of fixed-size entries, 16 bytes each with 16-bit block IDs or 24 bytes each when the device sets the extended-ID flag (GigE Vision 2.0). Layout per entry, from the GigE Vision field table and corroborated by Wireshark’s dissect_event_cmd:

16-bit block IDs (16 bytes)      64-bit block IDs (24 bytes)
 0  reserved            u16       0  reserved            u16
 2  event identifier    u16       2  event identifier    u16
 4  stream channel      u16       4  stream channel      u16
 6  block id            u16       6  reserved            u16
 8  timestamp           u64       8  block id            u64
                                 16  timestamp           u64

Structs§

EventPacket
Parsed representation of a single GVCP event.
EventSocket
Async GVCP message channel socket.