50 E_DscError CDSM_FileGetSize(
55 E_DscError err = CLDSM_OK;
57 dsmDP2((
"CDSM_FileGetSize( %p, %p )\n", file, pSize));
59 API_PARAM_CHK( file, dsmDP1((
"ERROR: Invalid object handle\n")),
60 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
goto _return );
61 API_PARAM_CHK( pSize, dsmDP1((
"ERROR: Illegal parameter\n")),
62 err = CLDSM_ERR_ILLEGAL_PARAMETER;
goto _return );
65 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
67 dsmDP1((
"API ERROR: Invalid object handle\n"));
68 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
70 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
72 err = CLDSM_ERR_OBJECT_NOT_LOADED;
74 else if (pDsmObject->kind != FILE_OBJ)
76 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
78 else if (pDsmObject->objectDataSeq == NULL)
80 err = CLDSM_ERR_OBJECT_NOT_OPEN;
84 memSeqSize( pDsmObject->objectDataSeq, pSize );
89 DEBUG_CHK( err == CLDSM_OK,
90 dsmDP1((
"ERROR: dsmFileGetSize: %u\n", err)));
91 dsmDP2((
"exit dsmFileGetSize -> rtn: %u, o/p: %u \n", err, *pSize));
98 E_DscError CDSM_FileRead(
100 U8BIT *pDest, U32BIT *pNumBytesActual )
104 E_DscError err = CLDSM_OK;
106 dsmDP2((
"CDSM_FileRead( %p, %u, %p, %p )\n",
107 file, numBytes, pDest, pNumBytesActual));
109 API_PARAM_CHK( file, dsmDP1((
"ERROR: Invalid object handle\n")),
110 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
goto _return );
111 API_PARAM_CHK( pDest, dsmDP1((
"ERROR: Illegal parameter\n")),
112 err = CLDSM_ERR_ILLEGAL_PARAMETER;
goto _return );
113 API_PARAM_CHK( pNumBytesActual, dsmDP1((
"ERROR: Illegal parameter\n")),
114 err = CLDSM_ERR_ILLEGAL_PARAMETER;
goto _return );
117 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
119 dsmDP1((
"API ERROR: Invalid object handle\n"));
120 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
122 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
124 err = CLDSM_ERR_OBJECT_NOT_LOADED;
126 else if (pDsmObject->kind != FILE_OBJ)
128 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
130 else if (pDsmObject->objectDataSeq == NULL)
132 err = CLDSM_ERR_OBJECT_NOT_OPEN;
136 memErr = memSeqRead( pDsmObject->objectDataSeq,
137 pDest, numBytes, pNumBytesActual );
139 if (memErr == MEM_ERR_SEQ_END_OF_DATA)
141 err = CLDSM_ERR_END_OF_DATA;
147 DEBUG_CHK( err == CLDSM_OK,
148 dsmDP1((
"ERROR: dsmFileRead: %u\n", err)));
149 dsmDP2((
"exit dsmFileRead -> rtn: %u, o/p: %u data bytes\n",
150 err, *pNumBytesActual));
154 E_DscError CDSM_FileDirect(
156 U8BIT **ppDest, U32BIT *pNumBytesActual )
159 E_DscError err = CLDSM_OK;
161 dsmDP2((
"CDSM_FileDirect( %p, %u, %p, %p )\n",
162 file, ppDest, pNumBytesActual));
164 API_PARAM_CHK( file, dsmDP1((
"ERROR: Invalid object handle\n")),
165 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
goto _return );
166 API_PARAM_CHK( ppDest, dsmDP1((
"ERROR: Illegal parameter\n")),
167 err = CLDSM_ERR_ILLEGAL_PARAMETER;
goto _return );
168 API_PARAM_CHK( pNumBytesActual, dsmDP1((
"ERROR: Illegal parameter\n")),
169 err = CLDSM_ERR_ILLEGAL_PARAMETER;
goto _return );
172 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
174 dsmDP1((
"API ERROR: Invalid object handle\n"));
175 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
177 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
179 err = CLDSM_ERR_OBJECT_NOT_LOADED;
181 else if (pDsmObject->kind != FILE_OBJ)
183 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
185 else if (pDsmObject->objectDataSeq == NULL)
187 err = CLDSM_ERR_OBJECT_NOT_OPEN;
191 memSeqAccessContig( pDsmObject->objectDataSeq, ppDest, pNumBytesActual );
196 DEBUG_CHK( err == CLDSM_OK,
197 dsmDP1((
"ERROR: clDsmFileDirect: %u\n", err)));
198 dsmDP2((
"exit clDsmFileDirect -> rtn: %u, o/p: %u data bytes\n",
199 err, *pNumBytesActual));
206 E_DscError CDSM_FileReadByte(
212 E_DscError err = CLDSM_OK;
214 dsmDP2((
"CDSM_FileReadByte( %p, %p )\n", file, pDest));
216 API_PARAM_CHK( file, dsmDP1((
"ERROR: Invalid object handle\n")),
217 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
goto _return );
218 API_PARAM_CHK( pDest, dsmDP1((
"ERROR: Illegal parameter\n")),
219 err = CLDSM_ERR_ILLEGAL_PARAMETER;
goto _return );
222 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
224 dsmDP1((
"API ERROR: Invalid object handle\n"));
225 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
227 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
229 err = CLDSM_ERR_OBJECT_NOT_LOADED;
231 else if (pDsmObject->kind != FILE_OBJ)
233 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
235 else if (pDsmObject->objectDataSeq == NULL)
237 err = CLDSM_ERR_OBJECT_NOT_OPEN;
241 memErr = memSeqReadByte( pDsmObject->objectDataSeq, pDest );
243 if (memErr == MEM_ERR_SEQ_END_OF_DATA)
245 err = CLDSM_ERR_END_OF_DATA;
251 DEBUG_CHK( err == CLDSM_OK,
252 dsmDP1((
"ERROR: dsmFileReadByte: %u\n", err)));
253 dsmDP2((
"exit dsmFileReadByte -> rtn: %u, o/p: %u \n", err, *pDest));
260 E_DscError CDSM_FileSetPosAbs(
265 E_DscError err = CLDSM_OK;
267 dsmDP2((
"CDSM_FileSetPosAbs( %p, %u )\n", file, absPosition));
269 API_PARAM_CHK( file, dsmDP1((
"ERROR: Invalid object handle\n")),
270 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
goto _return );
273 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
275 dsmDP1((
"API ERROR: Invalid object handle\n"));
276 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
278 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
280 err = CLDSM_ERR_OBJECT_NOT_LOADED;
282 else if (pDsmObject->kind != FILE_OBJ)
284 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
286 else if (pDsmObject->objectDataSeq == NULL)
288 err = CLDSM_ERR_OBJECT_NOT_OPEN;
292 memErr = memSeqSetPosAbs( pDsmObject->objectDataSeq, absPosition );
294 if (memErr == MEM_ERR_SEQ_END_OF_DATA)
296 err = CLDSM_ERR_END_OF_DATA;
302 DEBUG_CHK( err == CLDSM_OK,
303 dsmDP1((
"ERROR: dsmFileSetPosAbs: %u\n", err)));
304 dsmDP2((
"exit dsmFileSetPosAbs -> rtn: %u \n", err));
311 E_DscError CDSM_FileSetPosRel(
316 E_DscError err = CLDSM_OK;
318 dsmDP2((
"CDSM_FileSetPosRel( %p, %d )\n", file, relPosition));
320 API_PARAM_CHK( file, dsmDP1((
"ERROR: Invalid object handle\n")),
321 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
goto _return );
324 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
326 dsmDP1((
"API ERROR: Invalid object handle\n"));
327 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
329 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
331 err = CLDSM_ERR_OBJECT_NOT_LOADED;
333 else if (pDsmObject->kind != FILE_OBJ)
335 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
337 else if (pDsmObject->objectDataSeq == NULL)
339 err = CLDSM_ERR_OBJECT_NOT_OPEN;
343 memErr = memSeqSetPosRel( pDsmObject->objectDataSeq, relPosition );
345 if (memErr == MEM_ERR_SEQ_END_OF_DATA)
347 err = CLDSM_ERR_END_OF_DATA;
353 DEBUG_CHK( err == CLDSM_OK,
354 dsmDP1((
"ERROR: dsmFileSetPosRel: %u\n", err)));
355 dsmDP2((
"exit dsmFileSetPosRel -> rtn: %u \n", err));
362 E_DscError CDSM_FileGetPos(
366 E_DscError err = CLDSM_OK;
368 dsmDP2((
"CDSM_FileGetPos( %p, %p )\n", file, pPosition));
370 API_PARAM_CHK( file, dsmDP1((
"ERROR: Invalid object handle\n")),
371 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
goto _return );
372 API_PARAM_CHK( pPosition, dsmDP1((
"ERROR: Illegal parameter\n")),
373 err = CLDSM_ERR_ILLEGAL_PARAMETER;
goto _return );
376 if (!DSM_OBJECT_VALIDATE( pDsmObject ))
378 dsmDP1((
"API ERROR: Invalid object handle\n"));
379 err = CLDSM_ERR_INVALID_OBJECT_HANDLE;
381 else if (pDsmObject->status != OBJ_LOAD_COMPLETED)
383 err = CLDSM_ERR_OBJECT_NOT_LOADED;
385 else if (pDsmObject->kind != FILE_OBJ)
387 err = CLDSM_ERR_INVALID_OBJECT_TYPE;
389 else if (pDsmObject->objectDataSeq == NULL)
391 err = CLDSM_ERR_OBJECT_NOT_OPEN;
395 memSeqReadPos( pDsmObject->objectDataSeq, pPosition );
400 DEBUG_CHK( err == CLDSM_OK,
401 dsmDP1((
"ERROR: dsmFileGetPos: %u\n", err)));
402 dsmDP2((
"exit dsmFileGetPos -> rtn: %u, o/p: %u \n", err, *pPosition));
General include file for clDsm library internal definitions.
Header to dsmObject module - functions for managing DSM object heap.