Toggle navigation
Home
CycloneTCP
CycloneSSL
CycloneSSH
CycloneIPSEC
CycloneSTP
CycloneACME
CycloneCRYPTO
Download
Main Page
Data Structures
Files
File List
Globals
cyclone_stp
rstp
rstp_bdm.h
Go to the documentation of this file.
1
/**
2
* @file rstp_bdm.h
3
* @brief Bridge Detection state machine (BDM)
4
*
5
* @section License
6
*
7
* SPDX-License-Identifier: GPL-2.0-or-later
8
*
9
* Copyright (C) 2019-2024 Oryx Embedded SARL. All rights reserved.
10
*
11
* This file is part of CycloneSTP Open.
12
*
13
* This program is free software; you can redistribute it and/or
14
* modify it under the terms of the GNU General Public License
15
* as published by the Free Software Foundation; either version 2
16
* of the License, or (at your option) any later version.
17
*
18
* This program is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU General Public License for more details.
22
*
23
* You should have received a copy of the GNU General Public License
24
* along with this program; if not, write to the Free Software Foundation,
25
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
26
*
27
* @author Oryx Embedded SARL (www.oryx-embedded.com)
28
* @version 2.4.4
29
**/
30
31
#ifndef _RSTP_BDM_H
32
#define _RSTP_BDM_H
33
34
//Dependencies
35
#include "
rstp/rstp.h
"
36
37
//C++ guard
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
42
43
/**
44
* @brief Bridge Detection machine states
45
**/
46
47
typedef
enum
48
{
49
RSTP_BDM_STATE_EDGE
= 0,
50
RSTP_BDM_STATE_NOT_EDGE
= 1
51
}
RstpBdmState
;
52
53
54
//RSTP related functions
55
void
rstpBdmInit
(
RstpBridgePort
*
port
);
56
void
rstpBdmFsm
(
RstpBridgePort
*
port
);
57
void
rstpBdmChangeState
(
RstpBridgePort
*
port
,
RstpBdmState
newState);
58
59
//C++ guard
60
#ifdef __cplusplus
61
}
62
#endif
63
64
#endif
rstpBdmChangeState
void rstpBdmChangeState(RstpBridgePort *port, RstpBdmState newState)
Update BDM state machine state.
Definition:
rstp_bdm.c:122
RSTP_BDM_STATE_NOT_EDGE
@ RSTP_BDM_STATE_NOT_EDGE
Definition:
rstp_bdm.h:50
rstp.h
RSTP (Rapid Spanning Tree Protocol)
port
uint16_t port
Definition:
dns_common.h:267
rstpBdmInit
void rstpBdmInit(RstpBridgePort *port)
BDM state machine initialization.
Definition:
rstp_bdm.c:58
RSTP_BDM_STATE_EDGE
@ RSTP_BDM_STATE_EDGE
Definition:
rstp_bdm.h:49
rstpBdmFsm
void rstpBdmFsm(RstpBridgePort *port)
BDM state machine implementation.
Definition:
rstp_bdm.c:77
RstpBdmState
RstpBdmState
Bridge Detection machine states.
Definition:
rstp_bdm.h:48
RstpBridgePort
#define RstpBridgePort
Definition:
rstp.h:40