namespace hmmmm.ctrl.config_notif; // Notification subtype 0001 — a device's configuration was updated. // Carries the path of the affected device; client should re-request full config. table DeviceConfigUpdateNotif { device_path: [string]; // hierarchical path, e.g. ["core"] or ["gpio_a"] } // Numeric ID assigned to one named segment within a device. table SegIdEntry { name: string; id: uint32; } // Maps a hierarchical device path to a compact numeric device_id + segment IDs. // Clients use these IDs in stream and mem packets instead of string paths. table DeviceIdEntry { path: [string]; // hierarchical device id, e.g. ["core"] device_id: uint32; seg_ids: [SegIdEntry]; } // Notification subtype 0010 — full device-id / segment-id mapping table. // Sent after auth and after any config change that affects the device tree. table DeviceIdMappingNotif { entries: [DeviceIdEntry]; } union ConfigNotifPayload { DeviceConfigUpdateNotif, DeviceIdMappingNotif, } table ConfigNotifMessage { tclk: uint64; payload: ConfigNotifPayload; }