dp8390.c File Reference

DP8390 network interface core implementation. More...

#include <assert.h>
#include <errno.h>
#include "../../include/byteorder.h"
#include "../../structures/packet/packet.h"
#include "../../structures/packet/packet_client.h"
#include "../netif.h"
#include "dp8390_drv.h"
#include "dp8390_port.h"
#include "local.h"
#include "dp8390.h"
Include dependency graph for dp8390.c:

Defines

#define wdeth_probe(dep)   (0)
#define ne_probe(dep)   (0)
#define el2_probe(dep)   (0)
#define CR_EXTRA   CR_STA

Functions

int queue_packet (dpeth_t *dep, packet_t packet)
 Queues the outgoing packet.
static void outsb (port_t port, void *buf, size_t size)
 Reads a memory block byte by byte.
static void outsw (port_t port, void *buf, size_t size)
 Reads a memory block word by word.
 _PROTOTYPE (static void dp_init,(dpeth_t *dep))
 _PROTOTYPE (static void dp_getblock,(dpeth_t *dep, int page, size_t offset, size_t size, void *dst))
 _PROTOTYPE (static int dp_pkt2user,(dpeth_t *dep, int page, int length))
 _PROTOTYPE (static void dp_user2nic,(dpeth_t *dep, iovec_dat_t *iovp, vir_bytes offset, int nic_addr, vir_bytes count))
 _PROTOTYPE (static void dp_nic2user,(dpeth_t *dep, int nic_addr, iovec_dat_t *iovp, vir_bytes offset, vir_bytes count))
 _PROTOTYPE (static void dp_next_iovec,(iovec_dat_t *iovp))
 _PROTOTYPE (static void reply,(dpeth_t *dep, int err, int may_block))
 _PROTOTYPE (static void get_userdata,(int user_proc, vir_bytes user_addr, vir_bytes count, void *loc_addr))
 _PROTOTYPE (static void insb,(port_t port, void *buf, size_t size))
int do_probe (dpeth_t *dep)
 Probes and initializes the network interface.
void dp8390_dump (dpeth_t *dep)
 Prints out network interface information.
int do_init (dpeth_t *dep, int mode)
 Initializes and/or starts the network interface.
void do_stop (dpeth_t *dep)
 Stops the network interface.
int do_pwrite (dpeth_t *dep, packet_t packet, int from_int)
 Sends a packet.
void dp_init (dpeth_t *dep)
static void dp_reinit (dpeth_t *dep)
static void dp_reset (dpeth_t *dep)
void dp_check_ints (dpeth_t *dep, int isr)
 Processes the interrupt.
static void dp_recv (dpeth_t *dep)
static void dp_send (dpeth_t *dep)
static void dp_getblock (dpeth_t *dep, int page, size_t offset, size_t size, void *dst)
static void dp_pio8_getblock (dpeth_t *dep, int page, size_t offset, size_t size, void *dst)
static void dp_pio16_getblock (dpeth_t *dep, int page, size_t offset, size_t size, void *dst)
static int dp_pkt2user (dpeth_t *dep, int page, int length)
static void dp_user2nic (dpeth_t *dep, iovec_dat_t *iovp, vir_bytes offset, int nic_addr, vir_bytes count)
static void dp_pio8_user2nic (dpeth_t *dep, iovec_dat_t *iovp, vir_bytes offset, int nic_addr, vir_bytes count)
static void dp_pio16_user2nic (dpeth_t *dep, iovec_dat_t *iovp, vir_bytes offset, int nic_addr, vir_bytes count)
static void dp_nic2user (dpeth_t *dep, int nic_addr, iovec_dat_t *iovp, vir_bytes offset, vir_bytes count)
static void dp_pio8_nic2user (dpeth_t *dep, int nic_addr, iovec_dat_t *iovp, vir_bytes offset, vir_bytes count)
static void dp_pio16_nic2user (dpeth_t *dep, int nic_addr, iovec_dat_t *iovp, vir_bytes offset, vir_bytes count)
static void dp_next_iovec (iovec_dat_t *iovp)
static void conf_hw (dpeth_t *dep)
static void map_hw_buffer (dpeth_t *dep)
static void reply (dpeth_t *dep, int err, int may_block)
static void get_userdata (int user_proc, vir_bytes user_addr, vir_bytes count, void *loc_addr)
static void insb (port_t port, void *buf, size_t size)
static void insw (port_t port, void *buf, size_t size)

Detailed Description

DP8390 network interface core implementation.


Generated on Thu Mar 11 20:46:08 2010 for Networking and TCP/IP stack for HelenOS system by  doxygen 1.6.1