1 #include "logfsos.h"
2 #include "logfs.h"
3 #include "nandfs.h"
4 #include "local.h"
5
6 char *
nandfsgetblockstatus(Nandfs * nandfs,long absblock,int * magicfound,void ** llsavep,LogfsLowLevelReadResult * result)7 nandfsgetblockstatus(Nandfs *nandfs, long absblock, int *magicfound, void **llsavep, LogfsLowLevelReadResult *result)
8 {
9 NandfsTags tags;
10 char *errmsg;
11 ulong *llsave;
12
13 errmsg = nandfsreadpageauxiliary(nandfs, &tags, absblock, 0, 1, result);
14
15 *magicfound = tags.magic == LogfsMagic;
16
17 if (llsavep) {
18 llsave = nandfsrealloc(nil, sizeof(ulong));
19 if (llsave == nil)
20 return Enomem;
21 *llsave = tags.nerase;
22 *llsavep = llsave;
23 }
24
25 return errmsg;
26 }
27
28