altos: Make ao_fat_readdir return real error values instead of 1/0
[fw/altos] / src / drivers / ao_fat.h
index e460c22a551aa87c7a835775fa64f66e00a56d92..fe154cdfd42043958c91b9dd930cb1b232d87952 100644 (file)
@@ -35,6 +35,7 @@ ao_fat_init(void);
 #define AO_FAT_IS_FILE(attr)   (((attr) & (AO_FAT_FILE_VOLUME_LABEL|AO_FAT_FILE_DIRECTORY)) == 0)
 #define AO_FAT_IS_DIR(attr)    (((attr) & (AO_FAT_FILE_DIRECTORY|AO_FAT_FILE_VOLUME_LABEL)) == AO_FAT_FILE_DIRECTORY)
 
+/* API error codes */
 #define AO_FAT_SUCCESS                 0
 #define AO_FAT_EPERM                   1
 #define AO_FAT_ENOENT                  2
@@ -47,10 +48,25 @@ ao_fat_init(void);
 #define AO_FAT_EMFILE                  24
 #define AO_FAT_EFBIG                   27
 #define AO_FAT_ENOSPC                  28
+#define AO_FAT_EDIREOF                 29
+
+/* ao_fat_setup return values */
+#define AO_FAT_FILESYSTEM_SUCCESS                      0
+#define AO_FAT_FILESYSTEM_MBR_READ_FAILURE             1
+#define AO_FAT_FILESYSTEM_INVALID_MBR_SIGNATURE                2
+#define AO_FAT_FILESYSTEM_INVALID_PARTITION_TYPE       3
+#define AO_FAT_FILESYSTEM_ZERO_SIZED_PARTITION         4
+
+#define AO_FAT_FILESYSTEM_BOOT_READ_FAILURE            5
+#define AO_FAT_FILESYSTEM_INVALID_BOOT_SIGNATURE       6
+#define AO_FAT_FILESYSTEM_INVALID_SECTOR_SIZE          7
 
 void
 ao_fat_sync(void);
 
+void
+ao_fat_unmount(void);
+
 int8_t
 ao_fat_full(void);