Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * JFFS -- Journaling Flash File System, Linux implementation. | |
3 | * | |
4 | * Copyright (C) 1999, 2000 Axis Communications AB. | |
5 | * | |
6 | * Created by Finn Hakansson <finn@axis.com>. | |
7 | * | |
8 | * This is free software; you can redistribute it and/or modify it | |
9 | * under the terms of the GNU General Public License as published by | |
10 | * the Free Software Foundation; either version 2 of the License, or | |
11 | * (at your option) any later version. | |
12 | * | |
13 | * $Id: intrep.h,v 1.14 2001/09/23 23:28:37 dwmw2 Exp $ | |
14 | * | |
15 | */ | |
16 | ||
17 | #ifndef __LINUX_JFFS_INTREP_H__ | |
18 | #define __LINUX_JFFS_INTREP_H__ | |
19 | #include "jffs_fm.h" | |
20 | struct jffs_node *jffs_alloc_node(void); | |
21 | void jffs_free_node(struct jffs_node *n); | |
22 | int jffs_get_node_inuse(void); | |
23 | ||
24 | void jffs_cleanup_control(struct jffs_control *c); | |
25 | int jffs_build_fs(struct super_block *sb); | |
26 | ||
27 | int jffs_insert_node(struct jffs_control *c, struct jffs_file *f, | |
28 | const struct jffs_raw_inode *raw_inode, | |
29 | const char *name, struct jffs_node *node); | |
30 | struct jffs_file *jffs_find_file(struct jffs_control *c, __u32 ino); | |
31 | struct jffs_file *jffs_find_child(struct jffs_file *dir, const char *name, int len); | |
32 | ||
33 | void jffs_free_node(struct jffs_node *node); | |
34 | ||
35 | int jffs_foreach_file(struct jffs_control *c, int (*func)(struct jffs_file *)); | |
36 | int jffs_possibly_delete_file(struct jffs_file *f); | |
37 | int jffs_insert_file_into_tree(struct jffs_file *f); | |
38 | int jffs_unlink_file_from_tree(struct jffs_file *f); | |
39 | int jffs_file_count(struct jffs_file *f); | |
40 | ||
41 | int jffs_write_node(struct jffs_control *c, struct jffs_node *node, | |
42 | struct jffs_raw_inode *raw_inode, | |
43 | const char *name, const unsigned char *buf, | |
44 | int recoverable, struct jffs_file *f); | |
45 | int jffs_read_data(struct jffs_file *f, unsigned char *buf, __u32 read_offset, __u32 size); | |
46 | ||
47 | /* Garbage collection stuff. */ | |
48 | int jffs_garbage_collect_thread(void *c); | |
49 | void jffs_garbage_collect_trigger(struct jffs_control *c); | |
50 | ||
51 | /* For debugging purposes. */ | |
1da177e4 LT |
52 | #if 0 |
53 | int jffs_print_file(struct jffs_file *f); | |
54 | #endif /* 0 */ | |
55 | void jffs_print_hash_table(struct jffs_control *c); | |
56 | void jffs_print_tree(struct jffs_file *first_file, int indent); | |
57 | ||
58 | #endif /* __LINUX_JFFS_INTREP_H__ */ |