/*
- * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
*
- * Copyright (C) 2002-2010 Aleph One Ltd.
+ * Copyright (C) 2002-2011 Aleph One Ltd.
* for Toby Churchill Ltd and Brightstar Engineering
*
* Created by Charles Manning <charles@aleph1.co.uk>
#define NAME_MAX 256
#endif
+#define YAFFS_MAX_FILE_SIZE (0x7FFFFFFF)
+
struct yaffs_dirent{
long d_ino; /* inode number */
#endif
};
+
+struct yaffs_utimbuf {
+ unsigned long actime;
+ unsigned long modtime;
+};
+
+
int yaffs_open(const YCHAR *path, int oflag, int mode) ;
int yaffs_close(int fd) ;
int yaffs_lstat(const YCHAR *path, struct yaffs_stat *buf) ;
int yaffs_fstat(int fd, struct yaffs_stat *buf) ;
+int yaffs_utime(const YCHAR *path, const struct yaffs_utimbuf *buf);
+int yaffs_futime(int fd, const struct yaffs_utimbuf *buf);
+
+
int yaffs_setxattr(const char *path, const char *name, const void *data, int size, int flags);
int yaffs_lsetxattr(const char *path, const char *name, const void *data, int size, int flags);
int yaffs_fsetxattr(int fd, const char *name, const void *data, int size, int flags);
#endif
-int yaffs_chmod(const YCHAR *path, mode_t mode);
-int yaffs_fchmod(int fd, mode_t mode);
+int yaffs_chmod(const YCHAR *path, mode_t mode);
+int yaffs_fchmod(int fd, mode_t mode);
int yaffs_mkdir(const YCHAR *path, mode_t mode) ;
int yaffs_rmdir(const YCHAR *path) ;
int yaffs_sync(const YCHAR *path) ;
-int yaffs_symlink(const YCHAR *oldpath, const YCHAR *newpath);
-int yaffs_readlink(const YCHAR *path, YCHAR *buf, int bufsiz);
+int yaffs_symlink(const YCHAR *oldpath, const YCHAR *newpath);
+int yaffs_readlink(const YCHAR *path, YCHAR *buf, int bufsiz);
-int yaffs_link(const YCHAR *oldpath, const YCHAR *newpath);
+int yaffs_link(const YCHAR *oldpath, const YCHAR *newpath);
int yaffs_mknod(const YCHAR *pathname, mode_t mode, dev_t dev);
loff_t yaffs_freespace(const YCHAR *path);
int yaffs_open_sharing(const YCHAR *path, int oflag, int mode, int shareMode) ;
-struct yaffs_dev_s;
-void yaffs_add_device(struct yaffs_dev_s *dev);
+struct yaffs_dev;
+void yaffs_add_device(struct yaffs_dev *dev);
int yaffs_start_up(void);
int yaffsfs_GetLastError(void);
+
/* Function to get the last error */
int yaffs_get_error(void);
+const char * yaffs_error_to_str(int err);
/* Function only for debugging */
void * yaffs_getdev(const YCHAR *path);
int yaffs_dump_dev(const YCHAR *path);
+int yaffs_set_error(int error);
/* Trace control functions */
-int yaffs_set_trace(unsigned int tm);
-unsigned int yaffs_get_trace(void);
+unsigned yaffs_set_trace(unsigned tm);
+unsigned yaffs_get_trace(void);
#endif
+/*
+ * YAFFS: Yet another Flash File System . A NAND-flash specific file system.
+ *
+ * Copyright (C) 2002-2011 Aleph One Ltd.
+ * for Toby Churchill Ltd and Brightstar Engineering
+ *
+ * Created by Timothy Manning <timothy@yaffs.net>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 2.1 as
+ * published by the Free Software Foundation.
+ *
+ * Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
+ */
+
+#ifndef __error_handler_h__
+#define __error_handler_h__
+#include <stdio.h>
+
+#include "yaffsfs.h"
+#include "yportenv.h"
+#endif