1#ifndef _FLASH_IO_H_
2#define _FLASH_IO_H_
3
4struct flash_io {
5	device_t fio_dev;
6	struct bintime fio_creation;
7	struct bintime fio_last_write;
8	struct bufq_state *fio_bufq;
9	uint8_t *fio_data;
10	daddr_t fio_block;
11	kmutex_t fio_lock;
12	bool fio_write_pending;
13	struct lwp *fio_thread;
14	kcondvar_t fio_cv;
15	bool fio_exiting;
16	struct flash_interface *fio_if;
17};
18
19int flash_io_submit(struct flash_io *, struct buf *);
20void flash_sync_thread(void *);
21int flash_sync_thread_init(struct flash_io *, device_t,
22	struct flash_interface *);
23void flash_sync_thread_destroy(struct flash_io *);
24
25#endif
26