⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmtdef.h

📁 h内核
💻 H
📖 第 1 页 / 共 2 页
字号:
/* * SMT timer */struct smt_timer {	struct smt_timer	*tm_next ;	/* linked list */	struct s_smc		*tm_smc ;	/* pointer to context */	u_long			tm_delta ;	/* delta time */	u_long			tm_token ;	/* token value */	u_short			tm_active ;	/* flag : active/inactive */	u_short			tm_pad ;	/* pad field */} ;/* * communication structures */struct mac_parameter {	u_long	t_neg ;		/* T_Neg parameter */	u_long	t_pri ;		/* T_Pri register in MAC */} ;/* * MAC counters */struct mac_counter {	u_long	mac_nobuf_counter ;	/* MAC SW counter: no buffer */	u_long	mac_r_restart_counter ;	/* MAC SW counter: rx restarted */} ;/* * para struct context for SMT parameters */struct s_pcon {	int	pc_len ;	int	pc_err ;	int	pc_badset ;	void	*pc_p ;} ;/* * link error monitor */#define LEM_AVG	5struct lem_counter {#ifdef	AM29K	int	lem_on	;	u_long	lem_errors ;	u_long	lem_symbols ;	u_long	lem_tsymbols ;	int	lem_s_count ;	int	lem_n_s ;	int	lem_values ;	int	lem_index ;	int	lem_avg_ber[LEM_AVG] ;	int	lem_sum ;#else	u_short	lem_float_ber ;		/* 10E-nn bit error rate */	u_long	lem_errors ;		/* accumulated error count */	u_short	lem_on	;#endif} ;#define NUMBITS	10#ifdef	AMDPLC/* * PLC state table */struct s_plc {	u_short	p_state ;		/* current state */	u_short	p_bits ;		/* number of bits to send */	u_short	p_start ;		/* first bit pos */	u_short	p_pad ;			/* padding for alignment */	u_long soft_err ;		/* error counter */	u_long parity_err ;		/* error counter */	u_long ebuf_err ;		/* error counter */	u_long ebuf_cont ;		/* continous error counter */	u_long phyinv ;			/* error counter */	u_long vsym_ctr ;		/* error counter */	u_long mini_ctr ;		/* error counter */	u_long tpc_exp ;		/* error counter */	u_long np_err ;			/* error counter */	u_long b_pcs ;			/* error counter */	u_long b_tpc ;			/* error counter */	u_long b_tne ;			/* error counter */	u_long b_qls ;			/* error counter */	u_long b_ils ;			/* error counter */	u_long b_hls ;			/* error counter */} ;#endif#ifdef	PROTOTYP_INC#include "fddi/driver.pro"#else	/* PROTOTYP_INC *//* * function prototypes */#include "h/mbuf.h"	/* Type definitions for MBUFs */#include "h/smtstate.h"	/* struct smt_state */void hwt_restart(struct s_smc *smc);	/* hwt.c */SMbuf *smt_build_frame(struct s_smc *smc, int class, int type,		       int length);	/* smt.c */SMbuf *smt_get_mbuf(struct s_smc *smc);	/* drvsr.c */void *sm_to_para(struct s_smc *smc, struct smt_header *sm,		 int para);		/* smt.c */#ifndef SK_UNUSED#define SK_UNUSED(var)		(void)(var)#endifvoid queue_event(struct s_smc *smc, int class, int event);void ecm(struct s_smc *smc, int event);void ecm_init(struct s_smc *smc);void rmt(struct s_smc *smc, int event);void rmt_init(struct s_smc *smc);void pcm(struct s_smc *smc, const int np, int event);void pcm_init(struct s_smc *smc);void cfm(struct s_smc *smc, int event);void cfm_init(struct s_smc *smc);void smt_timer_start(struct s_smc *smc, struct smt_timer *timer, u_long time,		     u_long token);void smt_timer_stop(struct s_smc *smc, struct smt_timer *timer);void pcm_status_state(struct s_smc *smc, int np, int *type, int *state,		      int *remote, int *mac);void plc_config_mux(struct s_smc *smc, int mux);void sm_lem_evaluate(struct s_smc *smc);void smt_clear_una_dna(struct s_smc *smc);void mac_update_counter(struct s_smc *smc);void sm_pm_ls_latch(struct s_smc *smc, int phy, int on_off);void sm_ma_control(struct s_smc *smc, int mode);void sm_mac_check_beacon_claim(struct s_smc *smc);void config_mux(struct s_smc *smc, int mux);void smt_agent_init(struct s_smc *smc);void smt_timer_init(struct s_smc *smc);void smt_received_pack(struct s_smc *smc, SMbuf *mb, int fs);void smt_add_para(struct s_smc *smc, struct s_pcon *pcon, u_short para,		  int index, int local);void smt_swap_para(struct smt_header *sm, int len, int direction);void ev_init(struct s_smc *smc);void hwt_init(struct s_smc *smc);u_long hwt_read(struct s_smc *smc);void hwt_stop(struct s_smc *smc);void hwt_start(struct s_smc *smc, u_long time);void smt_send_mbuf(struct s_smc *smc, SMbuf *mb, int fc);void smt_free_mbuf(struct s_smc *smc, SMbuf *mb);void sm_pm_bypass_req(struct s_smc *smc, int mode);void rmt_indication(struct s_smc *smc, int i);void cfm_state_change(struct s_smc *smc, int c_state);#if defined(DEBUG) || !defined(NO_SMT_PANIC)void smt_panic(struct s_smc *smc, char *text);#else#define	smt_panic(smc,text)#endif /* DEBUG || !NO_SMT_PANIC */void smt_stat_counter(struct s_smc *smc, int stat);void smt_timer_poll(struct s_smc *smc);u_long smt_get_time(void);u_long smt_get_tid(struct s_smc *smc);void smt_timer_done(struct s_smc *smc);void smt_set_defaults(struct s_smc *smc);void smt_fixup_mib(struct s_smc *smc);void smt_reset_defaults(struct s_smc *smc, int level);void smt_agent_task(struct s_smc *smc);void smt_please_reconnect(struct s_smc *smc, int reconn_time);int smt_check_para(struct s_smc *smc, struct smt_header *sm,		   const u_short list[]);void driver_get_bia(struct s_smc *smc, struct fddi_addr *bia_addr);#ifdef SUPERNET_3void drv_reset_indication(struct s_smc *smc);#endif	/* SUPERNET_3 */void smt_start_watchdog(struct s_smc *smc);void smt_event(struct s_smc *smc, int event);void timer_event(struct s_smc *smc, u_long token);void ev_dispatcher(struct s_smc *smc);void pcm_get_state(struct s_smc *smc, struct smt_state *state);void ecm_state_change(struct s_smc *smc, int e_state);int sm_pm_bypass_present(struct s_smc *smc);void pcm_state_change(struct s_smc *smc, int plc, int p_state);void rmt_state_change(struct s_smc *smc, int r_state);int sm_pm_get_ls(struct s_smc *smc, int phy);int pcm_get_s_port(struct s_smc *smc);int pcm_rooted_station(struct s_smc *smc);int cfm_get_mac_input(struct s_smc *smc);int cfm_get_mac_output(struct s_smc *smc);int port_to_mib(struct s_smc *smc, int p);int cem_build_path(struct s_smc *smc, char *to, int path_index);int sm_mac_get_tx_state(struct s_smc *smc);char *get_pcmstate(struct s_smc *smc, int np);int smt_action(struct s_smc *smc, int class, int code, int index);u_short smt_online(struct s_smc *smc, int on);void smt_force_irq(struct s_smc *smc);void smt_pmf_received_pack(struct s_smc *smc, SMbuf *mb, int local);void smt_send_frame(struct s_smc *smc, SMbuf *mb, int fc, int local);void smt_set_timestamp(struct s_smc *smc, u_char *p);void mac_set_rx_mode(struct s_smc *smc,	int mode);int mac_add_multicast(struct s_smc *smc, struct fddi_addr *addr, int can);int mac_set_func_addr(struct s_smc *smc, u_long f_addr);void mac_del_multicast(struct s_smc *smc, struct fddi_addr *addr, int can);void mac_update_multicast(struct s_smc *smc);void mac_clear_multicast(struct s_smc *smc);void set_formac_tsync(struct s_smc *smc, long sync_bw);void formac_reinit_tx(struct s_smc *smc);void formac_tx_restart(struct s_smc *smc);void process_receive(struct s_smc *smc);void init_driver_fplus(struct s_smc *smc);void rtm_irq(struct s_smc *smc);void rtm_set_timer(struct s_smc *smc);void ring_status_indication(struct s_smc *smc, u_long status);void llc_recover_tx(struct s_smc *smc);void llc_restart_tx(struct s_smc *smc);void plc_clear_irq(struct s_smc *smc, int p);void plc_irq(struct s_smc *smc,	int np,	unsigned int cmd);int smt_set_mac_opvalues(struct s_smc *smc);#ifdef TAG_MODEvoid mac_drv_pci_fix(struct s_smc *smc, u_long fix_value);void mac_do_pci_fix(struct s_smc *smc);void mac_drv_clear_tx_queue(struct s_smc *smc);void mac_drv_repair_descr(struct s_smc *smc);u_long hwt_quick_read(struct s_smc *smc);void hwt_wait_time(struct s_smc *smc, u_long start, long duration);#endif#ifdef SMT_PNMIint pnmi_init(struct s_smc* smc);int pnmi_process_ndis_id(struct s_smc *smc, u_long ndis_oid, void *buf, int len,			 int *BytesAccessed, int *BytesNeeded, u_char action);#endif#ifdef	SBA#ifndef _H2INCvoid sba();#endifvoid sba_raf_received_pack();void sba_timer_poll();void smt_init_sba();#endif#ifdef	ESSint ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm,			  int fs);void ess_timer_poll(struct s_smc *smc);void ess_para_change(struct s_smc *smc);#endif#ifndef	BOOTvoid smt_init_evc(struct s_smc *smc);void smt_srf_event(struct s_smc *smc, int code, int index, int cond);#else#define smt_init_evc(smc)#define smt_srf_event(smc,code,index,cond)#endif#ifndef SMT_REAL_TOKEN_CTvoid smt_emulate_token_ct(struct s_smc *smc, int mac_index);#endif#if defined(DEBUG) && !defined(BOOT)void dump_smt(struct s_smc *smc, struct smt_header *sm, char *text);#else#define	dump_smt(smc,sm,text)#endif#ifdef	DEBUGchar* addr_to_string(struct fddi_addr *addr);void dump_hex(char *p, int len);#endif#endif	/* PROTOTYP_INC *//* PNMI default defines */#ifndef PNMI_INIT#define	PNMI_INIT(smc)	/* Nothing */#endif#ifndef PNMI_GET_ID#define PNMI_GET_ID( smc, ndis_oid, buf, len, BytesWritten, BytesNeeded ) \		( 1 ? (-1) : (-1) )#endif#ifndef PNMI_SET_ID#define PNMI_SET_ID( smc, ndis_oid, buf, len, BytesRead, BytesNeeded, \		set_type) ( 1 ? (-1) : (-1) )#endif/* * SMT_PANIC defines */#ifndef	SMT_PANIC#define	SMT_PANIC(smc,nr,msg)	smt_panic (smc, msg)#endif#ifndef	SMT_ERR_LOG#define	SMT_ERR_LOG(smc,nr,msg)	SMT_PANIC (smc, nr, msg)#endif#ifndef	SMT_EBASE#define	SMT_EBASE	100#endif#define	SMT_E0100	SMT_EBASE + 0#define	SMT_E0100_MSG	"cfm FSM: invalid ce_type"#define	SMT_E0101	SMT_EBASE + 1#define	SMT_E0101_MSG	"CEM: case ???"#define	SMT_E0102	SMT_EBASE + 2#define	SMT_E0102_MSG	"CEM A: invalid state"#define	SMT_E0103	SMT_EBASE + 3#define	SMT_E0103_MSG	"CEM B: invalid state"#define	SMT_E0104	SMT_EBASE + 4#define	SMT_E0104_MSG	"CEM M: invalid state"#define	SMT_E0105	SMT_EBASE + 5#define	SMT_E0105_MSG	"CEM S: invalid state"#define	SMT_E0106	SMT_EBASE + 6#define	SMT_E0106_MSG	"CFM : invalid state"#define	SMT_E0107	SMT_EBASE + 7#define	SMT_E0107_MSG	"ECM : invalid state"#define	SMT_E0108	SMT_EBASE + 8#define	SMT_E0108_MSG	"prop_actions : NAC in DAS CFM"#define	SMT_E0109	SMT_EBASE + 9#define	SMT_E0109_MSG	"ST2U.FM_SERRSF error in special frame"#define	SMT_E0110	SMT_EBASE + 10#define	SMT_E0110_MSG	"ST2U.FM_SRFRCTOV recv. count. overflow"#define	SMT_E0111	SMT_EBASE + 11#define	SMT_E0111_MSG	"ST2U.FM_SNFSLD NP & FORMAC simult. load"#define	SMT_E0112	SMT_EBASE + 12#define	SMT_E0112_MSG	"ST2U.FM_SRCVFRM single-frame recv.-mode"#define	SMT_E0113	SMT_EBASE + 13#define	SMT_E0113_MSG	"FPLUS: Buffer Memory Error"#define	SMT_E0114	SMT_EBASE + 14#define	SMT_E0114_MSG	"ST2U.FM_SERRSF error in special frame"#define	SMT_E0115	SMT_EBASE + 15#define	SMT_E0115_MSG	"ST3L: parity error in receive queue 2"#define	SMT_E0116	SMT_EBASE + 16#define	SMT_E0116_MSG	"ST3L: parity error in receive queue 1"#define	SMT_E0117	SMT_EBASE + 17#define	SMT_E0117_MSG	"E_SMT_001: RxD count for receive queue 1 = 0"#define	SMT_E0118	SMT_EBASE + 18#define	SMT_E0118_MSG	"PCM : invalid state"#define	SMT_E0119	SMT_EBASE + 19#define	SMT_E0119_MSG	"smt_add_para"#define	SMT_E0120	SMT_EBASE + 20#define	SMT_E0120_MSG	"smt_set_para"#define	SMT_E0121	SMT_EBASE + 21#define	SMT_E0121_MSG	"invalid event in dispatcher"#define	SMT_E0122	SMT_EBASE + 22#define	SMT_E0122_MSG	"RMT : invalid state"#define	SMT_E0123	SMT_EBASE + 23#define	SMT_E0123_MSG	"SBA: state machine has invalid state"#define	SMT_E0124	SMT_EBASE + 24#define	SMT_E0124_MSG	"sba_free_session() called with NULL pointer"#define	SMT_E0125	SMT_EBASE + 25#define	SMT_E0125_MSG	"SBA : invalid session pointer"#define	SMT_E0126	SMT_EBASE + 26#define	SMT_E0126_MSG	"smt_free_mbuf() called with NULL pointer\n"#define	SMT_E0127	SMT_EBASE + 27#define	SMT_E0127_MSG	"sizeof evcs"#define	SMT_E0128	SMT_EBASE + 28#define	SMT_E0128_MSG	"evc->evc_cond_state = 0"#define	SMT_E0129	SMT_EBASE + 29#define	SMT_E0129_MSG	"evc->evc_multiple = 0"#define	SMT_E0130	SMT_EBASE + 30#define	SMT_E0130_MSG	write_mdr_warning#define	SMT_E0131	SMT_EBASE + 31#define	SMT_E0131_MSG	cam_warning#define SMT_E0132	SMT_EBASE + 32#define SMT_E0132_MSG	"ST1L.FM_SPCEPDx parity/coding error"#define SMT_E0133	SMT_EBASE + 33#define SMT_E0133_MSG	"ST1L.FM_STBURx tx buffer underrun"#define SMT_E0134	SMT_EBASE + 34#define SMT_E0134_MSG	"ST1L.FM_SPCEPDx parity error"#define SMT_E0135	SMT_EBASE + 35#define SMT_E0135_MSG	"RMT: duplicate MAC address detected. Ring left!"#define SMT_E0136	SMT_EBASE + 36#define SMT_E0136_MSG	"Elasticity Buffer hang-up"#define SMT_E0137	SMT_EBASE + 37#define SMT_E0137_MSG	"SMT: queue overrun"#define SMT_E0138	SMT_EBASE + 38#define SMT_E0138_MSG	"RMT: duplicate MAC address detected. Ring NOT left!"#endif	/* _CMTDEF_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -