42 typedef struct s_ModuleData
148 P_ModuleData pModuleData, U32BIT dataLength,
P_ObjectKey pObjectKey,
154 BOOLEAN valid = FALSE;
155 U32BIT objectLength = 0;
157 U32BIT currObjectLength;
158 BOOLEAN objKeysMatch;
162 dsmDP3((
"moduleDataFindObject()\n"));
163 dsmAssert((pModuleData != NULL));
165 dsmAssert((pObjectKey != NULL));
166 dsmAssert(((pObjectKey->length > 0) && (pObjectKey->length <= 4)));
167 dsmAssert((mpObject != NULL));
171 DBG2(DD_GEN,
"zero length")
175 MEMPTR_OPEN( moduleDataPtr(pModuleData), mpObjectData );
178 GET_POS( mpObjectData, currPos );
179 endPos = currPos + dataLength;
183 while (currPos < endPos)
186 valid = objectDataGetKeyAndLen( mpObjectData, &currObjectKey,
202 dsmAssert(((currObjectKey.length > 0) &&
203 (currObjectKey.length <= 4)));
205 objKeysMatch = FALSE;
207 if (currObjectKey.length == pObjectKey->length)
209 pObjKeyData = pObjectKey->data;
210 pCurrKeyData = currObjectKey.data;
212 switch (pObjectKey->length)
215 if (*pCurrKeyData == *pObjKeyData)
222 if (*(pCurrKeyData)++ == *(pObjKeyData)++)
224 if (*pCurrKeyData == *pObjKeyData)
232 if (*(pCurrKeyData)++ == *(pObjKeyData)++)
234 if (*(pCurrKeyData)++ == *(pObjKeyData)++)
236 if (*pCurrKeyData == *pObjKeyData)
245 if (*(pCurrKeyData)++ == *(pObjKeyData)++)
247 if (*(pCurrKeyData)++ == *(pObjKeyData)++)
249 if (*(pCurrKeyData)++ == *(pObjKeyData)++)
251 if (*pCurrKeyData == *pObjKeyData)
265 if (objKeysMatch == TRUE)
267 SET_POS_ABS( *mpObject, currPos );
268 objectLength = currObjectLength;
274 SET_POS_REL( mpObjectData, currObjectLength );
277 GET_POS( mpObjectData, currPos );
285 MEMPTR_CLOSE( mpObjectData );
287 dsmDP3((
"exit moduleDataFindObject -> rtn: %u\n", objectLength));
General include file for clDsm library internal definitions.
Header to the cacheMgr module.
Header to the object module - functions/methods accessing data of object messages inside modules...
Defines memory access utils to work with managed (MemMgr) memory.
Header to the moduleData module.