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