File Index
Files and directories
Sign in
FILE

sba.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/fddi/skfp/h/sba.h C
  1/* SPDX-License-Identifier: GPL-2.0-or-later */
  2/******************************************************************************
  3 *
  4 *	(C)Copyright 1998,1999 SysKonnect,
  5 *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
  6 *
  7 *	The information in this file is provided "AS IS" without warranty.
  8 *
  9 ******************************************************************************/
 10
 11/*
 12 * Synchronous Bandwidth Allocation (SBA) structs
 13 */
 14 
 15#ifndef _SBA_
 16#define _SBA_
 17
 18#include "mbuf.h"
 19#include "sba_def.h"
 20
 21#ifdef	SBA
 22
 23/* Timer Cell Template */
 24struct timer_cell {
 25	struct timer_cell	*next_ptr ;
 26	struct timer_cell	*prev_ptr ;
 27	u_long			start_time ;
 28	struct s_sba_node_vars	*node_var ;
 29} ;
 30
 31/*
 32 * Node variables
 33 */
 34struct s_sba_node_vars {
 35	u_char			change_resp_flag ;
 36	u_char			report_resp_flag ;
 37	u_char			change_req_flag ;
 38	u_char			report_req_flag ;
 39	long			change_amount ;
 40	long			node_overhead ;
 41	long			node_payload ;
 42	u_long			node_status ;
 43	u_char			deallocate_status ;
 44	u_char			timer_state ;
 45	u_short			report_cnt ;
 46	long			lastrep_req_tranid ;
 47	struct fddi_addr	mac_address ;
 48	struct s_sba_sessions 	*node_sessions ;
 49	struct timer_cell	timer ;
 50} ;
 51
 52/*
 53 * Session variables
 54 */
 55struct s_sba_sessions {
 56	u_long			deallocate_status ;
 57	long			session_overhead ;
 58	u_long			min_segment_size ;
 59	long			session_payload ;
 60	u_long			session_status ;
 61	u_long			sba_category ;
 62	long			lastchg_req_tranid ;
 63	u_short			session_id ;
 64	u_char			class ;
 65	u_char			fddi2 ;
 66	u_long			max_t_neg ;
 67	struct s_sba_sessions	*next_session ;
 68} ;
 69
 70struct s_sba {
 71
 72	struct s_sba_node_vars	node[MAX_NODES] ;
 73	struct s_sba_sessions	session[MAX_SESSIONS] ;
 74
 75	struct s_sba_sessions	*free_session ;	/* points to the first */
 76						/* free session */
 77
 78	struct timer_cell	*tail_timer ;	/* points to the last timer cell */
 79
 80	/*
 81	 * variables for allocation actions
 82	 */
 83	long	total_payload ;		/* Total Payload */
 84	long	total_overhead ;	/* Total Overhead */
 85	long	sba_allocatable ;	/* allocatable sync bandwidth */
 86
 87	/*
 88	 * RAF message receive parameters
 89	 */
 90	long		msg_path_index ;	/* Path Type */
 91	long		msg_sba_pl_req ;	/* Payload Request */
 92	long		msg_sba_ov_req ;	/* Overhead Request */
 93	long		msg_mib_pl ;		/* Current Payload for this Path */
 94	long		msg_mib_ov ;		/* Current Overhead for this Path*/
 95	long		msg_category ;		/* Category of the Allocation */
 96	u_long		msg_max_t_neg ;		/* longest T_Neg acceptable */
 97	u_long		msg_min_seg_siz ;	/* minimum segement size */
 98	struct smt_header	*sm ;		/* points to the rec message */
 99	struct fddi_addr	*msg_alloc_addr ;	/* Allocation Address */
100
101	/*
102	 * SBA variables
103	 */
104	u_long	sba_t_neg ;		/* holds the last T_NEG */
105	long	sba_max_alloc ;		/* the parsed value of SBAAvailable */	
106
107	/*
108	 * SBA state machine variables
109	 */
110	short	sba_next_state ;	/* the next state of the SBA */
111	char	sba_command ;		/* holds the execuded SBA cmd */
112	u_char	sba_available ;		/* parsed value after possible check */
113} ;
114
115#endif	/* SBA */
116
117	/*
118	 * variables for the End Station Support
119	 */
120struct s_ess {
121
122	/*
123	 * flags and counters
124	 */
125	u_char	sync_bw_available ;	/* is set if sync bw is allocated */
126	u_char	local_sba_active ;	/* set when a local sba is available */
127	char	raf_act_timer_poll ;	/* activate the timer to send allc req */
128	char	timer_count ;		/* counts every timer function call */
129
130	SMbuf	*sba_reply_pend ;	/* local reply for the sba is pending */
131	
132	/*
133	 * variables for the ess bandwidth control
134	 */
135	long	sync_bw ;		/* holds the allocaed sync bw */
136	u_long	alloc_trans_id ;	/* trans id of the last alloc req */
137} ;
138#endif
~/ Read-only file preview.