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) for a MRC.
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:: 4 $*/
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_startMRC( DomainID domain_id,
61  Unsigned16 ring_port_1_id,
62  Unsigned16 ring_port_2_id,
63  Unsigned16 vlan_id,
64  Unsigned16 link_down_interval,
65  Unsigned16 link_up_interval,
66  Unsigned16 link_change_count,
67  MRPBoolean blocked_state_supported,
68  void * lpvContextInd);
69 
71 MRPError MRP_T_stopMRC( DomainID domain_id );
72 
74 MRPError MRP_T_readMRCRingPort1ID( DomainID domain_id,
75  Unsigned16* const value );
76 
78 MRPError MRP_T_readMRCRingPort2ID( DomainID domain_id,
79  Unsigned16* const value );
80 
82 MRPError MRP_T_readMRCVLanID( DomainID domain_id,
83  Unsigned16* const value );
84 
86 MRPError MRP_T_readMRCRingPort1PortState( DomainID domain_id,
87  Unsigned16* const value );
88 
90 MRPError MRP_T_readMRCRingPort2PortState( DomainID domain_id,
91  Unsigned16* const value );
92 
94 MRPError MRP_T_readMRCLinkDownInterval( DomainID domain_id,
95  Unsigned16* const value );
96 
98 MRPError MRP_T_readMRCLinkUpInterval( DomainID domain_id,
99  Unsigned16* const value );
100 
102 MRPError MRP_T_readMRCLinkChangeCount( DomainID domain_id,
103  Unsigned16* const value );
104 
106 MRPError MRP_T_readMRCBlockedStateSupported( DomainID domain_id,
107  MRPBoolean* const value );
108 
110 MRPError MRP_T_readExpectedRoleState( DomainID domain_id,
111  Unsigned16* const value );
112 
115 MRPBoolean MRP_T_dispatcher( void );
116 
118 MRPBoolean MRP_T_push( MRPEnvEvent event,
119  Unsigned16 rx_port,
120  Unsigned16 vlan_id,
121  char* data_ptr,
122  Unsigned16 data_length );
123 
125 MRPBoolean MRP_T_pushEvent( const MRP_EnvEvent_T* env_event );
126 
128 MRPBoolean MRP_T_tickTimer( void );
129 
130 
131 MRPBoolean MRP_rcv_pdu ( unsigned char * lpbyData);
132 MRPBoolean MRP_link_change( unsigned char * lpbyData);
133 MRPBoolean MRP_timer ( void );
134 
135 #endif
136 
Definition: mrp_pkg.h:81
Definition: mrp_envevent.h:53