summaryrefslogtreecommitdiff
path: root/libnandfs/local.h
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2011-12-15 16:40:16 +0000
committerforsyth <forsyth@vitanuova.com>2011-12-15 16:40:16 +0000
commit28942ead413418b56c5be78e8c4c400881fba72e (patch)
treecd646dce007974acc02e535a2c9ff800ada2b684 /libnandfs/local.h
parent1eacf117f57c983da30e88f232fab9db7b1e300d (diff)
20111215-1640
Diffstat (limited to 'libnandfs/local.h')
-rw-r--r--libnandfs/local.h23
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[];