aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/epl/EplStatusu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/epl/EplStatusu.c')
-rw-r--r--drivers/staging/epl/EplStatusu.c377
1 files changed, 0 insertions, 377 deletions
diff --git a/drivers/staging/epl/EplStatusu.c b/drivers/staging/epl/EplStatusu.c
deleted file mode 100644
index b291399af108..000000000000
--- a/drivers/staging/epl/EplStatusu.c
+++ /dev/null
@@ -1,377 +0,0 @@
-/****************************************************************************
-
- (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
- www.systec-electronic.com
-
- Project: openPOWERLINK
-
- Description: source file for Statusu-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: EplStatusu.c,v $
-
- $Author: D.Krueger $
-
- $Revision: 1.5 $ $Date: 2008/10/17 15:32:32 $
-
- $State: Exp $
-
- Build Environment:
- GCC V3.4
-
- -------------------------------------------------------------------------
-
- Revision History:
-
- 2006/11/15 d.k.: start of the implementation
-
-****************************************************************************/
-
-#include "user/EplStatusu.h"
-#include "user/EplDlluCal.h"
-
-/***************************************************************************/
-/* */
-/* */
-/* G L O B A L D E F I N I T I O N S */
-/* */
-/* */
-/***************************************************************************/
-
-//---------------------------------------------------------------------------
-// const defines
-//---------------------------------------------------------------------------
-
-//---------------------------------------------------------------------------
-// local types
-//---------------------------------------------------------------------------
-
-//---------------------------------------------------------------------------
-// modul globale vars
-//---------------------------------------------------------------------------
-
-//---------------------------------------------------------------------------
-// local function prototypes
-//---------------------------------------------------------------------------
-
-/***************************************************************************/
-/* */
-/* */
-/* C L A S S <xxxxx> */
-/* */
-/* */
-/***************************************************************************/
-//
-// Description:
-//
-//
-/***************************************************************************/
-
-//=========================================================================//
-// //
-// P R I V A T E D E F I N I T I O N S //
-// //
-//=========================================================================//
-
-//---------------------------------------------------------------------------
-// const defines
-//---------------------------------------------------------------------------
-
-//---------------------------------------------------------------------------
-// local types
-//---------------------------------------------------------------------------
-
-typedef struct {
- tEplStatusuCbResponse m_apfnCbResponse[254];
-
-} tEplStatusuInstance;
-
-//---------------------------------------------------------------------------
-// local vars
-//---------------------------------------------------------------------------
-
-static tEplStatusuInstance EplStatusuInstance_g;
-
-//---------------------------------------------------------------------------
-// local function prototypes
-//---------------------------------------------------------------------------
-
-static tEplKernel EplStatusuCbStatusResponse(tEplFrameInfo *pFrameInfo_p);
-
-//=========================================================================//
-// //
-// P U B L I C F U N C T I O N S //
-// //
-//=========================================================================//
-
-//---------------------------------------------------------------------------
-//
-// Function: EplStatusuInit
-//
-// Description: init first instance of the module
-//
-//
-//
-// Parameters:
-//
-//
-// Returns: tEplKernel = errorcode
-//
-//
-// State:
-//
-//---------------------------------------------------------------------------
-
-tEplKernel EplStatusuInit(void)
-{
- tEplKernel Ret;
-
- Ret = EplStatusuAddInstance();
-
- return Ret;
-}
-
-//---------------------------------------------------------------------------
-//
-// Function: EplStatusuAddInstance
-//
-// Description: init other instances of the module
-//
-//
-//
-// Parameters:
-//
-//
-// Returns: tEplKernel = errorcode
-//
-//
-// State:
-//
-//---------------------------------------------------------------------------
-
-tEplKernel EplStatusuAddInstance(void)
-{
- tEplKernel Ret;
-
- Ret = kEplSuccessful;
-
- // reset instance structure
- EPL_MEMSET(&EplStatusuInstance_g, 0, sizeof(EplStatusuInstance_g));
-
- // register StatusResponse callback function
- Ret =
- EplDlluCalRegAsndService(kEplDllAsndStatusResponse,
- EplStatusuCbStatusResponse,
- kEplDllAsndFilterAny);
-
- return Ret;
-
-}
-
-//---------------------------------------------------------------------------
-//
-// Function: EplStatusuDelInstance
-//
-// Description: delete instance
-//
-//
-//
-// Parameters:
-//
-//
-// Returns: tEplKernel = errorcode
-//
-//
-// State:
-//
-//---------------------------------------------------------------------------
-
-tEplKernel EplStatusuDelInstance(void)
-{
- tEplKernel Ret;
-
- Ret = kEplSuccessful;
-
- // deregister StatusResponse callback function
- Ret =
- EplDlluCalRegAsndService(kEplDllAsndStatusResponse, NULL,
- kEplDllAsndFilterNone);
-
- return Ret;
-
-}
-
-//---------------------------------------------------------------------------
-//
-// Function: EplStatusuReset
-//
-// Description: resets this instance
-//
-// Parameters:
-//
-// Returns: tEplKernel = errorcode
-//
-//
-// State:
-//
-//---------------------------------------------------------------------------
-
-tEplKernel EplStatusuReset(void)
-{
- tEplKernel Ret;
-
- Ret = kEplSuccessful;
-
- // reset instance structure
- EPL_MEMSET(&EplStatusuInstance_g, 0, sizeof(EplStatusuInstance_g));
-
- return Ret;
-
-}
-
-//---------------------------------------------------------------------------
-//
-// Function: EplStatusuRequestStatusResponse
-//
-// Description: returns the StatusResponse for the specified node.
-//
-// Parameters: uiNodeId_p = IN: node ID
-// pfnCbResponse_p = IN: function pointer to callback function
-// which will be called if StatusResponse is received
-//
-// Return: tEplKernel = error code
-//
-// State: not tested
-//
-//---------------------------------------------------------------------------
-
-tEplKernel EplStatusuRequestStatusResponse(unsigned int uiNodeId_p,
- tEplStatusuCbResponse pfnCbResponse_p)
-{
- tEplKernel Ret;
-
- Ret = kEplSuccessful;
-
- // decrement node ID, because array is zero based
- uiNodeId_p--;
- if (uiNodeId_p < tabentries(EplStatusuInstance_g.m_apfnCbResponse)) {
-#if(((EPL_MODULE_INTEGRATION) & (EPL_MODULE_NMT_MN)) != 0)
- if (EplStatusuInstance_g.m_apfnCbResponse[uiNodeId_p] != NULL) { // request already issued (maybe by someone else)
- Ret = kEplInvalidOperation;
- } else {
- EplStatusuInstance_g.m_apfnCbResponse[uiNodeId_p] =
- pfnCbResponse_p;
- Ret =
- EplDlluCalIssueRequest(kEplDllReqServiceStatus,
- (uiNodeId_p + 1), 0xFF);
- }
-#else
- Ret = kEplInvalidOperation;
-#endif
- } else { // invalid node ID specified
- Ret = kEplInvalidNodeId;
- }
-
- return Ret;
-
-}
-
-//=========================================================================//
-// //
-// P R I V A T E F U N C T I O N S //
-// //
-//=========================================================================//
-
-//---------------------------------------------------------------------------
-//
-// Function: EplStatusuCbStatusResponse
-//
-// Description: callback funktion for StatusResponse
-//
-//
-//
-// Parameters: pFrameInfo_p = Frame with the StatusResponse
-//
-//
-// Returns: tEplKernel = error code
-//
-//
-// State:
-//
-//---------------------------------------------------------------------------
-static tEplKernel EplStatusuCbStatusResponse(tEplFrameInfo *pFrameInfo_p)
-{
- tEplKernel Ret = kEplSuccessful;
- unsigned int uiNodeId;
- unsigned int uiIndex;
- tEplStatusuCbResponse pfnCbResponse;
-
- uiNodeId = AmiGetByteFromLe(&pFrameInfo_p->m_pFrame->m_le_bSrcNodeId);
-
- uiIndex = uiNodeId - 1;
-
- if (uiIndex < tabentries(EplStatusuInstance_g.m_apfnCbResponse)) {
- // memorize pointer to callback function
- pfnCbResponse = EplStatusuInstance_g.m_apfnCbResponse[uiIndex];
- if (pfnCbResponse == NULL) { // response was not requested
- goto Exit;
- }
- // reset callback function pointer so that caller may issue next request
- EplStatusuInstance_g.m_apfnCbResponse[uiIndex] = NULL;
-
- if (pFrameInfo_p->m_uiFrameSize < EPL_C_DLL_MINSIZE_STATUSRES) { // StatusResponse not received or it has invalid size
- Ret = pfnCbResponse(uiNodeId, NULL);
- } else { // StatusResponse received
- Ret =
- pfnCbResponse(uiNodeId,
- &pFrameInfo_p->m_pFrame->m_Data.
- m_Asnd.m_Payload.m_StatusResponse);
- }
- }
-
- Exit:
- return Ret;
-}
-
-// EOF