versadac  1
versadac - Scalable Recorder Firmware
mrp.h
1 /***************************************************************************************
2  *********** Copyright 2005 Zurich University of Applied Sciences / InES **************
3  ***************************************************************************************
4  **
5  ** File : mrp.h
6  **
7  ** Description : This file implements the MRP Application Programming
8  ** Interface (API).
9  **
10  ***************************************************************************************
11  ** Department : Institute of Embedded Systems
12  ** Project : MRP
13  ** Modul : MRP_T
14  ** Author : Christian Schaer
15  ** Contact : scc@zhwin.ch
16  ** Date : 10.04.2006
17  ****************************** Modifications ******************************************
18  **
19  ** Date : Who : Comment :
20  ** 10.05.06 scc initial release
21  **************************************************************************************/
22 /* $Workfile:: mrp.h $*/
23 /* $Revision:: 5 $*/
24 /* $Date:: 16/12/10 14:44 $*/
25 
26 #ifndef MRP_H
27 #define MRP_H
28 
29 
30 /***********************************************************************/
31 /*** Header Files Includes ***/
32 /***********************************************************************/
33 
34 #include "mrp_pkg.h"
35 #include "mrp_envevent.h"
36 
37 
38 /********************************************/
39 /*** Constructors and destructors ***/
40 /********************************************/
41 
43 MRPError MRP_T_Init(void );
44 
46 void MRP_T_Cleanup( void );
47 
48 
49 /**********************************************************************/
50 /*** MRP Protocol API ***/
51 /**********************************************************************/
52 
54 MRPError MRP_T_enableMRP( MRPBoolean enable );
55 
57 MRPBoolean MRP_T_isMRPEnabled( void );
58 
60 MRPError MRP_T_startMRM( DomainID domain_id,
61  Unsigned16 ring_port_1_id,
62  Unsigned16 ring_port_2_id,
63  Unsigned16 vlan_id,
64  Unsigned16 manager_priority,
65  Unsigned16 topology_change_interval,
66  Unsigned16 topology_change_repeat_count,
67  Unsigned16 short_test_interval,
68  Unsigned16 default_test_interval,
69  Unsigned16 test_monitoring_count,
70  MRPBoolean non_blocking_MRC_supported,
71  Unsigned16 test_monitoring_extended_count,
72  MRPBoolean react_on_link_change,
73  MRPBoolean check_media_redundancy,
74  void * lpvContextInd);
75 
77 MRPError MRP_T_stopMRM( DomainID domain_id );
78 
80 MRPError MRP_T_startMRC( DomainID domain_id,
81  Unsigned16 ring_port_1_id,
82  Unsigned16 ring_port_2_id,
83  Unsigned16 vlan_id,
84  Unsigned16 link_down_interval,
85  Unsigned16 link_up_interval,
86  Unsigned16 link_change_count,
87  MRPBoolean blocked_state_supported,
88  void * lpvContextInd);
89 
91 MRPError MRP_T_stopMRC( DomainID domain_id );
92 
94 MRPError MRP_T_readMRMRingPort1ID( DomainID domain_id,
95  Unsigned16* const value );
96 
98 MRPError MRP_T_readMRMRingPort2ID( DomainID domain_id,
99  Unsigned16* const value );
100 
102 MRPError MRP_T_readMRMVLanID( DomainID domain_id,
103  Unsigned16* const value );
104 
106 MRPError MRP_T_readMRMManagerPriority( DomainID domain_id,
107  Unsigned16* const value );
108 
110 MRPError MRP_T_readMRMRealRoleState( DomainID domain_id,
111  Unsigned16* const value );
112 
114 MRPError MRP_T_readMRMRealRingState( DomainID domain_id,
115  Unsigned16* const value );
116 
118 MRPError MRP_T_readMRMRingPort1PortState( DomainID domain_id,
119  Unsigned16* const value );
120 
122 MRPError MRP_T_readMRMRingPort2PortState( DomainID domain_id,
123  Unsigned16* const value );
124 
126 MRPError MRP_T_readMRMTopologyChangeInterval( DomainID domain_id,
127  Unsigned16* const value );
128 
130 MRPError MRP_T_readMRMTopologyChangeRepeatCount( DomainID domain_id,
131  Unsigned16* const value );
132 
134 MRPError MRP_T_readMRMShortTestInterval( DomainID domain_id,
135  Unsigned16* const value );
136 
138 MRPError MRP_T_readMRMDefaultTestInterval( DomainID domain_id,
139  Unsigned16* const value );
140 
142 MRPError MRP_T_readMRMTestMonitoringCount( DomainID domain_id,
143  Unsigned16* const value );
144 
146 MRPError MRP_T_readMRMNonBlockingMRCSupported( DomainID domain_id,
147  MRPBoolean* const value );
148 
150 MRPError MRP_T_readMRMTestMonitoringExtendedCount( DomainID domain_id,
151  Unsigned16* const value );
152 
154 MRPError MRP_T_readMRMReactOnLinkChange( DomainID domain_id,
155  MRPBoolean* const value );
156 
158 MRPError MRP_T_readMRMCheckMediaRedundancy( DomainID domain_id,
159  MRPBoolean* const value );
160 
162 MRPError MRP_T_readMRCRingPort1ID( DomainID domain_id,
163  Unsigned16* const value );
164 
166 MRPError MRP_T_readMRCRingPort2ID( DomainID domain_id,
167  Unsigned16* const value );
168 
170 MRPError MRP_T_readMRCVLanID( DomainID domain_id,
171  Unsigned16* const value );
172 
174 MRPError MRP_T_readMRCRingPort1PortState( DomainID domain_id,
175  Unsigned16* const value );
176 
178 MRPError MRP_T_readMRCRingPort2PortState( DomainID domain_id,
179  Unsigned16* const value );
180 
182 MRPError MRP_T_readMRCLinkDownInterval( DomainID domain_id,
183  Unsigned16* const value );
184 
186 MRPError MRP_T_readMRCLinkUpInterval( DomainID domain_id,
187  Unsigned16* const value );
188 
190 MRPError MRP_T_readMRCLinkChangeCount( DomainID domain_id,
191  Unsigned16* const value );
192 
194 MRPError MRP_T_readMRCBlockedStateSupported( DomainID domain_id,
195  MRPBoolean* const value );
196 
198 MRPError MRP_T_readExpectedRoleState( DomainID domain_id,
199  Unsigned16* const value );
200 
203 MRPBoolean MRP_T_dispatcher( void );
204 
206 MRPBoolean MRP_T_push( MRPEnvEvent event,
207  Unsigned16 rx_port,
208  Unsigned16 vlan_id,
209  char* data_ptr,
210  Unsigned16 data_length );
211 
213 MRPBoolean MRP_T_pushEvent( const MRP_EnvEvent_T* env_event );
214 
216 MRPBoolean MRP_T_tickTimer( void );
217 
218 
219 MRPBoolean MRP_rcv_pdu ( unsigned char * lpbyData);
220 MRPBoolean MRP_link_change( unsigned char * lpbyData);
221 MRPBoolean MRP_timer ( void );
222 
223 #endif
224 
Definition: mrp_pkg.h:81
Definition: mrp_envevent.h:53