38 /* #define DEBUG_ERR_CONSOLE_ON */ |
38 /* #define DEBUG_ERR_CONSOLE_ON */ |
39 |
39 |
40 |
40 |
41 #include "data.h" |
41 #include "data.h" |
42 |
42 |
43 |
|
44 /*! |
|
45 ** |
|
46 ** |
|
47 ** @param index |
|
48 ** @param subIndex |
|
49 ** @param sizeDataDict |
|
50 ** @param sizeDataGiven |
|
51 ** @param code |
|
52 ** |
|
53 ** @return |
|
54 **/ |
|
55 #ifdef DEBUG_WAR_CONSOLE_ON |
43 #ifdef DEBUG_WAR_CONSOLE_ON |
56 UNS8 accessDictionaryError(UNS16 index, UNS8 subIndex, |
44 UNS8 accessDictionaryError(UNS16 index, UNS8 subIndex, |
57 UNS32 sizeDataDict, UNS32 sizeDataGiven, UNS32 code) |
45 UNS32 sizeDataDict, UNS32 sizeDataGiven, UNS32 code) |
58 { |
46 { |
59 MSG_WAR(0x2B09,"Dictionary index : ", index); |
47 MSG_WAR(0x2B09,"Dictionary index : ", index); |
88 } |
76 } |
89 #else |
77 #else |
90 #define accessDictionaryError(index, subIndex, sizeDataDict, sizeDataGiven, code) |
78 #define accessDictionaryError(index, subIndex, sizeDataDict, sizeDataGiven, code) |
91 #endif |
79 #endif |
92 |
80 |
93 /*! |
|
94 ** |
|
95 ** |
|
96 ** @param d |
|
97 ** @param wIndex |
|
98 ** @param bSubindex |
|
99 ** @param pDestData |
|
100 ** @param pExpectedSize |
|
101 ** @param pDataType |
|
102 ** @param checkAccess |
|
103 ** @param endianize |
|
104 ** |
|
105 ** @return |
|
106 **/ |
|
107 UNS32 _getODentry( CO_Data* d, |
81 UNS32 _getODentry( CO_Data* d, |
108 UNS16 wIndex, |
82 UNS16 wIndex, |
109 UNS8 bSubindex, |
83 UNS8 bSubindex, |
110 void * pDestData, |
84 void * pDestData, |
111 UNS32 * pExpectedSize, |
85 UNS32 * pExpectedSize, |
192 *pExpectedSize, OD_LENGTH_DATA_INVALID); |
166 *pExpectedSize, OD_LENGTH_DATA_INVALID); |
193 return OD_LENGTH_DATA_INVALID; |
167 return OD_LENGTH_DATA_INVALID; |
194 } |
168 } |
195 } |
169 } |
196 |
170 |
197 /*! |
171 UNS32 getODentry( CO_Data* OD, |
198 ** |
172 UNS16 wIndex, |
199 ** |
173 UNS8 bSubindex, |
200 ** @param d |
174 void * pDestData, |
201 ** @param wIndex |
175 UNS32 * pExpectedSize, |
202 ** @param bSubindex |
176 UNS8 * pDataType, |
203 ** @param pSourceData |
177 UNS8 checkAccess) |
204 ** @param pExpectedSize |
178 { |
205 ** @param checkAccess |
179 return _getODentry( OD, wIndex, bSubindex, pDestData, pExpectedSize, |
206 ** @param endianize |
180 pDataType, checkAccess, 1); |
207 ** |
181 } |
208 ** @return |
182 |
209 **/ |
183 UNS32 readLocalDict( CO_Data* OD, |
|
184 UNS16 wIndex, |
|
185 UNS8 bSubindex, |
|
186 void * pDestData, |
|
187 UNS32 * pExpectedSize, |
|
188 UNS8 * pDataType, |
|
189 UNS8 checkAccess) |
|
190 { |
|
191 return _getODentry( OD, wIndex, bSubindex, pDestData, pExpectedSize, |
|
192 pDataType, checkAccess, 0); |
|
193 } |
|
194 |
210 UNS32 _setODentry( CO_Data* d, |
195 UNS32 _setODentry( CO_Data* d, |
211 UNS16 wIndex, |
196 UNS16 wIndex, |
212 UNS8 bSubindex, |
197 UNS8 bSubindex, |
213 void * pSourceData, |
198 void * pSourceData, |
214 UNS32 * pExpectedSize, |
199 UNS32 * pExpectedSize, |
298 accessDictionaryError(wIndex, bSubindex, szData, *pExpectedSize, OD_LENGTH_DATA_INVALID); |
283 accessDictionaryError(wIndex, bSubindex, szData, *pExpectedSize, OD_LENGTH_DATA_INVALID); |
299 return OD_LENGTH_DATA_INVALID; |
284 return OD_LENGTH_DATA_INVALID; |
300 } |
285 } |
301 } |
286 } |
302 |
287 |
303 /*! |
288 UNS32 setODentry( CO_Data* d, |
304 ** |
289 UNS16 wIndex, |
305 ** |
290 UNS8 bSubindex, |
306 ** @param d |
291 void * pSourceData, |
307 ** @param wIndex |
292 UNS32 * pExpectedSize, |
308 ** @param errorCode |
293 UNS8 checkAccess) |
309 ** @param Callback |
294 { |
310 ** |
295 return _setODentry( d, wIndex, bSubindex, pSourceData, pExpectedSize, |
311 ** @return |
296 checkAccess, 1); |
312 **/ |
297 } |
|
298 |
|
299 UNS32 writeLocalDict( CO_Data* d, |
|
300 UNS16 wIndex, |
|
301 UNS8 bSubindex, |
|
302 void * pSourceData, |
|
303 UNS32 * pExpectedSize, |
|
304 UNS8 checkAccess) |
|
305 { |
|
306 return _setODentry( d, wIndex, bSubindex, pSourceData, pExpectedSize, checkAccess, 0); |
|
307 } |
|
308 |
313 const indextable * scanIndexOD (CO_Data* d, UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback) |
309 const indextable * scanIndexOD (CO_Data* d, UNS16 wIndex, UNS32 *errorCode, ODCallback_t **Callback) |
314 { |
310 { |
315 return (*d->scanIndexOD)(wIndex, errorCode, Callback); |
311 return (*d->scanIndexOD)(wIndex, errorCode, Callback); |
316 } |
312 } |
317 |
313 |
318 /*! |
|
319 ** |
|
320 ** |
|
321 ** @param d |
|
322 ** @param wIndex |
|
323 ** @param bSubindex |
|
324 ** @param Callback |
|
325 ** |
|
326 ** @return |
|
327 **/ |
|
328 UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback) |
314 UNS32 RegisterSetODentryCallBack(CO_Data* d, UNS16 wIndex, UNS8 bSubindex, ODCallback_t Callback) |
329 { |
315 { |
330 UNS32 errorCode; |
316 UNS32 errorCode; |
331 ODCallback_t *CallbackList; |
317 ODCallback_t *CallbackList; |
332 const indextable *odentry; |
318 const indextable *odentry; |