• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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-Obd-Kernel-Modul
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: EplObdk.h,v $
53 
54                 $Author: D.Krueger $
55 
56                 $Revision: 1.8 $  $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/06/19 k.t.:   start of the implementation
68 
69 ****************************************************************************/
70 
71 #include "../EplObd.h"
72 
73 #ifndef _EPLOBDK_H_
74 #define _EPLOBDK_H_
75 
76 //---------------------------------------------------------------------------
77 // const defines
78 //---------------------------------------------------------------------------
79 
80 //---------------------------------------------------------------------------
81 // typedef
82 //---------------------------------------------------------------------------
83 
84 //---------------------------------------------------------------------------
85 // global variables
86 //---------------------------------------------------------------------------
87 
88 extern BYTE MEM abEplObdTrashObject_g[8];
89 
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);
97 
98 // ---------------------------------------------------------------------
99 EPLDLLEXPORT tEplKernel PUBLIC EplObdAddInstance(EPL_MCO_DECL_PTR_INSTANCE_PTR_
100 						 tEplObdInitParam MEM *
101 						 pInitParam_p);
102 
103 // ---------------------------------------------------------------------
104 EPLDLLEXPORT tEplKernel PUBLIC EplObdDeleteInstance(EPL_MCO_DECL_INSTANCE_PTR);
105 
106 // ---------------------------------------------------------------------
107 EPLDLLEXPORT tEplKernel PUBLIC EplObdWriteEntry(EPL_MCO_DECL_INSTANCE_PTR_
108 						unsigned int uiIndex_p,
109 						unsigned int uiSubIndex_p,
110 						void *pSrcData_p,
111 						tEplObdSize Size_p);
112 
113 // ---------------------------------------------------------------------
114 EPLDLLEXPORT tEplKernel PUBLIC EplObdReadEntry(EPL_MCO_DECL_INSTANCE_PTR_
115 					       unsigned int uiIndex_p,
116 					       unsigned int uiSubIndex_p,
117 					       void *pDstData_p,
118 					       tEplObdSize * pSize_p);
119 
120 // ---------------------------------------------------------------------
121 EPLDLLEXPORT tEplKernel PUBLIC
122 EplObdSetStoreLoadObjCallback(EPL_MCO_DECL_INSTANCE_PTR_
123 			      tEplObdStoreLoadObjCallback fpCallback_p);
124 
125 // ---------------------------------------------------------------------
126 EPLDLLEXPORT tEplKernel PUBLIC EplObdAccessOdPart(EPL_MCO_DECL_INSTANCE_PTR_
127 						  tEplObdPart ObdPart_p,
128 						  tEplObdDir Direction_p);
129 
130 // ---------------------------------------------------------------------
131 EPLDLLEXPORT tEplKernel PUBLIC EplObdDefineVar(EPL_MCO_DECL_INSTANCE_PTR_
132 					       tEplVarParam MEM * pVarParam_p);
133 
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);
141 
142 // ---------------------------------------------------------------------
143 EPLDLLEXPORT void PUBLIC EplObdInitVarEntry(EPL_MCO_DECL_INSTANCE_PTR_
144 					    tEplObdVarEntry MEM * pVarEntry_p,
145 					    tEplObdType Type_p,
146 					    tEplObdSize ObdSize_p);
147 
148 // ---------------------------------------------------------------------
149 EPLDLLEXPORT tEplObdSize PUBLIC EplObdGetDataSize(EPL_MCO_DECL_INSTANCE_PTR_
150 						  unsigned int uiIndex_p,
151 						  unsigned int uiSubIndex_p);
152 
153 // ---------------------------------------------------------------------
154 EPLDLLEXPORT unsigned int PUBLIC EplObdGetNodeId(EPL_MCO_DECL_INSTANCE_PTR);
155 
156 // ---------------------------------------------------------------------
157 EPLDLLEXPORT tEplKernel PUBLIC EplObdSetNodeId(EPL_MCO_DECL_INSTANCE_PTR_
158 					       unsigned int uiNodeId_p,
159 					       tEplObdNodeIdType NodeIdType_p);
160 
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,
170 						      void *pSrcData_p,
171 						      tEplObdSize Size_p);
172 
173 // ---------------------------------------------------------------------
174 EPLDLLEXPORT tEplKernel PUBLIC EplObdReadEntryToLe(EPL_MCO_DECL_INSTANCE_PTR_
175 						   unsigned int uiIndex_p,
176 						   unsigned int uiSubIndex_p,
177 						   void *pDstData_p,
178 						   tEplObdSize * pSize_p);
179 
180 // ---------------------------------------------------------------------
181 EPLDLLEXPORT tEplKernel PUBLIC EplObdGetAccessType(EPL_MCO_DECL_INSTANCE_PTR_
182 						   unsigned int uiIndex_p,
183 						   unsigned int uiSubIndex_p,
184 						   tEplObdAccess *
185 						   pAccessTyp_p);
186 
187 // ---------------------------------------------------------------------
188 EPLDLLEXPORT tEplKernel PUBLIC EplObdSearchVarEntry(EPL_MCO_DECL_INSTANCE_PTR_
189 						    unsigned int uiIndex_p,
190 						    unsigned int uiSubindex_p,
191 						    tEplObdVarEntry MEM **
192 						    ppVarEntry_p);
193 
194 #endif // end of #if(((EPL_MODULE_INTEGRATION) & (EPL_MODULE_OBDK)) != 0)
195 
196 #endif // #ifndef _EPLOBDK_H_
197