summaryrefslogtreecommitdiffstats
path: root/cpukit/libfs/src/dosfs/fat_file.h
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/libfs/src/dosfs/fat_file.h')
-rw-r--r--cpukit/libfs/src/dosfs/fat_file.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/cpukit/libfs/src/dosfs/fat_file.h b/cpukit/libfs/src/dosfs/fat_file.h
index 79af62a398..b162d8a0fd 100644
--- a/cpukit/libfs/src/dosfs/fat_file.h
+++ b/cpukit/libfs/src/dosfs/fat_file.h
@@ -88,6 +88,7 @@ typedef struct fat_file_fd_s
fat_dir_pos_t dir_pos;
uint8_t flags;
fat_file_map_t map;
+ time_t ctime;
time_t mtime;
} fat_file_fd_t;
@@ -139,6 +140,22 @@ fat_construct_key(
((pos->ofs >> 5) & (FAT_DIRENTRIES_PER_SEC512 - 1)) );
}
+static inline void fat_file_set_ctime(fat_file_fd_t *fat_fd, time_t t)
+{
+ fat_fd->ctime = t;
+}
+
+static inline void fat_file_set_mtime(fat_file_fd_t *fat_fd, time_t t)
+{
+ fat_fd->mtime = t;
+}
+
+static inline void fat_file_set_ctime_mtime(fat_file_fd_t *fat_fd, time_t t)
+{
+ fat_fd->ctime = t;
+ fat_fd->mtime = t;
+}
+
/* Prototypes for "fat-file" operations */
int
fat_file_open(fat_fs_info_t *fs_info,
@@ -192,6 +209,26 @@ void
fat_file_mark_removed(fat_fs_info_t *fs_info,
fat_file_fd_t *fat_fd);
+int
+fat_file_size(fat_fs_info_t *fs_info,
+ fat_file_fd_t *fat_fd);
+
+int
+fat_file_write_first_cluster_num(fat_fs_info_t *fs_info,
+ fat_file_fd_t *fat_fd);
+
+int
+fat_file_write_file_size(fat_fs_info_t *fs_info,
+ fat_file_fd_t *fat_fd);
+
+int
+fat_file_write_time_and_date(fat_fs_info_t *fs_info,
+ fat_file_fd_t *fat_fd);
+
+int
+fat_file_update(fat_fs_info_t *fs_info,
+ fat_file_fd_t *fat_fd);
+
#ifdef __cplusplus
}
#endif