#include <IOKit/network/IOEthernetController.h>
IOKit/network/IOEthernetController.h Kernel.framework
9 macros · 5 enums · 5 typedefs · 2 variables · 1 struct
#define APPLE_KEXT_DEPRECATE __kpi_deprecated("DriverKit/NetworkingDriverKit is the new Networking Driver Development framework, please transition your Networking Driver to that Framework")#define kIOEthernetControllerClass "IOEthernetController"
#define kIOEthernetAddressSize 6
#define kIOEthernetMaxPacketSize 1518
#define kIOEthernetMinPacketSize 64
#define kIOEthernetCRCSize 4
#define kIOEthernetWakeOnLANFilterGroup "IOEthernetWakeOnLANFilterGroup"
#define kIOEthernetDisabledWakeOnLANFilterGroup "IOEthernetDisabledWakeOnLANFilterGroup"
underlying type unsigned int
| kIOEthernetWakeOnMagicPacket | 1 | |
| kIOEthernetWakeOnPacketAddressMatch | 2 | |
extern const OSSymbol * gIOEthernetWakeOnLANFilterGroup
extern const OSSymbol * gIOEthernetDisabledWakeOnLANFilterGroup
@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)
underlying type unsigned int
| kIOEthernetControllerAVBTimeSyncSupportNone | 0 | |
| kIOEthernetControllerAVBTimeSyncSupportHardware | 1 | |
| kIOEthernetControllerAVBTimeSyncSupportInterrupt | 2 | |
| kIOEthernetControllerAVBTimeSyncSupportSoftware | 3 | |
typedef enum IOEthernetControllerAVBTimeSyncSupport IOEthernetControllerAVBTimeSyncSupport;
@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
underlying type unsigned int
| kIOEthernetControllerAVBStateDisabled | 0 | |
| kIOEthernetControllerAVBStateActivated | 1 | |
| kIOEthernetControllerAVBStateTimeSyncEnabled | 2 | |
| kIOEthernetControllerAVBStateAVBEnabled | 3 | |
typedef enum IOEthernetControllerAVBState IOEthernetControllerAVBState;
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.
underlying type unsigned int
| kIOEthernetControllerAVBStateEventDisable | 0 | |
| kIOEthernetControllerAVBStateEventEnable | 1 | |
| kIOEthernetControllerAVBStateEventStartTimeSync | 2 | |
| kIOEthernetControllerAVBStateEventStopTimeSync | 3 | |
| kIOEthernetControllerAVBStateEventStartStreaming | 4 | |
| kIOEthernetControllerAVBStateEventStopStreaming | 5 | |
typedef enum IOEthernetControllerAVBStateEvent IOEthernetControllerAVBStateEvent;
#define kMaxIOEthernetReltimeEntries 4
FIXME: remove this.
underlying type unsigned int
| kIOEnetPromiscuousModeOff | 0 | |
| kIOEnetPromiscuousModeOn | 1 | |
| kIOEnetPromiscuousModeAll | 1 | |
| kIOEnetMulticastModeOff | 0 | |
| kIOEnetMulticastModeFilter | 1 | |
typedef bool IOEnetPromiscuousMode
typedef bool IOEnetMulticastMode