17 #ifndef __JFFS2_OS_RTEMS_H__ 18 #define __JFFS2_OS_RTEMS_H__ 36 #define CONFIG_JFFS2_RTIME 38 #define CONFIG_JFFS2_ZLIB 43 static inline unsigned int full_name_hash(
const unsigned char * name,
size_t len) {
47 hash = (hash << 4) | (hash >> 28);
54 #define jffs2_can_mark_obsolete(c) (1) 56 #define JFFS2_INODE_INFO(i) (&(i)->jffs2_i) 57 #define OFNI_EDONI_2SFFJ(f) ((struct _inode *) ( ((char *)f) - ((char *)(&((struct _inode *)NULL)->jffs2_i)) ) ) 59 #define ITIME(sec) (sec) 60 #define I_SEC(tv) (tv) 62 #define JFFS2_F_I_SIZE(f) (OFNI_EDONI_2SFFJ(f)->i_size) 63 #define JFFS2_F_I_MODE(f) (OFNI_EDONI_2SFFJ(f)->i_mode) 64 #define JFFS2_F_I_UID(f) (OFNI_EDONI_2SFFJ(f)->i_uid) 65 #define JFFS2_F_I_GID(f) (OFNI_EDONI_2SFFJ(f)->i_gid) 66 #define JFFS2_F_I_CTIME(f) (OFNI_EDONI_2SFFJ(f)->i_ctime) 67 #define JFFS2_F_I_MTIME(f) (OFNI_EDONI_2SFFJ(f)->i_mtime) 68 #define JFFS2_F_I_ATIME(f) (OFNI_EDONI_2SFFJ(f)->i_atime) 70 #define get_seconds() time(NULL) 84 unsigned short i_rdev;
93 struct _inode * i_cache_prev;
94 struct _inode * i_cache_next;
97 #define JFFS2_SB_INFO(sb) (&(sb)->jffs2_sb) 98 #define OFNI_BS_2SFFJ(c) ((struct super_block *) ( ((char *)c) - ((char *)(&((struct super_block *)NULL)->jffs2_sb)) ) ) 106 unsigned char s_gc_buffer[PAGE_CACHE_SIZE];
108 char s_name_buf[JFFS2_MAX_NAME_LEN];
111 #define sleep_on_spinunlock(wq, sl) spin_unlock(sl) 114 static inline bool jffs2_is_readonly(
struct jffs2_sb_info *c)
118 return sb->s_is_readonly;
121 static inline void jffs2_garbage_collect_trigger(
struct jffs2_sb_info *c)
129 void jffs2_iput(
struct _inode * i);
133 unsigned long offset,
unsigned long *priv);
134 void jffs2_gc_release_page(
struct jffs2_sb_info *c,
unsigned char *pg,
unsigned long *priv);
137 #define os_to_jffs2_mode(x) jffs2_from_os_mode(x) 138 static inline uint32_t jffs2_from_os_mode(uint32_t osmode)
140 return osmode & (S_IFMT | S_IRWXU | S_IRWXG | S_IRWXO);
143 static inline uint32_t jffs2_to_os_mode (uint32_t jmode)
145 return jmode & (S_IFMT | S_IRWXU | S_IRWXG | S_IRWXO);
150 int jffs2_flash_read(
struct jffs2_sb_info *c, cyg_uint32 read_buffer_offset,
151 const size_t size,
size_t * return_size,
unsigned char * write_buffer);
152 int jffs2_flash_write(
struct jffs2_sb_info *c, cyg_uint32 write_buffer_offset,
153 const size_t size,
size_t * return_size,
unsigned char * read_buffer);
155 unsigned long count, loff_t to,
size_t *retlen);
159 struct _inode *jffs2_lookup(
struct _inode *dir_i,
const unsigned char *name,
size_t namelen);
160 int jffs2_create(
struct _inode *dir_i,
const char *d_name,
size_t d_namelen,
int mode);
161 int jffs2_mknod(
struct _inode *dir_i,
const unsigned char *d_name,
size_t d_namelen,
int mode,
const unsigned char *data,
size_t datalen);
162 int jffs2_link (
struct _inode *old_d_inode,
struct _inode *dir_i,
const unsigned char *d_name,
size_t d_namelen);
163 int jffs2_unlink(
struct _inode *dir_i,
struct _inode *d_inode,
const unsigned char *d_name,
size_t d_namelen);
164 int jffs2_rmdir (
struct _inode *dir_i,
struct _inode *d_inode,
const unsigned char *d_name,
size_t d_namelen);
165 int jffs2_rename (
struct _inode *old_dir_i,
struct _inode *d_inode,
const unsigned char *old_d_name,
size_t old_d_namelen,
166 struct _inode *new_dir_i,
const unsigned char *new_d_name,
size_t new_d_namelen);
169 static inline void jffs2_erase_pending_trigger(
struct jffs2_sb_info *c)
172 #ifndef CONFIG_JFFS2_FS_WRITEBUFFER 173 #define SECTOR_ADDR(x) ( ((unsigned long)(x) & ~(c->sector_size-1)) ) 174 #define jffs2_can_mark_obsolete(c) (1) 175 #define jffs2_is_writebuffered(c) (0) 176 #define jffs2_cleanmarker_oob(c) (0) 177 #define jffs2_write_nand_cleanmarker(c,jeb) (-EIO) 179 #define jffs2_flush_wbuf_pad(c) (c=c) 180 #define jffs2_flush_wbuf_gc(c, i) ({ (void)(c), (void) i, 0; }) 181 #define jffs2_nand_read_failcnt(c,jeb) do { ; } while(0) 182 #define jffs2_write_nand_badblock(c,jeb,p) (0) 183 #define jffs2_flash_setup(c) (0) 184 #define jffs2_nand_flash_cleanup(c) do {} while(0) 185 #define jffs2_wbuf_dirty(c) (0) 186 #define jffs2_flash_writev(a,b,c,d,e,f) jffs2_flash_direct_writev(a,b,c,d,e) 187 #define jffs2_wbuf_timeout NULL 188 #define jffs2_wbuf_process NULL 189 #define jffs2_nor_ecc(c) (0) 195 #define BUG_ON(x) do { if (unlikely(x)) BUG(); } while(0)
Definition: nodelist.h:274
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
Definition: os-rtems.h:101
Definition: nodelist.h:251
Definition: os-rtems.h:73
Definition: jffs2_fs_sb.h:49
Definition: jffs2_fs_i.h:21
JFFS2 compressor control.
Definition: jffs2.h:344
JFFS2 flash device control.
Definition: jffs2.h:235