linux/drivers/net/fddi/skfp/cfm.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.
 *
 ******************************************************************************/

/*
	SMT CFM
	Configuration Management
	DAS with single MAC
*/

/*
 *	Hardware independent state machine implemantation
 *	The following external SMT functions are referenced :
 *
 *		queue_event()
 *
 *	The following external HW dependent functions are referenced :
 *		config_mux()
 *
 *	The following HW dependent events are required :
 *		NONE 
 */

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

#define KERNEL
#include "h/smtstate.h"

/*
 * FSM Macros
 */
#define AFLAG
#define GO_STATE(x)
#define ACTIONS_DONE()
#define ACTIONS(x)

/*
 * symbolic state names
 */
static const char * const cfm_states[] = ;

/*
 * symbolic event names
 */
static const char * const cfm_events[] = ;

/*
 * map from state to downstream port type
 */
static const unsigned char cf_to_ptype[] = ;

/*
 * CEM port states
 */
#define CEM_PST_DOWN
#define CEM_PST_UP
#define CEM_PST_HOLD
/* define portstate array only for A and B port */
/* Do this within the smc structure (use in multiple cards) */

/*
 * all Globals  are defined in smc.h
 * struct s_cfm
 */

/*
 * function declarations
 */
static void cfm_fsm(struct s_smc *smc, int cmd);

/*
	init CFM state machine
	clear all CFM vars and flags
*/
void cfm_init(struct s_smc *smc)
{}

/* Some terms conditions used by the selection criteria */
#define THRU_ENABLED(smc)
/* Selection criteria for the ports */
static void selection_criteria (struct s_smc *smc, struct s_phy *phy)
{}

void all_selection_criteria(struct s_smc *smc)
{}

static void cem_priv_state(struct s_smc *smc, int event)
/* State machine for private PORT states: used to optimize dual homing */
{}

/*
	CFM state machine
	called by dispatcher

	do
		display state change
		process event
	until SM is stable
*/
void cfm(struct s_smc *smc, int event)
{}

/*
	process CFM event
*/
/*ARGSUSED1*/
static void cfm_fsm(struct s_smc *smc, int cmd)
{}

/*
 * get MAC's input Port
 *	return :
 *		PA or PB
 */
int cfm_get_mac_input(struct s_smc *smc)
{}

/*
 * get MAC's output Port
 *	return :
 *		PA or PB
 */
int cfm_get_mac_output(struct s_smc *smc)
{}

static char path_iso[] = ;

static char path_wrap_a[] = ;

static char path_wrap_b[] = ;

static char path_thru[] = ;

static char path_wrap_s[] = ;

static char path_iso_s[] = ;

int cem_build_path(struct s_smc *smc, char *to, int path_index)
{}