Add automatic detection for inband tags and bad block marking supression
[yaffs2.git] / direct / yaffsfs.h
index 3196f0c6a691b3b17f2d652e075971329ac1d977..3f192169352f5c10a734105c5499ef33019abf3c 100644 (file)
        ( (sizeof(Y_LOFF_T) < 8) ? YAFFS_MAX_FILE_SIZE_32 : (0x800000000LL - 1) )
 
 
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
 struct yaffs_dirent {
        long d_ino;                     /* inode number */
        off_t d_off;                    /* offset to this dirent */
@@ -157,6 +163,10 @@ struct yaffs_dirent *yaffs_readdir(yaffs_DIR *dirp) ;
 void yaffs_rewinddir(yaffs_DIR *dirp) ;
 int yaffs_closedir(yaffs_DIR *dirp) ;
 
+/* Some non-standard functions to use fds to access directories */
+struct yaffs_dirent *yaffs_readdir_fd(int fd);
+void yaffs_rewinddir_fd(int fd);
+
 int yaffs_mount(const YCHAR *path) ;
 int yaffs_mount2(const YCHAR *path, int read_only);
 int yaffs_mount_common(const YCHAR *path, int read_only, int skip_checkpt);
@@ -165,6 +175,10 @@ int yaffs_unmount(const YCHAR *path) ;
 int yaffs_unmount2(const YCHAR *path, int force);
 int yaffs_remount(const YCHAR *path, int force, int read_only);
 
+int yaffs_format(const YCHAR *path,
+               int unmount_flag,
+               int force_unmount_flag,
+               int remount_flag);
 
 int yaffs_sync(const YCHAR *path) ;
 
@@ -207,4 +221,11 @@ int yaffs_set_error(int error);
 /* Trace control functions */
 unsigned  yaffs_set_trace(unsigned tm);
 unsigned  yaffs_get_trace(void);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
 #endif