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

Function l_getddr

dep/hfsutils/libhfs/low.c:40–69  ·  view source on GitHub ↗

* NAME: low->getddr() * DESCRIPTION: read a driver descriptor record */

Source from the content-addressed store, hash-verified

38 * DESCRIPTION: read a driver descriptor record
39 */
40int l_getddr(hfsvol *vol, Block0 *ddr)
41{
42 block b;
43 const byte *ptr = b;
44 int i;
45
46 if (b_readpb(vol, 0, &b, 1) == -1)
47 goto fail;
48
49 d_fetchsw(&ptr, &ddr->sbSig);
50 d_fetchsw(&ptr, &ddr->sbBlkSize);
51 d_fetchsl(&ptr, &ddr->sbBlkCount);
52 d_fetchsw(&ptr, &ddr->sbDevType);
53 d_fetchsw(&ptr, &ddr->sbDevId);
54 d_fetchsl(&ptr, &ddr->sbData);
55 d_fetchsw(&ptr, &ddr->sbDrvrCount);
56 d_fetchsl(&ptr, &ddr->ddBlock);
57 d_fetchsw(&ptr, &ddr->ddSize);
58 d_fetchsw(&ptr, &ddr->ddType);
59
60 for (i = 0; i < 243; ++i)
61 d_fetchsw(&ptr, &ddr->ddPad[i]);
62
63 ASSERT(ptr - b == HFS_BLOCKSZ);
64
65 return 0;
66
67fail:
68 return -1;
69}
70
71/*
72 * NAME: low->putddr()

Callers

nothing calls this directly

Calls 3

b_readpbFunction · 0.85
d_fetchswFunction · 0.85
d_fetchslFunction · 0.85

Tested by

no test coverage detected