431ec1a6c150abf03bce6ab4d8b04749399e666c
[yaffs2.git] / direct / test-framework / nand_store.h
1 /*
2  * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
3  *
4  * Copyright (C) 2002-2011 Aleph One Ltd.
5  *
6  * Created by Charles Manning <charles@aleph1.co.uk>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU Lesser General Public License version 2.1 as
10  * published by the Free Software Foundation.
11  *
12  * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
13  */
14
15 #ifndef __NAND_STORE_H__
16 #define __NAND_STORE_H__
17
18 struct nand_store {
19         void *private_data;
20
21         int (*store)(struct nand_store *this, int page,
22                         const unsigned char * buffer);
23         int (*retrieve)(struct nand_store *this, int page,
24                         unsigned char * buffer);
25         int (*erase)(struct nand_store *this, int block);
26         int (*shutdown)(struct nand_store *this);
27
28         int blocks;
29         int pages_per_block;
30         int data_bytes_per_page;
31         int spare_bytes_per_page;
32 };
33 #endif