drivers/net/fddi/skfp/h/smc.h

Source file repositories/reference/linux-study-clean/drivers/net/fddi/skfp/h/smc.h

File Facts

System
Linux kernel
Corpus path
drivers/net/fddi/skfp/h/smc.h
Extension
.h
Size
14019 bytes
Lines
485
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct event_queue {
	u_short	class ;			/* event class */
	u_short	event ;			/* event value */
} ;

/*
 * define event queue as circular buffer
 */
#ifdef	CONCENTRATOR
#define MAX_EVENT	128
#else	/* nCONCENTRATOR */
#define MAX_EVENT	64
#endif	/* nCONCENTRATOR */

struct s_queue {

	struct event_queue ev_queue[MAX_EVENT];
	struct event_queue *ev_put ;
	struct event_queue *ev_get ;
} ;

/*
 * ECM - Entity Coordination Management
 * ecm.c
 */
struct s_ecm {
	u_char path_test ;		/* ECM path test variable */
	u_char sb_flag ;		/* ECM stuck bypass */
	u_char DisconnectFlag ;		/* jd 05-Aug-1999 Bug #10419 
					 * ECM disconnected */
	u_char ecm_line_state ;		/* flag to dispatcher : line states */
	u_long trace_prop ;		/* ECM Trace_Prop flag >= 16 bits !! */
	/* NUMPHYS note:
	 * this variable must have enough bits to hold all entiies in
	 * the station. So NUMPHYS may not be greater than 31.
	 */
	char	ec_pad[2] ;
	struct smt_timer ecm_timer ;	/* timer */
} ;


/*
 * RMT - Ring Management
 * rmt.c
 */
struct s_rmt {
	u_char dup_addr_test ;		/* state of dupl. addr. test */
	u_char da_flag ;		/* flag : duplicate address det. */
	u_char loop_avail ;		/* flag : MAC available for loopback */
	u_char sm_ma_avail ;		/* flag : MAC available for SMT */
	u_char no_flag ;		/* flag : ring not operational */
	u_char bn_flag ;		/* flag : MAC reached beacon state */
	u_char jm_flag ;		/* flag : jamming in NON_OP_DUP */
	u_char rm_join ;		/* CFM flag RM_Join */
	u_char rm_loop ;		/* CFM flag RM_Loop */

	long fast_rm_join ;		/* bit mask of active ports */
	/*
	 * timer and flags
	 */
	struct smt_timer rmt_timer0 ;	/* timer 0 */
	struct smt_timer rmt_timer1 ;	/* timer 1 */
	struct smt_timer rmt_timer2 ;	/* timer 2 */
	u_char timer0_exp ;		/* flag : timer 0 expired */
	u_char timer1_exp ;		/* flag : timer 1 expired */
	u_char timer2_exp ;		/* flag : timer 2 expired */

	u_char rm_pad1;
} ;

/*
 * CFM - Configuration Management
 * cfm.c
 * used for SAS and DAS
 */
struct s_cfm {
	u_char cf_state;		/* CFM state machine current state */
	u_char cf_pad[3] ;
} ;

/*
 * CEM - Configuration Element Management
 * cem.c
 * used for Concentrator
 */
#ifdef	CONCENTRATOR
struct s_cem {
	int	ce_state ;	/* CEM state */
	int	ce_port ;	/* PA PB PM PM+1 .. */
	int	ce_type ;	/* TA TB TS TM */

Annotation

Implementation Notes