Toggle navigation
Home
CycloneTCP
CycloneSSL
CycloneSSH
CycloneIPSEC
CycloneSTP
CycloneACME
CycloneCRYPTO
Download
Main Page
Data Structures
Files
File List
Globals
cyclone_stp
rstp
rstp_prx.h
Go to the documentation of this file.
1
/**
2
* @file rstp_prx.h
3
* @brief Port Receive state machine (PRX)
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_PRX_H
32
#define _RSTP_PRX_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 Port Receive machine states
45
**/
46
47
typedef
enum
48
{
49
RSTP_PRX_STATE_DISCARD
= 0,
50
RSTP_PRX_STATE_RECEIVE
= 1
51
}
RstpPrxState
;
52
53
54
//RSTP related functions
55
void
rstpPrxInit
(
RstpBridgePort
*
port
);
56
void
rstpPrxFsm
(
RstpBridgePort
*
port
);
57
void
rstpPrxChangeState
(
RstpBridgePort
*
port
,
RstpPrxState
newState);
58
59
//C++ guard
60
#ifdef __cplusplus
61
}
62
#endif
63
64
#endif
RSTP_PRX_STATE_RECEIVE
@ RSTP_PRX_STATE_RECEIVE
Definition:
rstp_prx.h:50
rstpPrxChangeState
void rstpPrxChangeState(RstpBridgePort *port, RstpPrxState newState)
Update PRX state machine state.
Definition:
rstp_prx.c:125
rstpPrxFsm
void rstpPrxFsm(RstpBridgePort *port)
PRX state machine implementation.
Definition:
rstp_prx.c:71
rstp.h
RSTP (Rapid Spanning Tree Protocol)
rstpPrxInit
void rstpPrxInit(RstpBridgePort *port)
PRX state machine initialization.
Definition:
rstp_prx.c:59
port
uint16_t port
Definition:
dns_common.h:267
RstpPrxState
RstpPrxState
Port Receive machine states.
Definition:
rstp_prx.h:48
RSTP_PRX_STATE_DISCARD
@ RSTP_PRX_STATE_DISCARD
Definition:
rstp_prx.h:49
RstpBridgePort
#define RstpBridgePort
Definition:
rstp.h:40