#include <ubixos/types.h>#include <ubixos/sched.h>#include <lib/kmalloc.h>#include <lib/kprintf.h>#include <sys/device.old.h>#include <isa/ne2k.h>#include "net/debug.h"#include "net/opt.h"#include "net/def.h"#include "net/mem.h"#include "net/pbuf.h"#include "net/sys.h"#include "netif/arp.h"Go to the source code of this file.
Data Structures | |
| struct | ethernetif |
Defines | |
| #define | IFNAME0 'e' |
| #define | IFNAME1 'd' |
Functions | |
| static void | arp_timer (void *arg) |
| void | ethernetif_init (struct netif *netif) |
| static void | ethernetif_input (struct netif *netif) |
| static err_t | ethernetif_output (struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr) |
| void | ethernetif_thread (void *arg) |
| static void | ethernetif_thread () |
| static void | low_level_init (struct netif *netif) |
| static struct pbuf * | low_level_input (struct ethernetif *ethernetif) |
| static err_t | low_level_output (struct ethernetif *ethernetif, struct pbuf *p) |
Variables | |
| device * | dev = 0x0 |
| static struct eth_addr | ethbroadcast = {{0xff,0xff,0xff,0xff,0xff,0xff}} |
| nicBuffer * | tmpBuf = 0x0 |
| #define IFNAME0 'e' |
| #define IFNAME1 'd' |
| static void arp_timer | ( | void * | arg | ) | [static] |
Definition at line 309 of file ethernetif.c.
References arp_tmr(), ARP_TMR_INTERVAL, NULL, and sys_timeout().
Referenced by ethernetif_init().
| void ethernetif_init | ( | struct netif * | netif | ) |
Definition at line 325 of file ethernetif.c.
References arp_init(), arp_timer(), ARP_TMR_INTERVAL, ethernetif_output(), netif::hwaddr, IFNAME0, IFNAME1, netif::linkoutput, low_level_init(), low_level_output(), mem_malloc(), netif::name, NULL, netif::output, netif::state, and sys_timeout().
Referenced by netMainThread().
| static void ethernetif_input | ( | struct netif * | netif | ) | [static] |
Definition at line 275 of file ethernetif.c.
References arp_arp_input(), arp_ip_input(), ethernetif::ethaddr, ETHTYPE_ARP, ETHTYPE_IP, htons, netif::input, low_level_input(), low_level_output(), NULL, pbuf::payload, pbuf_free(), pbuf_header(), and netif::state.
Referenced by ethernetif_thread().
| static err_t ethernetif_output | ( | struct netif * | netif, | |
| struct pbuf * | p, | |||
| struct ip_addr * | ipaddr | |||
| ) | [static] |
Definition at line 186 of file ethernetif.c.
References arp_lookup(), arp_query(), ERR_MEM, ethernetif::ethaddr, ethbroadcast, ETHTYPE_IP, netif::gw, htons, ip4_addr2, ip4_addr3, ip4_addr4, netif::ip_addr, ip_addr_isany, ip_addr_isbroadcast, ip_addr_ismulticast, ip_addr_maskcmp, low_level_output(), netif::netmask, NULL, pbuf::payload, pbuf_alloc(), pbuf_chain(), pbuf_free(), pbuf_header(), PBUF_LINK, PBUF_RAM, and netif::state.
Referenced by ethernetif_init().
| void ethernetif_thread | ( | void * | arg | ) |
Definition at line 345 of file ethernetif.c.
References ethernetif_input(), nicBuffer::length, ne2kFreeBuffer(), ne2kGetBuffer(), and tmpBuf.
| static void ethernetif_thread | ( | ) | [static] |
Referenced by low_level_init().
| static void low_level_init | ( | struct netif * | netif | ) | [static] |
Definition at line 81 of file ethernetif.c.
References dev, ethernetif::ethaddr, ethernetif_thread(), device::ioAddr, device::irq, kmalloc(), kprintf(), netif::state, and sys_thread_new().
Referenced by ethernetif_init().
| static struct pbuf* low_level_input | ( | struct ethernetif * | ethernetif | ) | [static] |
Definition at line 142 of file ethernetif.c.
References bcopy(), nicBuffer::buffer, pbuf::len, nicBuffer::length, pbuf::next, NULL, pbuf::payload, pbuf_alloc(), PBUF_LINK, PBUF_POOL, and tmpBuf.
Referenced by ethernetif_input().
| static err_t low_level_output | ( | struct ethernetif * | ethernetif, | |
| struct pbuf * | p | |||
| ) | [static] |
Definition at line 113 of file ethernetif.c.
References bcopy(), dev, ERR_OK, device::ioAddr, device::irq, pbuf::len, pbuf::next, NULL, pbuf::payload, PCtoNIC(), and pbuf::tot_len.
Referenced by ethernetif_init(), ethernetif_input(), and ethernetif_output().
Definition at line 78 of file ethernetif.c.
Referenced by dp_pkt2user(), dp_recv(), fdcInit2(), getblock(), hdInit(), low_level_init(), low_level_output(), NICtoPC(), pci_init(), and PCtoNIC().
struct eth_addr ethbroadcast = {{0xff,0xff,0xff,0xff,0xff,0xff}} [static] |
Definition at line 65 of file ethernetif.c.
Referenced by dp_pkt2user(), ethernetif_thread(), low_level_input(), ne2kAllocBuffer(), and ne2kGetBuffer().
1.4.7