XenevaOS
Loading...
Searching...
No Matches
FatFile.h
Go to the documentation of this file.
1
30#ifndef __FAT_FILE_H__
31#define __FAT_FILE_H__
32
33#include <Fs\Fat\Fat.h>
34#include <Fs\vdisk.h>
35#include <Fs\vfs.h>
36
37/*
38* FatCreateFile -- Creates a blank file
39* @param fsys -- Pointer to file system
40* @param parent_cluster -- Parent cluster, if it's
41* 0 then parent_cluster equals to root_cluster
42* @param filename -- name of the file
43*/
44extern AuVFSNode* FatCreateFile(AuVFSNode* fsys, char* filename);
45
46/*
47* FatFileWriteContent -- write contents to fat file (4kib)
48* @param fsys -- Pointer to file system node
49* @param first_cluster -- first cluster of the file
50* @param buffer -- buffer to write
51*/
52extern void FatFileWriteContent(AuVFSNode* fsys, AuVFSNode* file, uint64_t* buffer);
53
54
55/*
56* FatFileWriteDone -- sets the current position
57* to first cluster
58* @param file -- Pointer to file
59*/
60extern void FatFileWriteDone(AuVFSNode* file);
61
62/*
63* FatFileUpdateSize -- updates the current file size
64* @param fsys -- Pointer to file system
65* @param file -- Pointer to file
66* @param size -- size in bytes
67*/
68extern void FatFileUpdateSize(AuVFSNode* fsys, AuVFSNode* file, size_t size);
69
70/*
71* FatFileGetParent -- Returns the parent directory file
72* for a new file
73* @param fsys -- Pointer to file system
74* @param filename -- file path and name to look upon
75*/
76extern AuVFSNode* FatFileGetParent(AuVFSNode* fsys, const char* filename);
77
78/*
79* FatWrite -- write callback
80* @param fsys -- pointer to file system
81* @param file -- pointer to file
82* @param buffer -- buffer to write
83* @param length -- bytes needed to write
84*/
85extern size_t FatWrite(AuVFSNode* fsys, AuVFSNode* file, uint64_t* buffer, uint32_t length);
86
87/*
88* FatFileUpdateFilename -- updates the current file name
89* @param fsys -- Pointer to file system
90* @param file -- Pointer to file
91* @param newname -- new filename
92*/
93extern int FatFileUpdateFilename(AuVFSNode* fsys, AuVFSNode* file, char* newname);
94
95/*
96* FatFileRemove -- remove a file
97* @param fsys -- Pointer to file
98* @param file -- file to remove
99*/
100extern int FatFileRemove(AuVFSNode* fsys, AuVFSNode* file);
101
102#endif
AuVFSNode * FatFileGetParent(AuVFSNode *fsys, const char *filename)
Definition FatFile.cpp:47
int FatFileUpdateFilename(AuVFSNode *fsys, AuVFSNode *file, char *newname)
Definition FatFile.cpp:275
void FatFileWriteDone(AuVFSNode *file)
Definition FatFile.cpp:384
size_t FatWrite(AuVFSNode *fsys, AuVFSNode *file, uint64_t *buffer, uint32_t length)
Definition FatFile.cpp:397
void FatFileUpdateSize(AuVFSNode *fsys, AuVFSNode *file, size_t size)
Definition FatFile.cpp:222
void FatFileWriteContent(AuVFSNode *fsys, AuVFSNode *file, uint64_t *buffer)
Definition FatFile.cpp:335
AuVFSNode * FatCreateFile(AuVFSNode *fsys, char *filename)
Definition FatFile.cpp:105
int FatFileRemove(AuVFSNode *fsys, AuVFSNode *file)
Definition FatFile.cpp:477
unsigned int uint32_t
Definition acefiex.h:163
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
Definition vfs.h:89