1 |
dpavlin |
4 |
/* |
2 |
|
|
* Cisco simulation platform. |
3 |
|
|
* Copyright (c) 2005,2006 Christophe Fillot (cf@utc.fr) |
4 |
|
|
*/ |
5 |
|
|
|
6 |
|
|
#ifndef __DEV_NM_16ESW_H__ |
7 |
|
|
#define __DEV_NM_16ESW_H__ |
8 |
|
|
|
9 |
|
|
#include <sys/types.h> |
10 |
|
|
#include "utils.h" |
11 |
|
|
#include "mips64.h" |
12 |
|
|
#include "cpu.h" |
13 |
|
|
#include "device.h" |
14 |
|
|
#include "net_io.h" |
15 |
|
|
#include "vm.h" |
16 |
|
|
#include "cisco_eeprom.h" |
17 |
|
|
|
18 |
|
|
/* Forward declaration for NM-16ESW private data */ |
19 |
|
|
struct nm_16esw_data; |
20 |
|
|
|
21 |
|
|
/* Rewrite the base MAC address */ |
22 |
|
|
int dev_nm_16esw_burn_mac_addr(vm_instance_t *vm,u_int nm_bay, |
23 |
|
|
struct cisco_eeprom *eeprom); |
24 |
|
|
|
25 |
|
|
/* Initialize a NM-16ESW module */ |
26 |
|
|
struct nm_16esw_data * |
27 |
|
|
dev_nm_16esw_init(vm_instance_t *vm,char *name,u_int nm_bay, |
28 |
|
|
struct pci_bus *pci_bus,int pci_device,int irq); |
29 |
|
|
|
30 |
|
|
/* Remove a NM-16ESW from the specified slot */ |
31 |
|
|
int dev_nm_16esw_remove(struct nm_16esw_data *data); |
32 |
|
|
|
33 |
|
|
/* Bind a Network IO descriptor */ |
34 |
|
|
int dev_nm_16esw_set_nio(struct nm_16esw_data *d,u_int port_id, |
35 |
|
|
netio_desc_t *nio); |
36 |
|
|
|
37 |
|
|
/* Unbind a Network IO descriptor */ |
38 |
|
|
int dev_nm_16esw_unset_nio(struct nm_16esw_data *d,u_int port_id); |
39 |
|
|
|
40 |
|
|
/* Show debugging information */ |
41 |
|
|
int dev_nm_16esw_show_info(struct nm_16esw_data *d); |
42 |
|
|
|
43 |
|
|
#endif |