Sergey Pastor / 1

Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

nic.h File Reference

nic.h File Reference

Network interface controller abstraction layer. More...

Go to the source code of this file.

Data Structures

struct  NicDriver
 NIC driver. More...
struct  PhyDriver
 PHY driver. More...
struct  SpiDriver
 SPI driver. More...
struct  UartDriver
 UART driver. More...
struct  ExtIntDriver
 External interrupt line driver. More...

Enumerations

enum  NicType { NIC_TYPE_ETHERNET = 0, NIC_TYPE_PPP = 1, NIC_TYPE_6LOWPAN = 2 }
 

NIC types.

More...
enum  NicLinkState
 

Link state.

More...
enum  NicLinkSpeed
 

Link speed.

More...
enum  NicDuplexMode
 

Duplex mode.

More...

Functions

void nicTick (NetInterface *interface)
 Network controller timer handler.
error_t nicSendPacket (NetInterface *interface, const NetBuffer *buffer, size_t offset)
 Send a packet to the network controller.
error_t nicSetMulticastFilter (NetInterface *interface)
 Configure multicast MAC address filtering.
void nicProcessPacket (NetInterface *interface, void *packet, size_t length)
 Handle a packet received by the network controller.
void nicNotifyLinkChange (NetInterface *interface)
 Process link state change event.

Detailed Description

Network interface controller abstraction layer.

License

Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.

This file is part of CycloneTCP Open.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Author:
Oryx Embedded SARL (www.oryx-embedded.com)
Version:
1.7.6

Definition in file nic.h.


Enumeration Type Documentation

Duplex mode.

Definition at line 98 of file nic.h.

Link speed.

Definition at line 85 of file nic.h.

Link state.

Definition at line 73 of file nic.h.

enum NicType

NIC types.

Enumerator:
NIC_TYPE_ETHERNET 

Ethernet interface.

NIC_TYPE_PPP 

PPP interface.

NIC_TYPE_6LOWPAN 

6LoWPAN interface

Definition at line 61 of file nic.h.


Function Documentation

void nicNotifyLinkChange ( NetInterface *  interface )

Process link state change event.

Parameters:
[in]interfaceUnderlying network interface

Definition at line 216 of file nic.c.

void nicProcessPacket ( NetInterface *  interface,
void *  packet,
size_t  length 
)

Handle a packet received by the network controller.

Parameters:
[in]interfaceUnderlying network interface
[in]packetIncoming packet to process
[in]lengthTotal packet length

Definition at line 157 of file nic.c.

error_t nicSendPacket ( NetInterface *  interface,
const NetBuffer buffer,
size_t  offset 
)

Send a packet to the network controller.

Parameters:
[in]interfaceUnderlying network interface
[in]bufferMulti-part buffer containing the data to send
[in]offsetOffset to the first data byte
Returns:
Error code

Definition at line 84 of file nic.c.

error_t nicSetMulticastFilter ( NetInterface *  interface )

Configure multicast MAC address filtering.

Parameters:
[in]interfaceUnderlying network interface
Returns:
Error code

Definition at line 131 of file nic.c.

void nicTick ( NetInterface *  interface )

Network controller timer handler.

This routine is periodically called by the TCP/IP stack to handle periodic operations such as polling the link state

Parameters:
[in]interfaceUnderlying network interface

Definition at line 62 of file nic.c.