src/objacces.c
changeset 588 ee181b4f177b
parent 539 187058b4a4b8
child 594 17a171fe7c56
equal deleted inserted replaced
587:c175351a6994 588:ee181b4f177b
    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;
   335   if(errorCode == OD_SUCCESSFUL  &&  CallbackList  &&  bSubindex < odentry->bSubCount) 
   321   if(errorCode == OD_SUCCESSFUL  &&  CallbackList  &&  bSubindex < odentry->bSubCount) 
   336     CallbackList[bSubindex] = Callback;
   322     CallbackList[bSubindex] = Callback;
   337   return errorCode;
   323   return errorCode;
   338 }
   324 }
   339 
   325 
   340 /*!
       
   341 **
       
   342 **
       
   343 ** @param wIndex
       
   344 ** @param bSubindex
       
   345 **/
       
   346 void _storeODSubIndex (CO_Data* d, UNS16 wIndex, UNS8 bSubindex){}
   326 void _storeODSubIndex (CO_Data* d, UNS16 wIndex, UNS8 bSubindex){}