Merge commit 'v2.6.30-rc5' into sched/core
[linux-2.6] / drivers / staging / epl / EplDef.h
1 /****************************************************************************
2
3   (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
4       www.systec-electronic.com
5
6   Project:      openPOWERLINK
7
8   Description:  include file for EPL default constants
9
10   License:
11
12     Redistribution and use in source and binary forms, with or without
13     modification, are permitted provided that the following conditions
14     are met:
15
16     1. Redistributions of source code must retain the above copyright
17        notice, this list of conditions and the following disclaimer.
18
19     2. Redistributions in binary form must reproduce the above copyright
20        notice, this list of conditions and the following disclaimer in the
21        documentation and/or other materials provided with the distribution.
22
23     3. Neither the name of SYSTEC electronic GmbH nor the names of its
24        contributors may be used to endorse or promote products derived
25        from this software without prior written permission. For written
26        permission, please contact info@systec-electronic.com.
27
28     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
31     FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
32     COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
33     INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
34     BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
35     LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
36     CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
37     LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
38     ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
39     POSSIBILITY OF SUCH DAMAGE.
40
41     Severability Clause:
42
43         If a provision of this License is or becomes illegal, invalid or
44         unenforceable in any jurisdiction, that shall not affect:
45         1. the validity or enforceability in that jurisdiction of any other
46            provision of this License; or
47         2. the validity or enforceability in other jurisdictions of that or
48            any other provision of this License.
49
50   -------------------------------------------------------------------------
51
52                 $RCSfile: EplDef.h,v $
53
54                 $Author: D.Krueger $
55
56                 $Revision: 1.15 $  $Date: 2008/10/17 15:32:32 $
57
58                 $State: Exp $
59
60                 Build Environment:
61                     GCC V3.4
62
63   -------------------------------------------------------------------------
64
65   Revision History:
66
67   2006/05/22 d.k.:   start of the implementation, version 1.00
68
69 ****************************************************************************/
70
71 #ifndef _EPL_DEF_H_
72 #define _EPL_DEF_H_
73
74 //---------------------------------------------------------------------------
75 // const defines
76 //---------------------------------------------------------------------------
77
78 #define EPL_C_ADR_BROADCAST         0xFF        // EPL broadcast address
79 #define EPL_C_ADR_DIAG_DEF_NODE_ID  0xFD        // EPL default address of dignostic device
80 #define EPL_C_ADR_DUMMY_NODE_ID     0xFC        // EPL dummy node address
81 #define EPL_C_ADR_INVALID           0x00        // invalid EPL address
82 #define EPL_C_ADR_MN_DEF_NODE_ID    0xF0        // EPL default address of MN
83 #define EPL_C_ADR_RT1_DEF_NODE_ID   0xFE        // EPL default address of router type 1
84 #define EPL_C_DLL_ASND_PRIO_NMTRQST 7   // increased ASnd request priority to be used by NMT Requests
85 #define EPL_C_DLL_ASND_PRIO_STD     0   // standard ASnd request priority
86 #define EPL_C_DLL_ETHERTYPE_EPL     0x88AB
87 #define EPL_C_DLL_ISOCHR_MAX_PAYL   1490        // Byte: maximum size of PReq and PRes payload data, requires C_IP_MAX_MTU
88 #define EPL_C_DLL_MAX_ASYNC_MTU     1500        // Byte: maximum asynchronous payload in bytes
89 #define EPL_C_DLL_MAX_PAYL_OFFSET   1499        // Byte: maximum offset of Ethernet frame payload, requires C_IP_MAX_MTU
90 #define EPL_C_DLL_MAX_RS            7
91 #define EPL_C_DLL_MIN_ASYNC_MTU     282 // Byte: minimum asynchronous payload in bytes.
92 #define EPL_C_DLL_MIN_PAYL_OFFSET   45  // Byte: minimum offset of Ethernet frame payload
93 #define EPL_C_DLL_MULTICAST_ASND    0x01111E000004LL    // EPL ASnd multicast MAC address, canonical form
94 #define EPL_C_DLL_MULTICAST_PRES    0x01111E000002LL    // EPL PRes multicast MAC address, canonical form
95 #define EPL_C_DLL_MULTICAST_SOA     0x01111E000003LL    // EPL SoA multicast MAC address, canonical form
96 #define EPL_C_DLL_MULTICAST_SOC     0x01111E000001LL    // EPL Soc multicast MAC address, canonical form
97 #define EPL_C_DLL_PREOP1_START_CYCLES 10        // number of unassigning SoA frames at start of NMT_MS_PRE_OPERATIONAL_1
98 #define EPL_C_DLL_T_BITTIME         10  // ns: Transmission time per bit on 100 Mbit/s network
99 #define EPL_C_DLL_T_EPL_PDO_HEADER  10  // Byte: size of PReq and PRes EPL PDO message header
100 #define EPL_C_DLL_T_ETH2_WRAPPER    18  // Byte: size of Ethernet type II wrapper consisting of header and checksum
101 #define EPL_C_DLL_T_IFG             640 // ns: Ethernet Interframe Gap
102 #define EPL_C_DLL_T_MIN_FRAME       5120        // ns: Size of minimum Ethernet frame (without preamble)
103 #define EPL_C_DLL_T_PREAMBLE        960 // ns: Size of Ethernet frame preamble
104
105 #define EPL_C_DLL_MINSIZE_SOC       36  // minimum size of SoC without padding and CRC
106 #define EPL_C_DLL_MINSIZE_PREQ      60  // minimum size of PRec without CRC
107 #define EPL_C_DLL_MINSIZE_PRES      60  // minimum size of PRes without CRC
108 #define EPL_C_DLL_MINSIZE_SOA       24  // minimum size of SoA without padding and CRC
109 #define EPL_C_DLL_MINSIZE_IDENTRES  176 // minimum size of IdentResponse without CRC
110 #define EPL_C_DLL_MINSIZE_STATUSRES 72  // minimum size of StatusResponse without CRC
111 #define EPL_C_DLL_MINSIZE_NMTCMD    20  // minimum size of NmtCommand without CommandData, padding and CRC
112 #define EPL_C_DLL_MINSIZE_NMTCMDEXT 52  // minimum size of NmtCommand without padding and CRC
113 #define EPL_C_DLL_MINSIZE_NMTREQ    20  // minimum size of NmtRequest without CommandData, padding and CRC
114 #define EPL_C_DLL_MINSIZE_NMTREQEXT 52  // minimum size of NmtRequest without padding and CRC
115
116 #define EPL_C_ERR_MONITOR_DELAY     10  // Error monitoring start delay (not used in DS 1.0.0)
117 #define EPL_C_IP_ADR_INVALID        0x00000000L // invalid IP address (0.0.0.0) used to indicate no change
118 #define EPL_C_IP_INVALID_MTU        0   // Byte: invalid MTU size used to indicate no change
119 #define EPL_C_IP_MAX_MTU            1518        // Byte: maximum size in bytes of the IP stack which must be processed.
120 #define EPL_C_IP_MIN_MTU            300 // Byte: minimum size in bytes of the IP stack which must be processed.
121 #define EPL_C_NMT_STATE_TOLERANCE   5   // Cycles: maximum reaction time to NMT state commands
122 #define EPL_C_NMT_STATREQ_CYCLE     5   // sec: StatusRequest cycle time to be applied to AsyncOnly CNs
123 #define EPL_C_SDO_EPL_PORT          3819
124
125 #define EPL_C_DLL_MAX_ASND_SERVICE_IDS  5       // see tEplDllAsndServiceId in EplDll.h
126
127 // Default configuration
128 // ======================
129
130 #ifndef EPL_D_PDO_Granularity_U8
131 #define EPL_D_PDO_Granularity_U8    8   // minimum size of objects to be mapped in bits UNSIGNED8 O O 1 1
132 #endif
133
134 #ifndef EPL_NMT_MAX_NODE_ID
135 #define EPL_NMT_MAX_NODE_ID         254 // maximum node-ID
136 #endif
137
138 #ifndef EPL_D_NMT_MaxCNNumber_U8
139 #define EPL_D_NMT_MaxCNNumber_U8    239 // maximum number of supported regular CNs in the Node ID range 1 .. 239 UNSIGNED8 O O 239 239
140 #endif
141
142 // defines for EPL API layer static process image
143 #ifndef EPL_API_PROCESS_IMAGE_SIZE_IN
144 #define EPL_API_PROCESS_IMAGE_SIZE_IN   0
145 #endif
146
147 #ifndef EPL_API_PROCESS_IMAGE_SIZE_OUT
148 #define EPL_API_PROCESS_IMAGE_SIZE_OUT  0
149 #endif
150
151 // configure whether OD access events shall be forwarded
152 // to user callback function.
153 // Because of reentrancy for local OD accesses, this has to be disabled
154 // when application resides in other address space as the stack (e.g. if
155 // EplApiLinuxUser.c and EplApiLinuxKernel.c are used)
156 #ifndef EPL_API_OBD_FORWARD_EVENT
157 #define EPL_API_OBD_FORWARD_EVENT       TRUE
158 #endif
159
160 #ifndef EPL_OBD_MAX_STRING_SIZE
161 #define EPL_OBD_MAX_STRING_SIZE        32       // is used for objects 0x1008/0x1009/0x100A
162 #endif
163
164 #ifndef EPL_OBD_USE_STORE_RESTORE
165 #define EPL_OBD_USE_STORE_RESTORE       FALSE
166 #endif
167
168 #ifndef EPL_OBD_CHECK_OBJECT_RANGE
169 #define EPL_OBD_CHECK_OBJECT_RANGE      TRUE
170 #endif
171
172 #ifndef EPL_OBD_USE_STRING_DOMAIN_IN_RAM
173 #define EPL_OBD_USE_STRING_DOMAIN_IN_RAM    TRUE
174 #endif
175
176 #ifndef EPL_OBD_USE_VARIABLE_SUBINDEX_TAB
177 #define EPL_OBD_USE_VARIABLE_SUBINDEX_TAB   TRUE
178 #endif
179
180 #ifndef EPL_OBD_USE_KERNEL
181 #if (((EPL_MODULE_INTEGRATION) & (EPL_MODULE_OBDU)) == 0)
182 #define EPL_OBD_USE_KERNEL                  TRUE
183 #else
184 #define EPL_OBD_USE_KERNEL                  FALSE
185 #endif
186 #endif
187
188 #ifndef EPL_OBD_INCLUDE_A000_TO_DEVICE_PART
189 #define EPL_OBD_INCLUDE_A000_TO_DEVICE_PART FALSE
190 #endif
191
192 #ifndef EPL_VETH_NAME
193 #define EPL_VETH_NAME       "epl"       // name of net device in Linux
194 #endif
195
196 /*
197 #define EPL_D_CFG_ConfigManager_BOOL // Ability of a MN node to perform Configuration Manager functions BOOLEAN O - N -
198 #define EPL_D_CFM_VerifyConf_BOOL   // Support of objects CFM_VerifyConfiguration_REC, CFM_ExpConfDateList_AU32, CFM_ExpConfTimeList_AU32 BOOLEAN O O N N
199 #define EPL_D_CFM_VerifyConfId_BOOL // Support of objects CFM_VerifyConfiguration_REC.ConfId_U32 and CFM_ExpConfIdList_AU32 BOOLEAN O O N N
200 #define EPL_D_DLL_CNFeatureIsochr_BOOL // CN\92s ability to perform isochronous functions BOOLEAN - O - Y
201 #define EPL_D_DLL_CNFeatureMultiplex_BOOL // node\92s ability to perform control of multiplexed isochronous communication BOOLEAN - O - N
202 #define EPL_D_DLL_FeatureCN_BOOL // node\92s ability to perform CN functions BOOLEAN O O Y Y
203 #define EPL_D_DLL_FeatureMN_BOOL // node\92s ability to perform MN functions BOOLEAN M O - N
204 #define EPL_D_DLL_MNFeatureMultiplex_BOOL // MN\92s ability to perform control of multiplexed isochronous communication BOOLEAN O - Y -
205 #define EPL_D_DLL_MNFeaturePResTx_BOOL // MN\92s ability to transmit PRes BOOLEAN O - Y -
206 #define EPL_D_NMT_ASndRxMaxPayload_U16 // size of ASnd frame receive buffer UNSIGNED16 M M - -
207 #define EPL_D_NMT_ASndTxMaxPayload_U16 // size of ASnd frame transmit buffer UNSIGNED16 M M - -
208 #define EPL_D_NMT_CNASnd2SoC_U32 // minimum delay between end of reception of ASnd and start of reception of SoC UNSIGNED32 - M - -
209 #define EPL_D_NMT_CNASndMaxLatency_U32 // delay between end of SoA reception and start of ASnd transmission UNSIGNED32 - M - -
210 #define EPL_D_NMT_CNPResMaxLatency_U32 // delay between end of PReq reception and start of PRes transmission UNSIGNED32 - M - -
211 #define EPL_D_NMT_CNSoC2PReq_U32 // CN SoC handling maximum time, a subsequent PReq won\92t be handled before SoC handling was finished UNSIGNED32 - M - -
212 #define EPL_D_NMT_DeviceType_U32 // Device Type ID UNSIGNED32 M M - -
213 #define EPL_D_NMT_EPLVers_U8 EPL // Version implemented by the device UNSIGNED8 M M - -
214 #define EPL_D_NMT_ExtStateCmd_BOOL // abitilty to support Extended NMT State Commands BOOLEAN O O Y Y
215 #define EPL_D_NMT_InfoSvc_BOOL // ability to support NMT Info Services BOOLEAN O - Y -
216 #define EPL_D_NMT_InterfaceAddr_Xh_OSTR // Physical Address of Interface No. Xh OCTET_STRING M M - -
217 #define EPL_D_NMT_InterfaceDescr_Xh_VSTR // Description text of Interface No. Xh VISIBLE_STRINGM M - -
218 #define EPL_D_NMT_InterfaceMtu_Xh_U32 // MTU of Interface No. Xh UNSIGNED32 M M - -
219 #define EPL_D_NMT_InterfaceType_Xh_U8 // Type of Interface No. Xh UNSIGNED8 M M - -
220 #define EPL_D_NMT_IsochrRxMaxPayload_U16 // size of isochronous frame receive buffer UNSIGNED16 M M - -
221 #define EPL_D_NMT_IsochrTxMaxPayload_U16 // size of isochronous frame transmit buffer UNSIGNED16 M M - -
222 #define EPL_D_NMT_ManufactDevName_VS // Manufacturer Device Name VISIBLE_STRING O O - -
223 #define EPL_D_NMT_ManufactHwVers_VS // Manufacturer HW version VISIBLE_STRING O O - -
224 #define EPL_D_NMT_ManufactSwVers_VS // Manufacturer SW version VISIBLE_STRING O O - -
225 #define EPL_D_NMT_MaxCNNodeID_U8 // maximum Node ID available for regular CNs the entry provides an upper limit to the NodeID available for cross traffic PDO reception from a regular CN UNSIGNED8 O O 239 239
226 #define EPL_D_NMT_MaxCNNumber_U8 // maximum number of supported regular CNs in the Node ID range 1 .. 239 UNSIGNED8 O O 239 239
227 #define EPL_D_NMT_MaxHeartbeats_U8 // number of guard channels UNSIGNED8 O O 254 254
228 #define EPL_D_NMT_MNASnd2SoC_U32 // minimum delay between end of reception of ASnd and start of transmission of SoC UNSIGNED32 M - - -
229 #define EPL_D_NMT_MNMultiplCycMax_U8 // maximum number of EPL cycles per multiplexed cycle UNSIGNED8 O - 0 -
230 #define EPL_D_NMT_MNPRes2PReq_U32 // delay between end of PRes reception and start of PReq transmission UNSIGNED32 M - - -
231 #define EPL_D_NMT_MNPRes2PRes_U32 // delay between end of reception of PRes from CNn and start of transmission of PRes by MN UNSIGNED32 M - - -
232 #define EPL_D_NMT_MNPResRx2SoA_U32 // delay between end of reception of PRes from CNn and start of transmission of SoA by MN UNSIGNED32 M - - -
233 #define EPL_D_NMT_MNPResTx2SoA_U32 // delay between end of PRes transmission by MN and start of transmission of SoA by MN UNSIGNED32 M - - -
234 #define EPL_D_NMT_MNSoA2ASndTx_U32 // delay between end of transmission of SoA and start of transmission of ASnd by MN UNSIGNED32 M - - -
235 #define EPL_D_NMT_MNSoC2PReq_U32 // MN minimum delay between end of SoC transmission and start of PReq transmission UNSIGNED32 M - - -
236 #define EPL_D_NMT_NMTSvcViaUDPIP_BOOL // Ability of a node to perform NMT services via UDP/IP BOOLEAN O - Y -
237 #define EPL_D_NMT_NodeIDByHW_BOOL // Ability of a node to support NodeID setup by HW BOOLEAN O O Y Y
238 #define EPL_D_NMT_NodeIDBySW_BOOL // Ability of a node to support NodeID setup by SW BOOLEAN O O N N
239 #define EPL_D_NMT_ProductCode_U32 // Identity Object Product Code UNSIGNED32 M M - -
240 #define EPL_D_NMT_RevisionNo_U32 // Identity Object Revision Number UNSIGNED32 M M - -
241 #define EPL_D_NMT_SerialNo_U32 // Identity Object Serial Number UNSIGNED32 M M - -
242 #define EPL_D_NMT_SimpleBoot_BOOL // Ability of a MN node to perform Simple Boot Process, if not set Indivual Boot Process shall be proviced BOOLEAN M - - -
243 #define EPL_D_NMT_VendorID_U32 // Identity Object Vendor ID UNSIGNED32 M M - -
244 #define EPL_D_NWL_Forward_BOOL // Ability of node to forward datagrams BOOLEAN O O N N
245 #define EPL_D_NWL_IPSupport_BOOL // Ability of the node cummunicate via IP BOOLEAN - - Y Y
246 #define EPL_D_PDO_DynamicMapping_BOOL // Ability of a node to perform dynamic PDO mapping BOOLEAN O O Y Y
247 #define EPL_D_PDO_MaxDescrMem_U32 // maximum cumulative memory consumption of TPDO and RPDO describing objects in byte UNSIGNED32 O O MAX_U32 MAX_U32
248 #define EPL_D_PDO_RPDOChannels_U8 // number of supported RPDO channels UNSIGNED8 O O 256 256
249 #define EPL_D_PDO_RPDOMaxMem_U32 // Maximum memory available for RPDO data per EPL cycle in byte UNSIGNED32 O O MAX_U32 MAX_U32
250 #define EPL_D_PDO_RPDOObjects_U8 // Number of supported mapped objects per RPDO channel UNSIGNED8 O O 254 254
251 #define EPL_D_PDO_TPDOChannels_U8 // number of supported TPDO channels UNSIGNED8 O - 256 -
252 #define EPL_D_PDO_TPDOMaxMem_U32 // Maximum memory available for TPDO data per EPL cycle in byte UNSIGNED32 O O MAX_U32 MAX_U32
253 #define EPL_D_PDO_TPDOObjects_U8 // Number of supported mapped objects per TPDO channel UNSIGNED8 O O 254 254
254 #define EPL_D_SDO_ViaASnd_BOOL // Ability of a CN to perform SDO transfer by EPL ASnd BOOLEAN - M - -
255 #define EPL_D_SDO_ViaPDO_BOOL // Ability of a node to perform SDO transfer by PDO BOOLEAN O O N N
256 #define EPL_D_SDO_ViaUDPIP_BOOL // Ability of a CN to perform SDO transfer by UDP/IP BOOLEAN - M - -
257 #define EPL_D_SYN_OptimizedSync_BOOL // Ability of node to perform optimized synchronisation BOOLEAN O O N N
258 */
259
260 // Emergency error codes
261 // ======================
262 #define EPL_E_NO_ERROR                  0x0000
263 // 0xFxxx manufacturer specific error codes
264 #define EPL_E_NMT_NO_IDENT_RES          0xF001
265 #define EPL_E_NMT_NO_STATUS_RES         0xF002
266
267 // 0x816x HW errors
268 #define EPL_E_DLL_BAD_PHYS_MODE         0x8161
269 #define EPL_E_DLL_COLLISION             0x8162
270 #define EPL_E_DLL_COLLISION_TH          0x8163
271 #define EPL_E_DLL_CRC_TH                0x8164
272 #define EPL_E_DLL_LOSS_OF_LINK          0x8165
273 #define EPL_E_DLL_MAC_BUFFER            0x8166
274 // 0x82xx Protocol errors
275 #define EPL_E_DLL_ADDRESS_CONFLICT      0x8201
276 #define EPL_E_DLL_MULTIPLE_MN           0x8202
277 // 0x821x Frame size errors
278 #define EPL_E_PDO_SHORT_RX              0x8210
279 #define EPL_E_PDO_MAP_VERS              0x8211
280 #define EPL_E_NMT_ASND_MTU_DIF          0x8212
281 #define EPL_E_NMT_ASND_MTU_LIM          0x8213
282 #define EPL_E_NMT_ASND_TX_LIM           0x8214
283 // 0x823x Timing errors
284 #define EPL_E_NMT_CYCLE_LEN             0x8231
285 #define EPL_E_DLL_CYCLE_EXCEED          0x8232
286 #define EPL_E_DLL_CYCLE_EXCEED_TH       0x8233
287 #define EPL_E_NMT_IDLE_LIM              0x8234
288 #define EPL_E_DLL_JITTER_TH             0x8235
289 #define EPL_E_DLL_LATE_PRES_TH          0x8236
290 #define EPL_E_NMT_PREQ_CN               0x8237
291 #define EPL_E_NMT_PREQ_LIM              0x8238
292 #define EPL_E_NMT_PRES_CN               0x8239
293 #define EPL_E_NMT_PRES_RX_LIM           0x823A
294 #define EPL_E_NMT_PRES_TX_LIM           0x823B
295 // 0x824x Frame errors
296 #define EPL_E_DLL_INVALID_FORMAT        0x8241
297 #define EPL_E_DLL_LOSS_PREQ_TH          0x8242
298 #define EPL_E_DLL_LOSS_PRES_TH          0x8243
299 #define EPL_E_DLL_LOSS_SOA_TH           0x8244
300 #define EPL_E_DLL_LOSS_SOC_TH           0x8245
301 // 0x84xx BootUp Errors
302 #define EPL_E_NMT_BA1                   0x8410  // other MN in MsNotActive active
303 #define EPL_E_NMT_BA1_NO_MN_SUPPORT     0x8411  // MN is not supported
304 #define EPL_E_NMT_BPO1                  0x8420  // mandatory CN was not found or failed in BootStep1
305 #define EPL_E_NMT_BPO1_GET_IDENT        0x8421  // IdentRes was not received
306 #define EPL_E_NMT_BPO1_DEVICE_TYPE      0x8422  // wrong device type
307 #define EPL_E_NMT_BPO1_VENDOR_ID        0x8423  // wrong vendor ID
308 #define EPL_E_NMT_BPO1_PRODUCT_CODE     0x8424  // wrong product code
309 #define EPL_E_NMT_BPO1_REVISION_NO      0x8425  // wrong revision number
310 #define EPL_E_NMT_BPO1_SERIAL_NO        0x8426  // wrong serial number
311 #define EPL_E_NMT_BPO1_CF_VERIFY        0x8428  // verification of configuration failed
312 #define EPL_E_NMT_BPO2                  0x8430  // mandatory CN failed in BootStep2
313 #define EPL_E_NMT_BRO                   0x8440  // CheckCommunication failed for mandatory CN
314 #define EPL_E_NMT_WRONG_STATE           0x8480  // mandatory CN has wrong NMT state
315
316 // Defines for object 0x1F80 NMT_StartUp_U32
317 // ==========================================
318 #define EPL_NMTST_STARTALLNODES         0x00000002L     // Bit 1
319 #define EPL_NMTST_NO_AUTOSTART          0x00000004L     // Bit 2
320 #define EPL_NMTST_NO_STARTNODE          0x00000008L     // Bit 3
321 #define EPL_NMTST_RESETALL_MAND_CN      0x00000010L     // Bit 4
322 #define EPL_NMTST_STOPALL_MAND_CN       0x00000040L     // Bit 6
323 #define EPL_NMTST_NO_AUTOPREOP2         0x00000080L     // Bit 7
324 #define EPL_NMTST_NO_AUTOREADYTOOP      0x00000100L     // Bit 8
325 #define EPL_NMTST_EXT_CNIDENTCHECK      0x00000200L     // Bit 9
326 #define EPL_NMTST_SWVERSIONCHECK        0x00000400L     // Bit 10
327 #define EPL_NMTST_CONFCHECK             0x00000800L     // Bit 11
328 #define EPL_NMTST_NO_RETURN_PREOP1      0x00001000L     // Bit 12
329 #define EPL_NMTST_BASICETHERNET         0x00002000L     // Bit 13
330
331 // Defines for object 0x1F81 NMT_NodeAssignment_AU32
332 // ==================================================
333 #define EPL_NODEASSIGN_NODE_EXISTS      0x00000001L     // Bit 0
334 #define EPL_NODEASSIGN_NODE_IS_CN       0x00000002L     // Bit 1
335 #define EPL_NODEASSIGN_START_CN         0x00000004L     // Bit 2
336 #define EPL_NODEASSIGN_MANDATORY_CN     0x00000008L     // Bit 3
337 #define EPL_NODEASSIGN_KEEPALIVE        0x00000010L     //currently not used in EPL V2 standard
338 #define EPL_NODEASSIGN_SWVERSIONCHECK   0x00000020L     // Bit 5
339 #define EPL_NODEASSIGN_SWUPDATE         0x00000040L     // Bit 6
340 #define EPL_NODEASSIGN_ASYNCONLY_NODE   0x00000100L     // Bit 8
341 #define EPL_NODEASSIGN_MULTIPLEXED_CN   0x00000200L     // Bit 9
342 #define EPL_NODEASSIGN_RT1              0x00000400L     // Bit 10
343 #define EPL_NODEASSIGN_RT2              0x00000800L     // Bit 11
344 #define EPL_NODEASSIGN_MN_PRES          0x00001000L     // Bit 12
345 #define EPL_NODEASSIGN_VALID            0x80000000L     // Bit 31
346
347 //---------------------------------------------------------------------------
348 // typedef
349 //---------------------------------------------------------------------------
350
351 //---------------------------------------------------------------------------
352 // function prototypes
353 //---------------------------------------------------------------------------
354
355 #endif // #ifndef _EPL_DEF_H_