#define APPLE_KEXT_DEPRECATE __kpi_deprecated("DriverKit/NetworkingDriverKit is the new Networking Driver Development framework, please transition your Networking Driver to that Framework")
@enum AVB Time Sync Support
@abstract The support that the controller has for Time Sync timestamping.
@discussion A controller can support ingress and egress timestamping of time sync packets
in a number of ways.
@const kIOEthernetControllerAVBTimeSyncSupportNone Controller does not support sending or
receiving packets with ingress and egress timestamping
@const kIOEthernetControllerAVBTimeSyncSupportHardware Controller supports sending and
receiving packets with ingress and egress timestamping and the timestamping is done in hardware
@const kIOEthernetControllerAVBTimeSyncSupportInterrupt Controller supports sending and receiving
packets with ingress and egress timestamping and the timestamping is done in the primary interrupt handler
@const kIOEthernetControllerAVBTimeSyncSupportSoftware Controller supports sending and receiving
packets with ingress and egress timestamping and the timestamping is done in software stack
(secondary interrupt handler or higher)
@enum Controller AVB States
@abstract The state the AVB support is in.
@discussion A controller can be in one of 4 states depending on the capabilities required by the AVB stack.
@const kIOEthernetControllerAVBStateDisabled No AVB streaming services or gPTP can run
@const kIOEthernetControllerAVBStateActivated No AVB streaming services and no gPTP but they can be
enabled, no media restrictions
@const kIOEthernetControllerAVBStateTimeSyncEnabled No AVB streaming services, time sync hardware
enabled so that gPTP can run, no media restrictions
@const kIOEthernetControllerAVBStateAVBEnabled AVB streams can run, media restrictions are in place
Events to trigger changes of state
@enum Controller AVB State Events
@abstract Events to trigger the change in AVB state of the controller.
@const kIOEthernetControllerAVBStateEventDisable Disable AVB support
@const kIOEthernetControllerAVBStateEventEnable Enable AVB support
@const kIOEthernetControllerAVBStateEventStartTimeSync Start using Time Sync services.
@const kIOEthernetControllerAVBStateEventStopTimeSync Stop using Time Sync services.
@const kIOEthernetControllerAVBStateEventStartStreaming Start using realtime streaming services.
@const kIOEthernetControllerAVBStateEventStopStreaming Stop using realtime streaming services.