aboutsummaryrefslogtreecommitdiff
path: root/include/fat.h
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2021-01-11 13:55:03 -0500
committerTom Rini <trini@konsulko.com>2021-01-11 13:55:03 -0500
commitd71be1990218957b9f05dbf13a72859a2abe06d7 (patch)
tree99858dc9988f7f7b4c0ab1d8d45738e3abdf38c8 /include/fat.h
parentc4fddedc48f336eabc4ce3f74940e6aa372de18c (diff)
parentbc0b99bd8b19599f670f42401de655fa9b44cd94 (diff)
Merge branch 'next'
Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'include/fat.h')
-rw-r--r--include/fat.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/include/fat.h b/include/fat.h
index 02742f92a5..b9f273f381 100644
--- a/include/fat.h
+++ b/include/fat.h
@@ -9,8 +9,9 @@
#ifndef _FAT_H_
#define _FAT_H_
-#include <asm/byteorder.h>
#include <fs.h>
+#include <asm/byteorder.h>
+#include <asm/cache.h>
struct disk_partition;
@@ -21,7 +22,6 @@ struct disk_partition;
#define MAX_CLUSTSIZE CONFIG_FS_FAT_MAX_CLUSTSIZE
-#define DIRENTSPERBLOCK (mydata->sect_size / sizeof(dir_entry))
#define DIRENTSPERCLUST ((mydata->clust_size * mydata->sect_size) / \
sizeof(dir_entry))
@@ -179,6 +179,9 @@ typedef struct {
int fats; /* Number of FATs */
} fsdata;
+struct fat_itr;
+typedef struct fat_itr fat_itr;
+
static inline u32 clust_to_sect(fsdata *fsdata, u32 clust)
{
return fsdata->data_begin + clust * fsdata->clust_size;
@@ -208,4 +211,17 @@ void fat_closedir(struct fs_dir_stream *dirs);
int fat_unlink(const char *filename);
int fat_mkdir(const char *dirname);
void fat_close(void);
+void *fat_next_cluster(fat_itr *itr, unsigned int *nbytes);
+
+/**
+ * fat_uuid() - get FAT volume ID
+ *
+ * The FAT volume ID returned in @uuid_str as hexadecimal number in XXXX-XXXX
+ * format.
+ *
+ * @uuid_str: caller allocated buffer of at least 10 bytes for the volume ID
+ * Return: 0 on success
+ */
+int fat_uuid(char *uuid_str);
+
#endif /* _FAT_H_ */