72ec8802265e459a6e277dcfb8183a4b78b1bb43
[my-code/arm.git] / betty / pffs.h
1 /*
2  * pfs.h - pseudo flash filesystem header file
3  *
4  * author: hackbard@hackdaworld.org
5  *
6  */
7
8 #ifndef PFFS_H
9 #define PFFS_H
10
11 #include "lpc2xxx.h"
12 #include "types.h"
13
14 /* defines */
15
16 #define PFFS_REGISTERED         (1<<0)
17
18 #define PFFS_INDEX_MAGIC        0x7000
19
20 /* type definitions */
21
22 typedef struct s_pffs {
23         /* flash specs */
24         u32 base_addr;
25         u8 sec_num;
26         u32 *sec_addr;
27         /* flash write, read and sector erase function pointers */
28         int (*fw)(u32 addr,u16 *buf,int len);
29         int (*fr)(u32 addr,u16 *buf,int len);
30         int (*fe)(u32 addr);
31         /* pffs internal variables */
32         u8 state;
33         u32 data_ptr;
34         u32 index_ptr;
35         u8 sec_num_data[2];
36         u8 sec_num_index[2];
37 } t_pffs;
38
39 /* function prototypes */
40
41 #endif