1 /****************************************************************************
 
   3   (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
 
   4       www.systec-electronic.com
 
   8   Description:  include file for Epl-Obd-Kernel-Modul
 
  12     Redistribution and use in source and binary forms, with or without
 
  13     modification, are permitted provided that the following conditions
 
  16     1. Redistributions of source code must retain the above copyright
 
  17        notice, this list of conditions and the following disclaimer.
 
  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.
 
  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.
 
  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.
 
  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.
 
  50   -------------------------------------------------------------------------
 
  52                 $RCSfile: EplObdk.h,v $
 
  56                 $Revision: 1.8 $  $Date: 2008/10/17 15:32:32 $
 
  63   -------------------------------------------------------------------------
 
  67   2006/06/19 k.t.:   start of the implementation
 
  69 ****************************************************************************/
 
  71 #include "../EplObd.h"
 
  76 //---------------------------------------------------------------------------
 
  78 //---------------------------------------------------------------------------
 
  80 //---------------------------------------------------------------------------
 
  82 //---------------------------------------------------------------------------
 
  84 //---------------------------------------------------------------------------
 
  86 //---------------------------------------------------------------------------
 
  88 extern BYTE MEM abEplObdTrashObject_g[8];
 
  90 //---------------------------------------------------------------------------
 
  91 // function prototypes
 
  92 //---------------------------------------------------------------------------
 
  93 #if(((EPL_MODULE_INTEGRATION) & (EPL_MODULE_OBDK)) != 0)
 
  94 // ---------------------------------------------------------------------
 
  95 EPLDLLEXPORT tEplKernel PUBLIC EplObdInit(EPL_MCO_DECL_PTR_INSTANCE_PTR_
 
  96                                           tEplObdInitParam MEM * pInitParam_p);
 
  98 // ---------------------------------------------------------------------
 
  99 EPLDLLEXPORT tEplKernel PUBLIC EplObdAddInstance(EPL_MCO_DECL_PTR_INSTANCE_PTR_
 
 100                                                  tEplObdInitParam MEM *
 
 103 // ---------------------------------------------------------------------
 
 104 EPLDLLEXPORT tEplKernel PUBLIC EplObdDeleteInstance(EPL_MCO_DECL_INSTANCE_PTR);
 
 106 // ---------------------------------------------------------------------
 
 107 EPLDLLEXPORT tEplKernel PUBLIC EplObdWriteEntry(EPL_MCO_DECL_INSTANCE_PTR_
 
 108                                                 unsigned int uiIndex_p,
 
 109                                                 unsigned int uiSubIndex_p,
 
 113 // ---------------------------------------------------------------------
 
 114 EPLDLLEXPORT tEplKernel PUBLIC EplObdReadEntry(EPL_MCO_DECL_INSTANCE_PTR_
 
 115                                                unsigned int uiIndex_p,
 
 116                                                unsigned int uiSubIndex_p,
 
 118                                                tEplObdSize * pSize_p);
 
 120 // ---------------------------------------------------------------------
 
 121 EPLDLLEXPORT tEplKernel PUBLIC
 
 122 EplObdSetStoreLoadObjCallback(EPL_MCO_DECL_INSTANCE_PTR_
 
 123                               tEplObdStoreLoadObjCallback fpCallback_p);
 
 125 // ---------------------------------------------------------------------
 
 126 EPLDLLEXPORT tEplKernel PUBLIC EplObdAccessOdPart(EPL_MCO_DECL_INSTANCE_PTR_
 
 127                                                   tEplObdPart ObdPart_p,
 
 128                                                   tEplObdDir Direction_p);
 
 130 // ---------------------------------------------------------------------
 
 131 EPLDLLEXPORT tEplKernel PUBLIC EplObdDefineVar(EPL_MCO_DECL_INSTANCE_PTR_
 
 132                                                tEplVarParam MEM * pVarParam_p);
 
 134 // ---------------------------------------------------------------------
 
 135 EPLDLLEXPORT void *PUBLIC EplObdGetObjectDataPtr(EPL_MCO_DECL_INSTANCE_PTR_
 
 136                                                  unsigned int uiIndex_p,
 
 137                                                  unsigned int uiSubIndex_p);
 
 138 // ---------------------------------------------------------------------
 
 139 EPLDLLEXPORT tEplKernel PUBLIC EplObdRegisterUserOd(EPL_MCO_DECL_INSTANCE_PTR_
 
 140                                                     tEplObdEntryPtr pUserOd_p);
 
 142 // ---------------------------------------------------------------------
 
 143 EPLDLLEXPORT void PUBLIC EplObdInitVarEntry(EPL_MCO_DECL_INSTANCE_PTR_
 
 144                                             tEplObdVarEntry MEM * pVarEntry_p,
 
 146                                             tEplObdSize ObdSize_p);
 
 148 // ---------------------------------------------------------------------
 
 149 EPLDLLEXPORT tEplObdSize PUBLIC EplObdGetDataSize(EPL_MCO_DECL_INSTANCE_PTR_
 
 150                                                   unsigned int uiIndex_p,
 
 151                                                   unsigned int uiSubIndex_p);
 
 153 // ---------------------------------------------------------------------
 
 154 EPLDLLEXPORT unsigned int PUBLIC EplObdGetNodeId(EPL_MCO_DECL_INSTANCE_PTR);
 
 156 // ---------------------------------------------------------------------
 
 157 EPLDLLEXPORT tEplKernel PUBLIC EplObdSetNodeId(EPL_MCO_DECL_INSTANCE_PTR_
 
 158                                                unsigned int uiNodeId_p,
 
 159                                                tEplObdNodeIdType NodeIdType_p);
 
 161 // ---------------------------------------------------------------------
 
 162 EPLDLLEXPORT tEplKernel PUBLIC EplObdIsNumerical(EPL_MCO_DECL_INSTANCE_PTR_
 
 163                                                  unsigned int uiIndex_p,
 
 164                                                  unsigned int uiSubIndex_p,
 
 165                                                  BOOL * pfEntryNumerical);
 
 166 // ---------------------------------------------------------------------
 
 167 EPLDLLEXPORT tEplKernel PUBLIC EplObdWriteEntryFromLe(EPL_MCO_DECL_INSTANCE_PTR_
 
 168                                                       unsigned int uiIndex_p,
 
 169                                                       unsigned int uiSubIndex_p,
 
 173 // ---------------------------------------------------------------------
 
 174 EPLDLLEXPORT tEplKernel PUBLIC EplObdReadEntryToLe(EPL_MCO_DECL_INSTANCE_PTR_
 
 175                                                    unsigned int uiIndex_p,
 
 176                                                    unsigned int uiSubIndex_p,
 
 178                                                    tEplObdSize * pSize_p);
 
 180 // ---------------------------------------------------------------------
 
 181 EPLDLLEXPORT tEplKernel PUBLIC EplObdGetAccessType(EPL_MCO_DECL_INSTANCE_PTR_
 
 182                                                    unsigned int uiIndex_p,
 
 183                                                    unsigned int uiSubIndex_p,
 
 187 // ---------------------------------------------------------------------
 
 188 EPLDLLEXPORT tEplKernel PUBLIC EplObdSearchVarEntry(EPL_MCO_DECL_INSTANCE_PTR_
 
 189                                                     unsigned int uiIndex_p,
 
 190                                                     unsigned int uiSubindex_p,
 
 191                                                     tEplObdVarEntry MEM **
 
 194 #endif // end of #if(((EPL_MODULE_INTEGRATION) & (EPL_MODULE_OBDK)) != 0)
 
 196 #endif // #ifndef _EPLOBDK_H_