My Kernel v0.1.0
ethernet.h File Reference

Network device. More...

#include <kernel/devices/driver.h>
#include <kernel/net/ethernet.h>
#include <kernel/types.h>
#include <libalgo/linked_list.h>
#include <libalgo/queue.h>
#include <utils/compiler.h>
#include <utils/container_of.h>
#include <utils/math.h>
Include dependency graph for ethernet.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ethernet_operations
 Operations that can be performed on an ethernet device. More...
 
struct  ethernet_device
 An ethernet device. More...
 

Macros

#define ETHERNET_DEVICE_PRIV_ALIGNMENT   sizeof(uint64_t)
 Boundary onto which the ethernet device's private data must be aligned.
 

Enumerations

enum  ethernet_capability { }
 Ethernet device capabilities. More...
 

Functions

struct ethernet_deviceethernet_device_alloc (size_t priv_size)
 Allocate a new ethernet device. More...
 
void ethernet_device_free (struct ethernet_device *)
 De-allocate an ethernet device.
 
error_t ethernet_device_register (struct ethernet_device *)
 Register a new ethernet device.
 
struct ethernet_deviceethernet_device_find_by_name (const char *)
 
struct ethernet_deviceethernet_device_find_by_mac (mac_address_t)
 
static void ethernet_device_set_name (struct ethernet_device *dev, const char *name)
 Set the name of the device.
 
static const char * ethernet_device_name (struct ethernet_device *dev)
 
void ethernet_device_receive_packet (struct ethernet_device *, struct packet *)
 Process a packet received by an ethernet network device.
 

Detailed Description