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 u64Structs§
- Event
Packet - Parsed representation of a single GVCP event.
- Event
Socket - Async GVCP message channel socket.