82 |
/* Prototype of NM driver initialization function */ |
/* Prototype of NM driver initialization function */ |
83 |
typedef int (*c3600_nm_init_fn)(c3600_t *router,char *name,u_int nm_bay); |
typedef int (*c3600_nm_init_fn)(c3600_t *router,char *name,u_int nm_bay); |
84 |
|
|
85 |
/* Prototype of PA driver shutdown function */ |
/* Prototype of NM driver shutdown function */ |
86 |
typedef int (*c3600_nm_shutdown_fn)(c3600_t *router,u_int nm_bay); |
typedef int (*c3600_nm_shutdown_fn)(c3600_t *router,u_int nm_bay); |
87 |
|
|
88 |
/* Prototype of PA NIO set function */ |
/* Prototype of NM NIO set function */ |
89 |
typedef int (*c3600_nm_set_nio_fn)(c3600_t *router,u_int nm_bay,u_int port_id, |
typedef int (*c3600_nm_set_nio_fn)(c3600_t *router,u_int nm_bay,u_int port_id, |
90 |
netio_desc_t *nio); |
netio_desc_t *nio); |
91 |
|
|
92 |
/* Prototype of PA NIO unset function */ |
/* Prototype of NM NIO unset function */ |
93 |
typedef int (*c3600_nm_unset_nio_fn)(c3600_t *router,u_int nm_bay, |
typedef int (*c3600_nm_unset_nio_fn)(c3600_t *router,u_int nm_bay, |
94 |
u_int port_id); |
u_int port_id); |
95 |
|
|
96 |
|
/* Prototype of NM NIO show info function */ |
97 |
|
typedef int (*c3600_nm_show_info_fn)(c3600_t *router,u_int nm_bay); |
98 |
|
|
99 |
/* C3600 Network Module Driver */ |
/* C3600 Network Module Driver */ |
100 |
struct c3600_nm_driver { |
struct c3600_nm_driver { |
101 |
char *dev_type; |
char *dev_type; |
105 |
c3600_nm_shutdown_fn nm_shutdown; |
c3600_nm_shutdown_fn nm_shutdown; |
106 |
c3600_nm_set_nio_fn nm_set_nio; |
c3600_nm_set_nio_fn nm_set_nio; |
107 |
c3600_nm_unset_nio_fn nm_unset_nio; |
c3600_nm_unset_nio_fn nm_unset_nio; |
108 |
|
c3600_nm_show_info_fn nm_show_info; |
109 |
|
|
110 |
/* TODO: WAN Interface Cards (WIC) */ |
/* TODO: WAN Interface Cards (WIC) */ |
111 |
}; |
}; |
112 |
|
|
250 |
/* Shutdown all NM of a router */ |
/* Shutdown all NM of a router */ |
251 |
int c3600_nm_shutdown_all(c3600_t *router); |
int c3600_nm_shutdown_all(c3600_t *router); |
252 |
|
|
253 |
|
/* Show info about all NMs */ |
254 |
|
int c3600_nm_show_all_info(c3600_t *router); |
255 |
|
|
256 |
/* Create a Network Module (command line) */ |
/* Create a Network Module (command line) */ |
257 |
int c3600_cmd_nm_create(c3600_t *router,char *str); |
int c3600_cmd_nm_create(c3600_t *router,char *str); |
258 |
|
|
301 |
extern struct c3600_nm_driver dev_c3600_nm_1fe_tx_driver; |
extern struct c3600_nm_driver dev_c3600_nm_1fe_tx_driver; |
302 |
extern struct c3600_nm_driver dev_c3600_nm_4t_driver; |
extern struct c3600_nm_driver dev_c3600_nm_4t_driver; |
303 |
extern struct c3600_nm_driver dev_c3600_leopard_2fe_driver; |
extern struct c3600_nm_driver dev_c3600_leopard_2fe_driver; |
304 |
|
extern struct c3600_nm_driver dev_c3600_nm_16esw_driver; |
305 |
|
|
306 |
#endif |
#endif |