linux/drivers/char/ipmi/ipmi_si_sm.h

/* SPDX-License-Identifier: GPL-2.0+ */
/*
 * ipmi_si_sm.h
 *
 * State machine interface for low-level IPMI system management
 * interface state machines.  This code is the interface between
 * the ipmi_smi code (that handles the policy of a KCS, SMIC, or
 * BT interface) and the actual low-level state machine.
 *
 * Author: MontaVista Software, Inc.
 *         Corey Minyard <[email protected]>
 *         [email protected]
 *
 * Copyright 2002 MontaVista Software Inc.
 */

#ifndef __IPMI_SI_SM_H__
#define __IPMI_SI_SM_H__

#include "ipmi_si.h"

/*
 * This is defined by the state machines themselves, it is an opaque
 * data type for them to use.
 */
struct si_sm_data;

/* Results of SMI events. */
enum si_sm_result {};

/* Handlers for the SMI state machine. */
struct si_sm_handlers {};

/* Current state machines that we can use. */
extern const struct si_sm_handlers kcs_smi_handlers;
extern const struct si_sm_handlers smic_smi_handlers;
extern const struct si_sm_handlers bt_smi_handlers;

#endif /* __IPMI_SI_SM_H__ */