summaryrefslogtreecommitdiff
path: root/drivers/staging/epl/EplEvent.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/epl/EplEvent.h')
-rw-r--r--drivers/staging/epl/EplEvent.h279
1 files changed, 0 insertions, 279 deletions
diff --git a/drivers/staging/epl/EplEvent.h b/drivers/staging/epl/EplEvent.h
deleted file mode 100644
index 910bd69a18c2..000000000000
--- a/drivers/staging/epl/EplEvent.h
+++ /dev/null
@@ -1,279 +0,0 @@
-/****************************************************************************
-
- (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
- www.systec-electronic.com
-
- Project: openPOWERLINK
-
- Description: include file for event module
-
- License:
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of SYSTEC electronic GmbH nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without prior written permission. For written
- permission, please contact info@systec-electronic.com.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
- Severability Clause:
-
- If a provision of this License is or becomes illegal, invalid or
- unenforceable in any jurisdiction, that shall not affect:
- 1. the validity or enforceability in that jurisdiction of any other
- provision of this License; or
- 2. the validity or enforceability in other jurisdictions of that or
- any other provision of this License.
-
- -------------------------------------------------------------------------
-
- $RCSfile: EplEvent.h,v $
-
- $Author: D.Krueger $
-
- $Revision: 1.8 $ $Date: 2008/11/17 16:40:39 $
-
- $State: Exp $
-
- Build Environment:
- GCC V3.4
-
- -------------------------------------------------------------------------
-
- Revision History:
-
- 2006/06/12 d.k.: start of the implementation, version 1.00
-
-****************************************************************************/
-
-#ifndef _EPL_EVENT_H_
-#define _EPL_EVENT_H_
-
-#include "EplInc.h"
-#include "EplNmt.h"
-
-//---------------------------------------------------------------------------
-// const defines
-//---------------------------------------------------------------------------
-
-// name and size of event queues
-#define EPL_EVENT_NAME_SHB_KERNEL_TO_USER "ShbKernelToUser"
-#ifndef EPL_EVENT_SIZE_SHB_KERNEL_TO_USER
-#define EPL_EVENT_SIZE_SHB_KERNEL_TO_USER 32768 // 32 kByte
-#endif
-
-#define EPL_EVENT_NAME_SHB_USER_TO_KERNEL "ShbUserToKernel"
-#ifndef EPL_EVENT_SIZE_SHB_USER_TO_KERNEL
-#define EPL_EVENT_SIZE_SHB_USER_TO_KERNEL 32768 // 32 kByte
-#endif
-
-// max size of event argument
-#ifndef EPL_MAX_EVENT_ARG_SIZE
-#define EPL_MAX_EVENT_ARG_SIZE 256 // because of PDO
-#endif
-
-#define EPL_DLL_ERR_MN_CRC 0x00000001L // object 0x1C00
-#define EPL_DLL_ERR_MN_COLLISION 0x00000002L // object 0x1C01
-#define EPL_DLL_ERR_MN_CYCTIMEEXCEED 0x00000004L // object 0x1C02
-#define EPL_DLL_ERR_MN_LOSS_LINK 0x00000008L // object 0x1C03
-#define EPL_DLL_ERR_MN_CN_LATE_PRES 0x00000010L // objects 0x1C04-0x1C06
-#define EPL_DLL_ERR_MN_CN_LOSS_PRES 0x00000080L // objects 0x1C07-0x1C09
-#define EPL_DLL_ERR_CN_COLLISION 0x00000400L // object 0x1C0A
-#define EPL_DLL_ERR_CN_LOSS_SOC 0x00000800L // object 0x1C0B
-#define EPL_DLL_ERR_CN_LOSS_SOA 0x00001000L // object 0x1C0C
-#define EPL_DLL_ERR_CN_LOSS_PREQ 0x00002000L // object 0x1C0D
-#define EPL_DLL_ERR_CN_RECVD_PREQ 0x00004000L // decrement object 0x1C0D/2
-#define EPL_DLL_ERR_CN_SOC_JITTER 0x00008000L // object 0x1C0E
-#define EPL_DLL_ERR_CN_CRC 0x00010000L // object 0x1C0F
-#define EPL_DLL_ERR_CN_LOSS_LINK 0x00020000L // object 0x1C10
-#define EPL_DLL_ERR_MN_LOSS_STATRES 0x00040000L // objects 0x1C15-0x1C17 (should be operated by NmtMnu module)
-#define EPL_DLL_ERR_BAD_PHYS_MODE 0x00080000L // no object
-#define EPL_DLL_ERR_MAC_BUFFER 0x00100000L // no object (NMT_GT6)
-#define EPL_DLL_ERR_INVALID_FORMAT 0x00200000L // no object (NMT_GT6)
-#define EPL_DLL_ERR_ADDRESS_CONFLICT 0x00400000L // no object (remove CN from configuration)
-
-//---------------------------------------------------------------------------
-// typedef
-//---------------------------------------------------------------------------
-
-// EventType determines the argument of the event
-typedef enum {
- kEplEventTypeNmtEvent = 0x01, // NMT event
- // arg is pointer to tEplNmtEvent
- kEplEventTypePdoRx = 0x02, // PDO frame received event (PRes/PReq)
- // arg is pointer to tEplFrame
- kEplEventTypePdoTx = 0x03, // PDO frame transmitted event (PRes/PReq)
- // arg is pointer to tEplFrameInfo
- kEplEventTypePdoSoa = 0x04, // SoA frame received event (isochronous phase completed)
- // arg is pointer to nothing
- kEplEventTypeSync = 0x05, // Sync event (e.g. SoC or anticipated SoC)
- // arg is pointer to nothing
- kEplEventTypeTimer = 0x06, // Timer event
- // arg is pointer to tEplTimerEventArg
- kEplEventTypeHeartbeat = 0x07, // Heartbeat event
- // arg is pointer to tEplHeartbeatEvent
- kEplEventTypeDllkCreate = 0x08, // DLL kernel create event
- // arg is pointer to the new tEplNmtState
- kEplEventTypeDllkDestroy = 0x09, // DLL kernel destroy event
- // arg is pointer to the old tEplNmtState
- kEplEventTypeDllkFillTx = 0x0A, // DLL kernel fill TxBuffer event
- // arg is pointer to tEplDllAsyncReqPriority
- kEplEventTypeDllkPresReady = 0x0B, // DLL kernel PRes ready event
- // arg is pointer to nothing
- kEplEventTypeError = 0x0C, // Error event for API layer
- // arg is pointer to tEplEventError
- kEplEventTypeNmtStateChange = 0x0D, // indicate change of NMT-State
- // arg is pointer to tEplEventNmtStateChange
- kEplEventTypeDllError = 0x0E, // DLL error event for Error handler
- // arg is pointer to tEplErrorHandlerkEvent
- kEplEventTypeAsndRx = 0x0F, // received ASnd frame for DLL user module
- // arg is pointer to tEplFrame
- kEplEventTypeDllkServFilter = 0x10, // configure ServiceIdFilter
- // arg is pointer to tEplDllCalServiceIdFilter
- kEplEventTypeDllkIdentity = 0x11, // configure Identity
- // arg is pointer to tEplDllIdentParam
- kEplEventTypeDllkConfig = 0x12, // configure ConfigParam
- // arg is pointer to tEplDllConfigParam
- kEplEventTypeDllkIssueReq = 0x13, // issue Ident/Status request
- // arg is pointer to tEplDllCalIssueRequest
- kEplEventTypeDllkAddNode = 0x14, // add node to isochronous phase
- // arg is pointer to tEplDllNodeInfo
- kEplEventTypeDllkDelNode = 0x15, // remove node from isochronous phase
- // arg is pointer to unsigned int
- kEplEventTypeDllkSoftDelNode = 0x16, // remove node softly from isochronous phase
- // arg is pointer to unsigned int
- kEplEventTypeDllkStartReducedCycle = 0x17, // start reduced EPL cycle on MN
- // arg is pointer to nothing
- kEplEventTypeNmtMnuNmtCmdSent = 0x18, // NMT command was actually sent
- // arg is pointer to tEplFrame
-
-} tEplEventType;
-
-// EventSink determines the consumer of the event
-typedef enum {
- kEplEventSinkSync = 0x00, // Sync event for application or kernel EPL module
- kEplEventSinkNmtk = 0x01, // events for Nmtk module
- kEplEventSinkDllk = 0x02, // events for Dllk module
- kEplEventSinkDlluCal = 0x03, // events for DlluCal module
- kEplEventSinkDllkCal = 0x04, // events for DllkCal module
- kEplEventSinkPdok = 0x05, // events for Pdok module
- kEplEventSinkNmtu = 0x06, // events for Nmtu module
- kEplEventSinkErrk = 0x07, // events for Error handler module
- kEplEventSinkErru = 0x08, // events for Error signaling module
- kEplEventSinkSdoAsySeq = 0x09, // events for asyncronous SDO Sequence Layer module
- kEplEventSinkNmtMnu = 0x0A, // events for NmtMnu module
- kEplEventSinkLedu = 0x0B, // events for Ledu module
- kEplEventSinkApi = 0x0F, // events for API module
-
-} tEplEventSink;
-
-// EventSource determines the source of an errorevent
-typedef enum {
- // kernelspace modules
- kEplEventSourceDllk = 0x01, // Dllk module
- kEplEventSourceNmtk = 0x02, // Nmtk module
- kEplEventSourceObdk = 0x03, // Obdk module
- kEplEventSourcePdok = 0x04, // Pdok module
- kEplEventSourceTimerk = 0x05, // Timerk module
- kEplEventSourceEventk = 0x06, // Eventk module
- kEplEventSourceSyncCb = 0x07, // sync-Cb
- kEplEventSourceErrk = 0x08, // Error handler module
-
- // userspace modules
- kEplEventSourceDllu = 0x10, // Dllu module
- kEplEventSourceNmtu = 0x11, // Nmtu module
- kEplEventSourceNmtCnu = 0x12, // NmtCnu module
- kEplEventSourceNmtMnu = 0x13, // NmtMnu module
- kEplEventSourceObdu = 0x14, // Obdu module
- kEplEventSourceSdoUdp = 0x15, // Sdo/Udp module
- kEplEventSourceSdoAsnd = 0x16, // Sdo/Asnd module
- kEplEventSourceSdoAsySeq = 0x17, // Sdo asynchronus Sequence Layer module
- kEplEventSourceSdoCom = 0x18, // Sdo command layer module
- kEplEventSourceTimeru = 0x19, // Timeru module
- kEplEventSourceCfgMau = 0x1A, // CfgMau module
- kEplEventSourceEventu = 0x1B, // Eventu module
- kEplEventSourceEplApi = 0x1C, // Api module
- kEplEventSourceLedu = 0x1D, // Ledu module
-
-} tEplEventSource;
-
-// structure of EPL event (element order must not be changed!)
-typedef struct {
- tEplEventType m_EventType /*:28 */ ; // event type
- tEplEventSink m_EventSink /*:4 */ ; // event sink
- tEplNetTime m_NetTime; // timestamp
- unsigned int m_uiSize; // size of argument
- void *m_pArg; // argument of event
-
-} tEplEvent;
-
-// short structure of EPL event without argument and its size (element order must not be changed!)
-typedef struct {
- tEplEventType m_EventType /*:28 */ ; // event type
- tEplEventSink m_EventSink /*:4 */ ; // event sink
- tEplNetTime m_NetTime; // timestamp
-
-} tEplEventShort;
-
-typedef struct {
- unsigned int m_uiIndex;
- unsigned int m_uiSubIndex;
-
-} tEplEventObdError;
-
-// structure for kEplEventTypeError
-typedef struct {
- tEplEventSource m_EventSource; // module which posted this error event
- tEplKernel m_EplError; // EPL error which occured
- union {
- u8 m_bArg;
- u32 m_dwArg;
- tEplEventSource m_EventSource; // from Eventk/u module (originating error source)
- tEplEventObdError m_ObdError; // from Obd module
-// tEplErrHistoryEntry m_HistoryEntry; // from Nmtk/u module
-
- } m_Arg;
-
-} tEplEventError;
-
-// structure for kEplEventTypeDllError
-typedef struct {
- unsigned long m_ulDllErrorEvents; // EPL_DLL_ERR_*
- unsigned int m_uiNodeId;
- tEplNmtState m_NmtState;
-
-} tEplErrorHandlerkEvent;
-
-// callback function to get informed about sync event
-typedef tEplKernel(*tEplSyncCb) (void);
-
-// callback function for generic events
-typedef tEplKernel(*tEplProcessEventCb) (tEplEvent *pEplEvent_p);
-
-//---------------------------------------------------------------------------
-// function prototypes
-//---------------------------------------------------------------------------
-
-#endif // #ifndef _EPL_EVENT_H_