linux/drivers/net/fddi/skfp/ess.c

// SPDX-License-Identifier: GPL-2.0-or-later
/******************************************************************************
 *
 *	(C)Copyright 1998,1999 SysKonnect,
 *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
 *
 *	See the file "skfddi.c" for further information.
 *
 *	The information in this file is provided "AS IS" without warranty.
 *
 ******************************************************************************/

/*
 * *******************************************************************
 * This SBA code implements the Synchronous Bandwidth Allocation
 * functions described in the "FDDI Synchronous Forum Implementer's
 * Agreement" dated December 1th, 1993.
 * *******************************************************************
 *
 *	PURPOSE: The purpose of this function is to control
 *		 synchronous allocations on a single FDDI segment.
 *		 Allocations are limited to the primary FDDI ring.
 *		 The SBM provides recovery mechanisms to recover
 *		 unused bandwidth also resolves T_Neg and
 *		 reconfiguration changes. Many of the SBM state
 *		 machine inputs are sourced by the underlying
 *		 FDDI sub-system supporting the SBA application.
 *
 * *******************************************************************
 */

#include "h/types.h"
#include "h/fddi.h"
#include "h/smc.h"
#include "h/smt_p.h"


#ifndef	SLIM_SMT

#ifdef ESS

#ifndef lint
#define LINT_USE(x)
#else
#define LINT_USE
#endif
#define MS2BCLK(x)

/*
	-------------------------------------------------------------
	LOCAL VARIABLES:
	-------------------------------------------------------------
*/

static const u_short plist_raf_alc_res[] = ;

static const u_short plist_raf_chg_req[] = ;

static const struct fddi_addr smt_sba_da = ;
static const struct fddi_addr null_addr = ;

/*
	-------------------------------------------------------------
	GLOBAL VARIABLES:
	-------------------------------------------------------------
*/


/*
	-------------------------------------------------------------
	LOCAL FUNCTIONS:
	-------------------------------------------------------------
*/

static void ess_send_response(struct s_smc *smc, struct smt_header *sm,
			      int sba_cmd);
static void ess_config_fifo(struct s_smc *smc);
static void ess_send_alc_req(struct s_smc *smc);
static void ess_send_frame(struct s_smc *smc, SMbuf *mb);

/*
	-------------------------------------------------------------
	EXTERNAL FUNCTIONS:
	-------------------------------------------------------------
*/

/*
	-------------------------------------------------------------
	PUBLIC FUNCTIONS:
	-------------------------------------------------------------
*/

void ess_timer_poll(struct s_smc *smc);
void ess_para_change(struct s_smc *smc);
int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm,
			  int fs);
static int process_bw_alloc(struct s_smc *smc, long int payload, long int overhead);


/*
 * --------------------------------------------------------------------------
 *	End Station Support	(ESS)
 * --------------------------------------------------------------------------
 */

/*
 * evaluate the RAF frame
 */
int ess_raf_received_pack(struct s_smc *smc, SMbuf *mb, struct smt_header *sm,
			  int fs)
{}

/*
 * determines the synchronous bandwidth, set the TSYNC register and the
 * mib variables SBAPayload, SBAOverhead and fddiMACT-NEG.
 */
static int process_bw_alloc(struct s_smc *smc, long int payload, long int overhead)
{}

static void ess_send_response(struct s_smc *smc, struct smt_header *sm,
			      int sba_cmd)
{}

void ess_timer_poll(struct s_smc *smc)
{}

static void ess_send_alc_req(struct s_smc *smc)
{}

static void ess_send_frame(struct s_smc *smc, SMbuf *mb)
{}

void ess_para_change(struct s_smc *smc)
{}

static void ess_config_fifo(struct s_smc *smc)
{}

#endif /* ESS */

#endif	/* no SLIM_SMT */