![]() |
Max OS 0.3
|
Driver for the Intel I217 Ethernet Controller. More...
#include <intel_i217.h>
Public Member Functions | |
| IntelI217 (hardwarecommunication::PCIDeviceDescriptor *device_descriptor) | |
| Constructs a new Intel I217 Ethernet driver. Gets the MAC address and clears the receive descriptor array. | |
| uint32_t | reset () final |
| Reset the driver. | |
| void | activate () final |
| Activate the driver. | |
| void | deactivate () final |
| Deactivate the driver. | |
| void | handle_interrupt () final |
| Handles an interrupt. | |
| string | vendor_name () final |
| Get who created the device. | |
| string | device_name () final |
| Get the device name of the driver. | |
| void | do_send (uint8_t *buffer, uint32_t size) final |
| (Device Side) send the data | |
| uint64_t | get_media_access_control_address () final |
| Get the MAC address. | |
Public Member Functions inherited from MaxOS::drivers::ethernet::EthernetDriver | |
| void | send (uint8_t *buffer, uint32_t size) |
| send data to the network via the driver backend | |
Public Member Functions inherited from MaxOS::drivers::Driver | |
| virtual void | initialise () |
| Initialise the driver. | |
Public Member Functions inherited from MaxOS::common::EventManager< EthernetDriverEvents > | |
| void | connect_event_handler (EventHandler< EthernetDriverEvents > *handler) |
| connect an event handler to the event manager if it is not already connected | |
| void | disconnect_event_handler (EventHandler< EthernetDriverEvents > *handler) |
| disconnect an event handler from the event manager if it is connected | |
| Vector< Event< EthernetDriverEvents > * > | raise_event (Event< EthernetDriverEvents > *event) |
| Calls the on_event function of all the event m_handlers connected to the event manager and returns a list of the results. | |
Public Member Functions inherited from MaxOS::hardwarecommunication::InterruptHandler | |
| virtual system::cpu_status_t * | handle_interrupt (system::cpu_status_t *status) |
| Handles an interrupt and returns the status. | |
Additional Inherited Members | |
Static Public Member Functions inherited from MaxOS::drivers::ethernet::EthernetDriver | |
| static MediaAccessControlAddress | create_media_access_control_address (uint8_t digit1, uint8_t digit2, uint8_t digit3, uint8_t digit4, uint8_t digit5, uint8_t digit6) |
| Create a Media Access Control Address. | |
Protected Member Functions inherited from MaxOS::drivers::ethernet::EthernetDriver | |
| void | fire_data_received (uint8_t *buffer, uint32_t size) |
| Handle the recieved data. | |
| void | fire_data_sent (uint8_t *buffer, uint32_t size) |
| send data | |
Protected Member Functions inherited from MaxOS::hardwarecommunication::InterruptHandler | |
| InterruptHandler (uint8_t interrupt_number, int64_t redirect=-1, uint64_t redirect_index=0) | |
| Creates a new interrupt handler and registers it with the interrupt manager. | |
| ~InterruptHandler () | |
| Destroys the interrupt handler and unregisters it from the interrupt manager. | |
Protected Attributes inherited from MaxOS::common::EventManager< EthernetDriverEvents > | |
| Vector< EventHandler< EthernetDriverEvents > * > | m_handlers |
Protected Attributes inherited from MaxOS::hardwarecommunication::InterruptHandler | |
| uint8_t | m_interrupt_number |
| The interrupt number this handler handles. | |
Driver for the Intel I217 Ethernet Controller.
Definition at line 64 of file intel_i217.h.
|
explicit |
Constructs a new Intel I217 Ethernet driver. Gets the MAC address and clears the receive descriptor array.
| device_descriptor | The PCI device descriptor for this device |
Definition at line 33 of file intel_i217.cpp.
References ASSERT, and MaxOS::drivers::ethernet::EthernetDriver::create_media_access_control_address().
|
finalvirtual |
Activate the driver.
Reimplemented from MaxOS::drivers::Driver.
Definition at line 298 of file intel_i217.cpp.
|
finalvirtual |
Deactivate the driver.
Reimplemented from MaxOS::drivers::Driver.
Definition at line 391 of file intel_i217.cpp.
References MaxOS::drivers::Driver::deactivate().
|
finalvirtual |
Get the device name of the driver.
Reimplemented from MaxOS::drivers::Driver.
Definition at line 399 of file intel_i217.cpp.
(Device Side) send the data
| buffer | The buffer to handle |
| size | The size of the buffer |
Reimplemented from MaxOS::drivers::ethernet::EthernetDriver.
Definition at line 356 of file intel_i217.cpp.
|
finalvirtual |
Get the MAC address.
Reimplemented from MaxOS::drivers::ethernet::EthernetDriver.
Definition at line 381 of file intel_i217.cpp.
|
finalvirtual |
Handles an interrupt.
Reimplemented from MaxOS::hardwarecommunication::InterruptHandler.
Definition at line 316 of file intel_i217.cpp.
|
finalvirtual |
Reset the driver.
Reimplemented from MaxOS::drivers::Driver.
Definition at line 387 of file intel_i217.cpp.
References MaxOS::drivers::Driver::reset().
|
finalvirtual |
Get who created the device.
Reimplemented from MaxOS::drivers::Driver.
Definition at line 395 of file intel_i217.cpp.