diff options
| author | forsyth <forsyth@vitanuova.com> | 2011-12-15 16:40:16 +0000 |
|---|---|---|
| committer | forsyth <forsyth@vitanuova.com> | 2011-12-15 16:40:16 +0000 |
| commit | 28942ead413418b56c5be78e8c4c400881fba72e (patch) | |
| tree | cd646dce007974acc02e535a2c9ff800ada2b684 /libnandfs/local.h | |
| parent | 1eacf117f57c983da30e88f232fab9db7b1e300d (diff) | |
20111215-1640
Diffstat (limited to 'libnandfs/local.h')
| -rw-r--r-- | libnandfs/local.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/libnandfs/local.h b/libnandfs/local.h index d5b4eecb..5c3df452 100644 --- a/libnandfs/local.h +++ b/libnandfs/local.h @@ -1,16 +1,19 @@ -typedef struct NandfsBlockData { +typedef struct NandfsBlockData NandfsBlockData; +typedef struct NandfsAuxiliary NandfsAuxiliary; + +struct NandfsBlockData { ulong path; short tag; ulong nerase; int partial; -} NandfsBlockData; +}; struct Nandfs { LogfsLowLevel ll; - char *(*read)(void *magic, void *buf, long nbytes, ulong offset); - char *(*write)(void *magic, void *buf, long nbytes, ulong offset); - char *(*erase)(void *magic, long blockaddr); - char *(*sync)(void *magic); + char *(*read)(void*, void*, long, ulong); + char *(*write)(void*, void*, long, ulong); + char *(*erase)(void*, long blockaddr); + char *(*sync)(void*); void *magic; long rawblocksize; long baseblock; @@ -21,7 +24,7 @@ struct Nandfs { int printbad; }; -typedef struct NandfsAuxiliary { +struct NandfsAuxiliary { uchar parth[4]; // ggpppppp pppppppp pppppppp pp1hhhhh (bigendian) self-protected uchar tag; // self-protecting uchar blockstatus; // self-protecting @@ -29,7 +32,7 @@ typedef struct NandfsAuxiliary { uchar ecc2[3]; // self-protecting uchar nerasemagiclsw[2]; // mmmmmm mmeeeeee eeeeeeeeee ee1hhhhh (bigendian) self-protected uchar ecc1[3]; // self-protecting -} NandfsAuxiliary; +}; #define getbig2(p) (((p)[0] << 8) | (p)[1]) #define getbig4(p) (((p)[0] << 24) | ((p)[1] << 16) | ((p)[2] << 8) | (p)[3]) @@ -38,7 +41,7 @@ typedef struct NandfsAuxiliary { #define putbig2(p, q) ((p)[0] = (q) >> 8, (p)[1] = (q)) #define putbig4(p, q) ((p)[0] = (q) >> 24, (p)[1] = (q) >> 16, (p)[2] = (q) >> 8, (p)[3] = (q)) -LogfsLowLevelReadResult _nandfscorrectauxiliary(NandfsAuxiliary *hdr); +LogfsLowLevelReadResult _nandfscorrectauxiliary(NandfsAuxiliary*); extern uchar _nandfsvalidtags[]; extern int _nandfsvalidtagscount; @@ -46,6 +49,6 @@ extern int _nandfsvalidtagscount; ulong _nandfshamming31_26calc(ulong in); int _nandfshamming31_26correct(ulong *in); -void _nandfsextracttags(NandfsAuxiliary *hdr, NandfsTags *tags); +void _nandfsextracttags(NandfsAuxiliary*, NandfsTags*); extern char Enomem[], Eperm[], Eio[]; |
