MCPcopy Create free account
hub / github.com/davidgiven/fluxengine / r_unpackcatdata

Function r_unpackcatdata

dep/hfsutils/libhfs/record.c:253–365  ·  view source on GitHub ↗

* NAME: record->unpackcatdata() * DESCRIPTION: unpack catalog record data */

Source from the content-addressed store, hash-verified

251 * DESCRIPTION: unpack catalog record data
252 */
253void r_unpackcatdata(const byte *pdata, CatDataRec *data)
254{
255 int i;
256
257 d_fetchsb(&pdata, &data->cdrType);
258 d_fetchsb(&pdata, &data->cdrResrv2);
259
260 switch (data->cdrType)
261 {
262 case cdrDirRec:
263 d_fetchsw(&pdata, &data->u.dir.dirFlags);
264 d_fetchuw(&pdata, &data->u.dir.dirVal);
265 d_fetchul(&pdata, &data->u.dir.dirDirID);
266 d_fetchsl(&pdata, &data->u.dir.dirCrDat);
267 d_fetchsl(&pdata, &data->u.dir.dirMdDat);
268 d_fetchsl(&pdata, &data->u.dir.dirBkDat);
269
270 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frRect.top);
271 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frRect.left);
272 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frRect.bottom);
273 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frRect.right);
274 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frFlags);
275 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frLocation.v);
276 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frLocation.h);
277 d_fetchsw(&pdata, &data->u.dir.dirUsrInfo.frView);
278
279 d_fetchsw(&pdata, &data->u.dir.dirFndrInfo.frScroll.v);
280 d_fetchsw(&pdata, &data->u.dir.dirFndrInfo.frScroll.h);
281 d_fetchsl(&pdata, &data->u.dir.dirFndrInfo.frOpenChain);
282 d_fetchsw(&pdata, &data->u.dir.dirFndrInfo.frUnused);
283 d_fetchsw(&pdata, &data->u.dir.dirFndrInfo.frComment);
284 d_fetchsl(&pdata, &data->u.dir.dirFndrInfo.frPutAway);
285
286 for (i = 0; i < 4; ++i)
287 d_fetchsl(&pdata, &data->u.dir.dirResrv[i]);
288
289 break;
290
291 case cdrFilRec:
292 d_fetchsb(&pdata, &data->u.fil.filFlags);
293 d_fetchsb(&pdata, &data->u.fil.filTyp);
294
295 d_fetchsl(&pdata, &data->u.fil.filUsrWds.fdType);
296 d_fetchsl(&pdata, &data->u.fil.filUsrWds.fdCreator);
297 d_fetchsw(&pdata, &data->u.fil.filUsrWds.fdFlags);
298 d_fetchsw(&pdata, &data->u.fil.filUsrWds.fdLocation.v);
299 d_fetchsw(&pdata, &data->u.fil.filUsrWds.fdLocation.h);
300 d_fetchsw(&pdata, &data->u.fil.filUsrWds.fdFldr);
301
302 d_fetchul(&pdata, &data->u.fil.filFlNum);
303
304 d_fetchuw(&pdata, &data->u.fil.filStBlk);
305 d_fetchul(&pdata, &data->u.fil.filLgLen);
306 d_fetchul(&pdata, &data->u.fil.filPyLen);
307
308 d_fetchuw(&pdata, &data->u.fil.filRStBlk);
309 d_fetchul(&pdata, &data->u.fil.filRLgLen);
310 d_fetchul(&pdata, &data->u.fil.filRPyLen);

Callers 3

v_catsearchFunction · 0.85
v_scavengeFunction · 0.85
hfs_readdirFunction · 0.85

Calls 6

d_fetchsbFunction · 0.85
d_fetchswFunction · 0.85
d_fetchuwFunction · 0.85
d_fetchulFunction · 0.85
d_fetchslFunction · 0.85
d_fetchstrFunction · 0.85

Tested by

no test coverage detected