nilfs2: segment usage file
[linux-2.6] / drivers / staging / epl / EplErrDef.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:  definitions for all EPL-function return codes
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: EplErrDef.h,v $
53
54                 $Author: D.Krueger $
55
56                 $Revision: 1.9 $  $Date: 2008/06/23 14:56:33 $
57
58                 $State: Exp $
59
60                 Build Environment:
61                     all
62
63   -------------------------------------------------------------------------
64
65   Revision History:
66
67   2005/12/05 -as:   start of the implementation, version 1.00
68
69 ****************************************************************************/
70
71 #ifndef _EPL_ERRORDEF_H_
72 #define _EPL_ERRORDEF_H_
73
74 //---------------------------------------------------------------------------
75 // return codes
76 //---------------------------------------------------------------------------
77
78 typedef enum {
79         // area for generic errors 0x0000 - 0x000F
80         kEplSuccessful = 0x0000,        // no error/successful run
81         kEplIllegalInstance = 0x0001,   // the called Instanz does not exist
82         kEplInvalidInstanceParam = 0x0002,      //
83         kEplNoFreeInstance = 0x0003,    // XxxAddInstance was called but no free instance is available
84         kEplWrongSignature = 0x0004,    // wrong signature while writing to object 0x1010 or 0x1011
85         kEplInvalidOperation = 0x0005,  // operation not allowed in this situation
86         kEplInvalidNodeId = 0x0007,     // invalid NodeId was specified
87         kEplNoResource = 0x0008,        // resource could not be created (Windows, PxROS, ...)
88         kEplShutdown = 0x0009,  // stack is shutting down
89         kEplReject = 0x000A,    // reject the subsequent command
90
91         // area for EDRV module 0x0010 - 0x001F
92 //    kEplEdrvNoFrame             = 0x0010,       // no CAN message was received
93 //    kEplEdrvMsgHigh             = 0x0011,       // CAN message with high priority was received
94 //    kEplEdrvMsgLow              = 0x0012,       // CAN message with low priority was received
95         kEplEdrvInitError = 0x0013,     // initialisation error
96         kEplEdrvNoFreeBufEntry = 0x0014,        // no free entry in internal buffer table for Tx frames
97         kEplEdrvBufNotExisting = 0x0015,        // specified Tx buffer does not exist
98 //    kEplEdrvNoFreeChannel       = 0x0014,       // CAN controller has not a free channel
99 //    kEplEdrvTxBuffHighOverrun   = 0x0015,       // buffer for high priority CAN transmit messages has overrun
100 //    kEplEdrvTxBuffLowOverrun    = 0x0016,       // buffer for low priority CAN transmit messages has overrun
101 //    kEplEdrvIllegalBdi          = 0x0017,       // unsupported baudrate within baudrate table
102 //    kEplEdrvBusy                = 0x0018,       // remote frame can not be updated because no bus contact or CAN
103         // transmission is activ
104 //    kEplEdrvInvalidDriverType   = 0x0019,       // (PC: Windows or Linux) invalid driver type
105 //    kEplEdrvDriverNotFound      = 0x001A,       // (PC: Windows or Linux) driver (DLL) could not be found
106 //    kEplEdrvInvalidBaseAddress  = 0x001B,       // (PC: Windows or Linux) driver could not found the CAN controller
107 //    kEplEdrvInvalidParam        = 0x001C,       // invalid param in function call
108
109         // area for COB module 0x0020 - 0x002F
110 /*    kEplCobNoFreeEntry          = 0x0020,       // no free entry in RX- or TX-COB table
111     kEplCobAlreadyExist         = 0x0021,       // COB-ID already exists in RX- resp. TX-COB table
112     */
113         kEplDllIllegalHdl = 0x0022,     // illegal handle for a TxFrame was passed
114         kEplDllCbAsyncRegistered = 0x0023,      // handler for non-EPL frames was already registered before
115 //    kEplDllAsyncRxBufferFull    = 0x0024,       // receive buffer for asynchronous frames is full
116         kEplDllAsyncTxBufferEmpty = 0x0025,     // transmit buffer for asynchronous frames is empty
117         kEplDllAsyncTxBufferFull = 0x0026,      // transmit buffer for asynchronous frames is full
118         kEplDllNoNodeInfo = 0x0027,     // MN: too less space in the internal node info structure
119         kEplDllInvalidParam = 0x0028,   // invalid parameters passed to function
120         kEplDllTxBufNotReady = 0x002E,  // TxBuffer (e.g. for PReq) is not ready yet
121         kEplDllTxFrameInvalid = 0x002F, // TxFrame (e.g. for PReq) is invalid or does not exist
122 /*    kEplCobIllegalCanId         = 0x0023,       // COB-ID is not allowed (like 0x000 is reserved for NMT, ...)
123     kEplCobInvalidCanId         = 0x0024,       // COB-ID is switched off
124     kEplCobCdrvStateSet         = 0x0025,       // at least one bit of CAN driver state is set
125     kEplCobNoFreeEntryHighBuf   = 0x0026,       // no free entry in high priotity RX- or TX-COB table
126     kEplCobOwnId                = 0x0027,       // COB-ID already exists in own module which calls CobDefine() or CobCheck()
127 */
128         // area for OBD module 0x0030 - 0x003F
129         kEplObdIllegalPart = 0x0030,    // unknown OD part
130         kEplObdIndexNotExist = 0x0031,  // object index does not exist in OD
131         kEplObdSubindexNotExist = 0x0032,       // subindex does not exist in object index
132         kEplObdReadViolation = 0x0033,  // read access to a write-only object
133         kEplObdWriteViolation = 0x0034, // write access to a read-only object
134         kEplObdAccessViolation = 0x0035,        // access not allowed
135         kEplObdUnknownObjectType = 0x0036,      // object type not defined/known
136         kEplObdVarEntryNotExist = 0x0037,       // object does not contain VarEntry structure
137         kEplObdValueTooLow = 0x0038,    // value to write to an object is too low
138         kEplObdValueTooHigh = 0x0039,   // value to write to an object is too high
139         kEplObdValueLengthError = 0x003A,       // value to write is to long or to short
140 //    kEplObdIllegalFloat         = 0x003B,       // illegal float variable
141 //    kEplObdWrongOdBuilderKey    = 0x003F,       // OD was generated with demo version of tool ODBuilder
142
143         // area for NMT module 0x0040 - 0x004F
144         kEplNmtUnknownCommand = 0x0040, // unknown NMT command
145         kEplNmtInvalidFramePointer = 0x0041,    // pointer to the frame is not valid
146         kEplNmtInvalidEvent = 0x0042,   // invalid event send to NMT-modul
147         kEplNmtInvalidState = 0x0043,   // unknown state in NMT-State-Maschine
148         kEplNmtInvalidParam = 0x0044,   // invalid parameters specified
149
150         // area for SDO/UDP module 0x0050 - 0x005F
151         kEplSdoUdpMissCb = 0x0050,      // missing callback-function pointer during inti of
152         // module
153         kEplSdoUdpNoSocket = 0x0051,    // error during init of socket
154         kEplSdoUdpSocketError = 0x0052, // error during usage of socket
155         kEplSdoUdpThreadError = 0x0053, // error during start of listen thread
156         kEplSdoUdpNoFreeHandle = 0x0054,        // no free connection handle for Udp
157         kEplSdoUdpSendError = 0x0055,   // Error during send of frame
158         kEplSdoUdpInvalidHdl = 0x0056,  // the connection handle is invalid
159
160         // area for SDO Sequence layer module 0x0060 - 0x006F
161         kEplSdoSeqMissCb = 0x0060,      // no callback-function assign
162         kEplSdoSeqNoFreeHandle = 0x0061,        // no free handle for connection
163         kEplSdoSeqInvalidHdl = 0x0062,  // invalid handle in SDO sequence layer
164         kEplSdoSeqUnsupportedProt = 0x0063,     // unsupported Protocol selected
165         kEplSdoSeqNoFreeHistory = 0x0064,       // no free entry in history
166         kEplSdoSeqFrameSizeError = 0x0065,      // the size of the frames is not correct
167         kEplSdoSeqRequestAckNeeded = 0x0066,    // indeicates that the history buffer is full
168         // and a ack request is needed
169         kEplSdoSeqInvalidFrame = 0x0067,        // frame not valid
170         kEplSdoSeqConnectionBusy = 0x0068,      // connection is busy -> retry later
171         kEplSdoSeqInvalidEvent = 0x0069,        // invalid event received
172
173         // area for SDO Command Layer Module 0x0070 - 0x007F
174         kEplSdoComUnsupportedProt = 0x0070,     // unsupported Protocol selected
175         kEplSdoComNoFreeHandle = 0x0071,        // no free handle for connection
176         kEplSdoComInvalidServiceType = 0x0072,  // invalid SDO service type specified
177         kEplSdoComInvalidHandle = 0x0073,       // handle invalid
178         kEplSdoComInvalidSendType = 0x0074,     // the stated to of frame to send is
179         // not possible
180         kEplSdoComNotResponsible = 0x0075,      // internal error: command layer handle is
181         // not responsible for this event from sequence layer
182         kEplSdoComHandleExists = 0x0076,        // handle to same node already exists
183         kEplSdoComHandleBusy = 0x0077,  // transfer via this handle is already running
184         kEplSdoComInvalidParam = 0x0078,        // invalid parameters passed to function
185
186         // area for EPL Event-Modul 0x0080 - 0x008F
187         kEplEventUnknownSink = 0x0080,  // unknown sink for event
188         kEplEventPostError = 0x0081,    // error during post of event
189
190         // area for EPL Timer Modul 0x0090 - 0x009F
191         kEplTimerInvalidHandle = 0x0090,        // invalid handle for timer
192         kEplTimerNoTimerCreated = 0x0091,       // no timer was created caused by
193         // an error
194
195         // area for EPL SDO/Asnd Module 0x00A0 - 0x0AF
196         kEplSdoAsndInvalidNodeId = 0x00A0,      //0 node id is invalid
197         kEplSdoAsndNoFreeHandle = 0x00A1,       // no free handle for connection
198         kEplSdoAsndInvalidHandle = 0x00A2,      // handle for connection is invalid
199
200         // area for PDO module 0x00B0 - 0x00BF
201         kEplPdoNotExist = 0x00B0,       // selected PDO does not exist
202         kEplPdoLengthExceeded = 0x00B1, // length of PDO mapping exceedes 64 bis
203         kEplPdoGranularityMismatch = 0x00B2,    // configured PDO granularity is not equal to supported granularity
204         kEplPdoInitError = 0x00B3,      // error during initialisation of PDO module
205         kEplPdoErrorPdoEncode = 0x00B4, // error during encoding a PDO
206         kEplPdoErrorPdoDecode = 0x00B5, // error during decoding a PDO
207         kEplPdoErrorSend = 0x00B6,      // error during sending a PDO
208         kEplPdoErrorSyncWin = 0x00B7,   // the SYNC window runs out during sending SYNC-PDOs
209         kEplPdoErrorMapp = 0x00B8,      // invalid PDO mapping
210         kEplPdoVarNotFound = 0x00B9,    // variable was not found in function PdoSignalVar()
211         kEplPdoErrorEmcyPdoLen = 0x00BA,        // the length of a received PDO is unequal to the expected value
212         kEplPdoWriteConstObject = 0x00BB,       // constant object can not be written
213         // (only TxType, Inhibit-, Event Time for CANopen Kit)
214
215         // area for LSS slave module
216 /*    kEplLsssResetNode           = 0x0080,       // NMT command "reset node" has to be processed after LSS configuration
217                                                 // new of NodeId
218     kEplLsssInvalidNodeId       = 0x0081,       // no valid NodeId is configured -> wait until it is configured with
219                                                 // LSS service before calling CcmConnectToNet()
220 */
221         // area for emergency consumer module 0x0090 - 0x009F
222 /*    kEplEmccNoFreeProducerEntry = 0x0090,       // no free entry to add a Emergency Producer
223     kEplEmccNodeIdNotExist      = 0x0091,       // selected NodeId was never added
224     kEplEmccNodeIdInvalid       = 0x0092,       // selected NodeId is outside of range (0x01 until 0x7F)
225     kEplEmccNodeIdExist         = 0x0093,       // selected NodeId already exist
226 */
227         // area for dynamic OD 0x00A0 - 0x00AF
228 /*    kEplDynNoMemory             = 0x00A0,       // no memory available
229     kEplDynInvalidConfig        = 0x00A1,       // invalid configuration in segment container
230 */
231         // area for hertbeat consumer module 0x00B0 - 0x00BF
232 /*    kEplHbcEntryNotExist        = 0x00B0,       // Heartbeat Producer node not configured
233     kEplHbcEntryAlreadyExist    = 0x00B1,       // NodeId was already defined in heartbeat consumer table (object 0x1016)
234 */
235         // Configuration manager module 0x00C0 - 0x00CF
236         kEplCfgMaConfigError = 0x00C0,  // error in configuration manager
237         kEplCfgMaSdocTimeOutError = 0x00C1,     // error in configuration manager, Sdo timeout
238         kEplCfgMaInvalidDcf = 0x00C2,   // configration file not valid
239         kEplCfgMaUnsupportedDcf = 0x00C3,       // unsupported Dcf format
240         kEplCfgMaConfigWithErrors = 0x00C4,     // configuration finished with errors
241         kEplCfgMaNoFreeConfig = 0x00C5, // no free configuration entry
242         kEplCfgMaNoConfigData = 0x00C6, // no configuration data present
243         kEplCfgMaUnsuppDatatypeDcf = 0x00C7,    // unsupported datatype found in dcf
244         // -> this entry was not configured
245
246         // area for LSS master module 0x00D0 - 0x00DF
247 /*    kEplLssmIllegalMode         = 0x00D0,       // illegal LSS mode (operation / configuration)
248     kEplLssmIllegalState        = 0x00D1,       // function was called in illegal state of LSS master
249     kEplLssmBusy                = 0x00D2,       // LSS process is busy with an previous service
250     kEplLssmIllegalCmd          = 0x00D3,       // illegal command code was set for function LssmInquireIdentity()
251     kEplLssmTimeout             = 0x00D4,       // LSS slave did not answer a LSS service
252     kEplLssmErrorInConfirm      = 0x00D5,       // LSS slave replied an error code for a LSS service
253 */
254         // area for CCM modules 0x00E0 - 0xEF
255 /*    kEplCcmStoreUnvalidState    = 0x00E0,       // memory device not available due device state
256     kEplCcmStoreHwError         = 0x00E1,       // hw error due device access
257 */
258         // area for SRDO module 0x0100 - 0x011F
259 /*    kEplSrdoNotExist            = 0x0100,       // selected SRDO does not exist
260     kEplSrdoGranularityMismatch = 0x0101,       // configured SRDO granularity is not equal to supported granularity
261     kEplSrdoCfgTimingError      = 0x0102,       // configuration is not ok (Timing)
262     kEplSrdoCfgIdError          = 0x0103,       // configuration is not ok (CobIds)
263     kEplSrdoCfgCrcError         = 0x0104,       // configuration is not ok (CRC)
264     kEplSrdoNmtError            = 0x0105,       // an action was tried in a wrong NMT state
265     kEplSrdoInvalidCfg          = 0x0106,       // an action was tried with an invald SRDO configuration
266     kEplSrdoInvalid             = 0x0107,       // an action was tried with an invald SRDO
267     kEplSrdoRxTxConflict        = 0x0108,       // an transmission was tried with an receive SRDO (or the other way)
268     kEplSrdoIllegalCanId        = 0x0109,       // the CanId is invalid
269     kEplSrdoCanIdAlreadyInUse   = 0x010A,       // the CanId is already in use
270     kEplSrdoNotInOrder          = 0x010B,       // the two messages of a SRDO are not in order
271     kEplSrdoSctTimeout          = 0x010C,       // timeout of SCT
272     kEplSrdoSrvtTimeout         = 0x010D,       // timeout of SRVT
273     kEplSrdoCanIdNotValid       = 0x010E,       // one of received CAN-IDs are not equal to configured one
274     kEplSrdoDlcNotValid         = 0x010F,       // one of received CAN-DLC are not equal to configured one
275     kEplSrdoErrorMapp           = 0x0110,       // wrong values in mapping found
276     kEplSrdoDataError           = 0x0111,       // data of CAN messages are not invers
277     kEplSrdoLengthExceeded      = 0x0112,       // length of SRDO mapping exceedes 64 bit per CAN-message
278     kEplSrdoNotHandledInApp     = 0x0113,       // the SRDO error was not handled in AppSrdoError()
279     kEplSrdoOverrun             = 0x0114        // a RxSRDO was received but the pevious one was not else processed
280 */
281
282         kEplApiTaskDeferred = 0x0140,   // EPL performs task in background and informs the application (or vice-versa), when it is finished
283         kEplApiInvalidParam = 0x0142,   // passed invalid parameters to a function (e.g. invalid node id)
284
285         // area untill 0x07FF is reserved
286         // area for user application from 0x0800 to 0x7FFF
287
288 } tEplKernel;
289
290 #endif
291 //EOF
292
293 // Die letzte Zeile muß unbedingt eine leere Zeile sein, weil manche Compiler
294 // damit ein Problem haben, wenn das nicht so ist (z.B. GNU oder Borland C++ Builder).