20#define CAKE_FILE_ACCESS_READ GENERIC_READ
21#define CAKE_FILE_ACCESS_WRITE GENERIC_WRITE
22#define CAKE_FILE_ACCESS_APPEND FILE_APPEND_DATA
23#define CAKE_FILE_ACCESS_FOLDER FILE_LIST_DIRECTORY
25#define CAKE_FILE_SHARE_NOTHING 0x00
26#define CAKE_FILE_SHARE_DELETE FILE_SHARE_DELETE
27#define CAKE_FILE_SHARE_READ FILE_SHARE_READ
28#define CAKE_FILE_SHARE_WRITE FILE_SHARE_WRITE
30#define CAKE_FILE_OPEN_CREATE_ALWAYS CREATE_ALWAYS
31#define CAKE_FILE_OPEN_CREATE_IF_NOT_EXISTS CREATE_NEW
32#define CAKE_FILE_OPEN_ALWAYS OPEN_ALWAYS
33#define CAKE_FILE_OPEN_IF_EXISTS OPEN_EXISTING
34#define CAKE_FILE_OPEN_TRUNC_IF_EXISTS TRUNCATE_EXISTING
36#define cake_close_dir(x) FindClose(x)
38CAKE_C CAKE_API
cake_bool cake_file_exists(
const char *filename);
39CAKE_C CAKE_API
cake_bool cake_delete_file(
const char *filename);
40CAKE_C CAKE_API
cake_bool cake_delete_folder(
const char *pathname);
51#define cake_close_dir(x) closedir(x)
52#define cake_file_exists(filename) (access(filename, F_OK) == 0)
53#define cake_delete_file(filename) unlink(filename)
54#define cake_delete_folder(pathname) rmdir(pathname)
65 WIN32_FIND_DATAW dataw;
100CAKE_C CAKE_API
cake_bool __cake_open_file(
Cake_File *dest,
const char *filename, cake_mask accessMode, cake_mask shareMode, cake_mask openMode, cake_mask attributes);
114 return __cake_open_file(dest, filename, accessMode, shareMode, openMode, FILE_ATTRIBUTE_NORMAL);
132 return __cake_open_file(dest, folderpath, accessMode | CAKE_FILE_ACCESS_FOLDER, shareMode, openMode, FILE_FLAG_BACKUP_SEMANTICS);
155 return ReadFile(file->
fd, buffer, size, bytesRead, NULL);
172 return WriteFile(file->
fd, buffer, size, bytesWritten, NULL);
Fichier contenant les types utilisés fréquemment par la librairie.
char cake_bool
Type sur 8 bits, utilisé principalement comme valeur de retour des fonctions pour indiquer si une err...
Definition: def.h:126
CAKE_C CAKE_API void cake_close_file(Cake_File *file)
Ferme un fichier ou un dossier ouvert.
Definition: file.c:421
CAKE_C CAKE_API cake_bool cake_mkdirs(const char *filepath)
Crée tous les dossiers du chemin passé.
Definition: file.c:247
cake_bool cake_open_file(Cake_File *dest, const char *filename, cake_mask accessMode, cake_mask shareMode, cake_mask openMode)
Ouvre un fichier.
Definition: file.h:111
struct cake_file Cake_File
Structure pour ouvrir, lire et écrire dans des fichiers.
CAKE_C CAKE_API cake_bool cake_file_read(Cake_File *file, void *buffer, cake_size size, cake_size *bytesRead)
Lit le contenu du fichier à partir de la position interne géré par l'OS.
Definition: file.h:152
CAKE_C CAKE_API cake_bool cake_file_write(Cake_File *file, void *buffer, cake_size size, cake_size *bytesWritten)
Écrit du contenu dans le fichier à partir de la position interne géré par l'OS.
Definition: file.h:169
CAKE_C CAKE_API cake_bool cake_folder_watcher_start(Cake_FolderWatcher *watcher)
Attend qu'un fichier situé dans le dossier voit son contenu modifié.
Definition: file.c:431
cake_bool cake_open_folder(Cake_File *dest, const char *folderpath, cake_mask accessMode, cake_mask shareMode, cake_mask openMode)
Ouvre un dossier.
Definition: file.h:129
CAKE_C CAKE_API cake_bool __cake_open_file(Cake_File *dest, const char *filename, cake_mask accessMode, cake_mask shareMode, cake_mask openMode, cake_mask attributes)
Fonction interne, favoriser l'appel de cake_open_file ou cake_open_folder.
Definition: file.c:388
struct cake_folderwatcher Cake_FolderWatcher
Structure pour surveiller un dossier, par exemple lorsqu'un fichier a été modifié.
Structure pour ouvrir, lire et écrire dans des fichiers.
Definition: file.h:79
cake_fd fd
Descripteur du fichier.
Definition: file.h:80
Cake_String_UTF8 * filename
Nom du fichier en UTF-8, sous Windows, convertie temporairement en UTF-16 lors de l'ouverture du fich...
Definition: file.h:81
cake_mask shareMode
Détermine la façon dont l'ouverture du fichier est partagé avec les autres processus.
Definition: file.h:83
cake_mask accessMode
Détermine le mode d'accès au fichier.
Definition: file.h:82
Structure pour surveiller un dossier, par exemple lorsqu'un fichier a été modifié.
Definition: file.h:89
cake_bool(* callback)(Cake_String_UTF8 *filename)
Fonction de callback lorsque quelque chose a été détectée.
Definition: file.h:91
Cake_File folder
Le dossier à surveiller.
Definition: file.h:90
Tableau dynamique de chaînes de caractères encodées en UTF-8.
Definition: strutf8.h:28
Chaînes de caractères encodées en UTF-8.
Definition: strutf8.h:19
Fichier contenant le prototypes de tout ce qui touche aux chaînes de caractères UTF-8.