#include <IOKit/network/IOEthernetController.h>

IOKit/network/IOEthernetController.h Kernel.framework

9 macros · 5 enums · 5 typedefs · 2 variables · 1 struct

macroAPPLE_KEXT_DEPRECATE

#define APPLE_KEXT_DEPRECATE __kpi_deprecated("DriverKit/NetworkingDriverKit is the new Networking Driver Development framework, please transition your Networking Driver to that Framework")

macrokIOEthernetControllerClass

#define kIOEthernetControllerClass "IOEthernetController"

macrokIOEthernetAddressSize

#define kIOEthernetAddressSize 6

macrokIOEthernetMaxPacketSize

#define kIOEthernetMaxPacketSize 1518

macrokIOEthernetMinPacketSize

#define kIOEthernetMinPacketSize 64

macrokIOEthernetCRCSize

#define kIOEthernetCRCSize 4

macrokIOEthernetWakeOnLANFilterGroup

#define kIOEthernetWakeOnLANFilterGroup "IOEthernetWakeOnLANFilterGroup"

macrokIOEthernetDisabledWakeOnLANFilterGroup

#define kIOEthernetDisabledWakeOnLANFilterGroup "IOEthernetDisabledWakeOnLANFilterGroup"

enum(anonymous)

underlying type unsigned int
kIOEthernetWakeOnMagicPacket1
kIOEthernetWakeOnPacketAddressMatch2

structIOEthernetAddress

size 6, align 1
UInt8[6]bytes

variablegIOEthernetWakeOnLANFilterGroup

extern const OSSymbol * gIOEthernetWakeOnLANFilterGroup

variablegIOEthernetDisabledWakeOnLANFilterGroup

extern const OSSymbol * gIOEthernetDisabledWakeOnLANFilterGroup

enumIOEthernetControllerAVBTimeSyncSupport

@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
kIOEthernetControllerAVBTimeSyncSupportNone0
kIOEthernetControllerAVBTimeSyncSupportHardware1
kIOEthernetControllerAVBTimeSyncSupportInterrupt2
kIOEthernetControllerAVBTimeSyncSupportSoftware3

typedefIOEthernetControllerAVBTimeSyncSupport

typedef enum IOEthernetControllerAVBTimeSyncSupport IOEthernetControllerAVBTimeSyncSupport;

enumIOEthernetControllerAVBState

@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
kIOEthernetControllerAVBStateDisabled0
kIOEthernetControllerAVBStateActivated1
kIOEthernetControllerAVBStateTimeSyncEnabled2
kIOEthernetControllerAVBStateAVBEnabled3

typedefIOEthernetControllerAVBState

typedef enum IOEthernetControllerAVBState IOEthernetControllerAVBState;

enumIOEthernetControllerAVBStateEvent

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
kIOEthernetControllerAVBStateEventDisable0
kIOEthernetControllerAVBStateEventEnable1
kIOEthernetControllerAVBStateEventStartTimeSync2
kIOEthernetControllerAVBStateEventStopTimeSync3
kIOEthernetControllerAVBStateEventStartStreaming4
kIOEthernetControllerAVBStateEventStopStreaming5

typedefIOEthernetControllerAVBStateEvent

typedef enum IOEthernetControllerAVBStateEvent IOEthernetControllerAVBStateEvent;

macrokMaxIOEthernetReltimeEntries

#define kMaxIOEthernetReltimeEntries 4

enum(anonymous)

FIXME: remove this.
underlying type unsigned int
kIOEnetPromiscuousModeOff0
kIOEnetPromiscuousModeOn1
kIOEnetPromiscuousModeAll1
kIOEnetMulticastModeOff0
kIOEnetMulticastModeFilter1

typedefIOEnetPromiscuousMode

typedef bool IOEnetPromiscuousMode

typedefIOEnetMulticastMode

typedef bool IOEnetMulticastMode