64 E_DscError CDSM_DirEntrySizes(
67 U16BIT *totalNameLength )
77 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
79 dsmDP1((
"API ERROR: Invalid object handle\n"));
80 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
82 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
84 err = CLDSM_ERR_OBJECT_NOT_LOADED;
86 else if (pDsmObject->objectDataSeq == NULL)
88 err = CLDSM_ERR_OBJECT_NOT_OPEN;
92 switch (pDsmObject->kind)
95 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
99 case SERVICE_GATEWAY_OBJ:
100 pModule = pDsmObject->pModule;
101 if (!moduleDataFindObject(pModule->hModuleData, pModule->moduleInfo.originalSize,
102 &(pDsmObject->objectInfo.objectKey), &mpObjectData ))
104 err = CLDSM_ERR_OBJECT_NOT_LOADED;
108 numBindings = odDirCountAndFirstBinding( mpObjectData, &(pDsmObject->objectInfo), &mpBindingData );
109 *nameCount = numBindings;
111 while (numBindings--)
113 nameLens += odDirBindingNameLength( mpBindingData );
114 if (!odDirGetNextBinding( mpBindingData, &mpBindingData ))
119 *totalNameLength = nameLens;
142 E_DscError CDSM_DirEntryFirst(
151 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
153 dsmDP1((
"API ERROR: Invalid object handle\n"));
154 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
156 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
158 err = CLDSM_ERR_OBJECT_NOT_LOADED;
160 else if (pDsmObject->objectDataSeq == NULL)
162 err = CLDSM_ERR_OBJECT_NOT_OPEN;
166 switch (pDsmObject->kind)
169 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
173 case SERVICE_GATEWAY_OBJ:
174 pModule = pDsmObject->pModule;
175 if (!moduleDataFindObject(pModule->hModuleData, pModule->moduleInfo.originalSize,
176 &(pDsmObject->objectInfo.objectKey), &mpObjectData ))
178 err = CLDSM_ERR_OBJECT_NOT_LOADED;
182 if (!odDirCountAndFirstBinding( mpObjectData, &(pDsmObject->objectInfo), (PU8BIT *)pFirstEntry ))
185 err = CLDSM_ERR_END_OF_DATA;
209 E_DscError CDSM_DirEntryNext(
213 if (!odDirGetNextBinding((
const PU8BIT)entryHandle, (PU8BIT *)pNextEntry ))
215 return CLDSM_ERR_INTERNAL;
231 U16BIT CDSM_DirEntryNameLength(
234 return odDirBindingNameLength((PU8BIT)entryHandle );
249 U16BIT CDSM_DirEntryNameCopy(
253 return odDirBindingNameCopy((PU8BIT)entryHandle, pName );
264 E_DsmObjectKind CDSM_DirEntryKind(
void *entryHandle )
267 if (odDirGetBindingKind((PU8BIT)entryHandle, &kind))
269 return convertObjectKindStr( kind );
General include file for clDsm library internal definitions.
Header to dsmObject module - functions for managing DSM object heap.
Header to the 'module' module - Functions/methods for creating/destroying and managing attributes of ...
Header to the moduleData module.