versadac  1
versadac - Scalable Recorder Firmware
rdcbdev.h
1 /*---------------------------------------------------------------------------*/
2 /* Copyright (C) 2006 Woodhead Software & Electonics. All rights reserved. */
3 /*---------------------------------------------------------------------------*/
4 /* This program is protected by international copyright. */
5 /* */
6 /* The use of this software including but not limited to its Source Code */
7 /* is subject to restrictions as agreed in the license agreement between */
8 /* you and Woodhead. */
9 /* Copying or distribution is not allowed unless expressly permitted */
10 /* according to your license agreement with Woodhead. */
11 /*---------------------------------------------------------------------------*/
12 /* */
13 /* Project : STACK PROFINET Device */
14 /* Component : */
15 /* $Workfile:: rdcbdev.h $*/
16 /* $Revision:: 7 $*/
17 /* $Date:: 24/02/12 13:34 $*/
18 /* */
19 /*---------------------------------------------------------------------------*/
20 /* */
21 /* D e s c r i p t i o n : */
22 /* Callback from stack to Device User Application (for internal read) */
23 /* */
24 /*---------------------------------------------------------------------------*/
25 
26 #ifndef _RDCBDEV_H
27 #define _RDCBDEV_H
28 
29 #ifdef RECORD_INTERNAL
30 
31 
32  #ifdef RECORD_INTERNAL_PORT_STATISTIC
33  APP_WORD APP_FAR PND_CB_Get_PortStatistic(APP_BYTE byPort, APP_LPDWORD lpdwIfInOctets,APP_LPDWORD lpdwifOutOctets, APP_LPDWORD lpdwifInDiscards, APP_LPDWORD lpdwifOutDiscards, APP_LPDWORD lpdwifInErrors, APP_LPDWORD lpdwifOutErrors);
34  #endif
35 
36  #ifdef RECORD_INTERNAL_IO
37 
38  APP_WORD APP_FAR PND_CB_Get_Input_data(APP_DWORD dwApi, APP_WORD wSlot, APP_WORD wSubSlot, APP_LPBYTE lpbyIOCS, APP_LPBYTE lpbyIOPS, APP_LPBYTE lpbyData,APP_LPWORD lpwLenData);
39  APP_WORD APP_FAR PND_CB_Get_Output_data(APP_DWORD dwApi, APP_WORD wSlot, APP_WORD wSubSlot, APP_LPBYTE lpbyIOCS, APP_LPBYTE lpbyIOPS, APP_LPBYTE lpbyData,APP_LPWORD lpwLenData);
40  APP_WORD APP_FAR PND_CB_Get_OutputSubsTitute_data(APP_DWORD dwApi, APP_WORD wSlot, APP_WORD wSubSlot, APP_LPWORD lpwSubstitue, APP_LPBYTE lpbyIOCS, APP_LPBYTE lpbyIOPS, APP_LPBYTE lpbyData,APP_LPWORD lpwLenData);
41 
42 
43  #endif
44 
45  #ifdef RECORD_INTERNAL_IM
46 
47 
48  APP_WORD APP_FAR PND_CB_Get_Im0_Data (APP_DWORD dwARContextInd , APP_DWORD dwDRContextInd,
49  APP_LPBYTE lpbyOrderId , APP_LPBYTE lpbyOrderIdLen,
50  APP_LPBYTE lpbySerialNumber, APP_LPBYTE lpbySerialNumberLen,
51  APP_LPWORD lpwHardwareRevision,
52  APP_LPBYTE lpbySWRevision,
53  APP_LPBYTE lpbySWFunctionalEnhancement,
54  APP_LPBYTE lpbySWBugFix,
55  APP_LPBYTE lpbySWInternalChange,
56  APP_LPWORD lpwSWCounter,
57  APP_LPWORD lpwIMSupported
58  );
59 
60  #endif /* RECORD_INTERNAL_IM */
61 
62 
63 
64  #ifdef RECORD_INTERNAL_INTERFACE
65 
66  APP_WORD APP_FAR PND_CB_Get_ChassiId (APP_DWORD dwARContextInd , APP_DWORD dwDRContextInd,
67  APP_LPBYTE lpbyChassiId , APP_LPBYTE lpbyChassiIdLen
68  );
69 
70 
71  APP_WORD APP_FAR PND_CB_Get_Port_Data(APP_DWORD dwARContextInd , APP_DWORD dwDRContextInd,
72  APP_BYTE byPort,
73  APP_LPBYTE lpbyLengthOwnPortId, /* we only support LengthOwnPortID 8*/
74  APP_LPBYTE lpbyOwnPortId, /* port-xyz x, y, z is in the range "0"-"9" The values x, y, z shall be used to identify the port number */
75  APP_LPBYTE lpbyNumberOfPeers,
76  APP_LPBYTE lpbyFirstPeer,
77 
78  APP_LPWORD lpwMAUType,
79  APP_LPDWORD lpdwMulticastBoundary,
80  APP_LPWORD lpwLinkState,
81  APP_LPDWORD lpdwMediaType
82  );
83 
84 
85  APP_WORD PND_CB_Get_Peer_Data(APP_DWORD dwARContextInd , APP_DWORD dwDRContextInd,
86  APP_BYTE byPort,
87  APP_LPBYTE lpbyPeersNumber,
88  APP_LPBYTE lpbyLengthPeerPortID,
89  APP_LPBYTE lpbyPeerPortID,
90  APP_LPBYTE lpbyLengthPeerChassisID,
91  APP_LPBYTE lpbyPeerChassisID,
92  APP_LPDWORD lpdwLineDelay,
93  APP_LPBYTE lpbyPeerMACAddress);
94 
95 
96 
97  APP_WORD APP_FAR lldpReadInternal_getChassiId (APP_LPBYTE lpbyChassiId, APP_LPBYTE lpbyChassidIdLen );
98  APP_WORD APP_FAR lldpReadInternal_getPortData (APP_BYTE byPort, APP_LPBYTE lpbyLengthOwnPortId, APP_LPBYTE lpbyOwnPortId);
99  APP_WORD APP_FAR lldpReadInternal_getPortNbPeers(APP_BYTE byPort, APP_LPBYTE lpbyNumberOfPeers, APP_LPBYTE lpbyFirstPeers);
100  APP_WORD APP_FAR lldpReadInternal_getPeerData (APP_BYTE byPort, APP_LPBYTE lpbyPeersNumber, APP_LPBYTE lpbyLengthPeerPortID, APP_LPBYTE lpbyPeerPortID, APP_LPBYTE lpbyLengthPeerChassisID, APP_LPBYTE lpbyPeerChassisID, APP_LPDWORD lpdwLineDelay, APP_LPBYTE lpbyPeerMACAddress);
101 
102 
103  /*Define from specification: these value can be use but not change */
104 
105  /*MAUType: for more value see PN Specification Table 404/405*/
106  #define MAU_TYPE_100BASETXFD 0x0010
107 
108  /*
109  Multicast BOndary:
110  Bit |Value |Meaning
111  --------------------------------------------------------------------
112  0 | 1 |Block the multicast MAC address 01-0E-CF-00-02-00
113  | 0 |Do not block the multicast MAC address 01-0E-CF-00-02-00
114  --------------------------------------------------------------------
115  ... | 1 |Block the multicast MAC address 01-0E-CF-00-02-xx
116  | 0 |Do not block the multicast MAC address 01-0E-CF-00-02-xx
117  --------------------------------------------------------------------
118  31 | 1 |Block the multicast MAC address 01-0E-CF-00-02-1F
119  | 0 |Do not block the multicast MAC address 01-0E-CF-00-02-1F
120  */
121  #define MULTICAST_BOUNDARY 0x0000 /* Nothing block */
122 
123  /*Link port state: for more value see PN Specification Table 414/415 */
124  #define LINK_PORT_STATE_UP 0x01 /* 0x01 Up (ready to pass packets) */
125  #define LINK_PORT_STATE_DOWN 0x02 /* 0x02 Down */
126 
127  /* MediaType */
128  #define MEDIA_TYPE_UNKNOW 0x00 /* Unknown */
129  #define MEDIA_TYPE_COPPER 0x01 /* Copper cable */
130  #define MEDIA_TYPE_FIBER_OPTIC 0x02 /* Fiber optic cable */
131  #define MEDIA_TYPE_RADIO 0x03 /* Radio communication */
132 
133  #endif /* RECORD_INTERNAL_INTERFACE */
134 
135 #endif /* RECORD_INTERNAL */
136 
137 
138 /*-----------------------------------------------------------------------*/
139 /* Lookup parameters */
140 /*-----------------------------------------------------------------------*/
141 #define RPC_EPM_DEVICE_TYPE "SDR.DEVICE"
142 #define RPC_EPM_DEVICE_TYPE_LEN 12
143 #define RPC_EPM_ORDER_ID "STACK-MOLEX"
144 #define RPC_EPM_ORDER_ID_LEN 11
145 #define RPC_EPM_HWREV "00000"
146 #define RPC_EPM_HWREV_LEN 5
147 #define RPC_EPM_SWREV "V 2 2 0"
148 #define RPC_EPM_SWREV_LEN 10
149 
150 #endif