myMPD
Internal API documentation
Loading...
Searching...
No Matches
filehandler.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-3.0-or-later
3 myMPD (c) 2018-2025 Juergen Mang <mail@jcgames.de>
4 https://github.com/jcorporation/mympd
5*/
6
11#ifndef MYMPD_FILEHANDLER_H
12#define MYMPD_FILEHANDLER_H
13
14#include "dist/sds/sds.h"
15
16#include <stdbool.h>
17#include <stdio.h>
18
23 DIR_EXISTS = 0,
24 DIR_CREATED = 1,
25 DIR_CREATE_FAILED = 2,
26 DIR_NOT_EXISTS = 3
27};
28
33 RM_FILE_OK = 0,
34 RM_FILE_ENOENT = 1,
35 RM_FILE_ERROR = 2
36};
37
42 FILE_IS_EMPTY = 0,
43 FILE_NOT_EXISTS = -1,
44 FILE_TO_BIG = -2
45};
46
47bool update_mtime(const char *filename);
48time_t get_mtime(const char *filepath);
49
50sds sds_getline(sds s, FILE *fp, size_t max, int *nread);
51sds sds_getfile(sds s, const char *file_path, size_t max, bool remove_newline, bool warn, int *nread);
52sds sds_getfile_from_fp(sds s, FILE *fp, size_t max, bool remove_newline, int *nread);
53
54bool create_tmp_file(const char *filepath);
55FILE *open_tmp_file(sds filepath);
56bool rename_tmp_file(FILE *fp, sds tmp_file, bool write_rc);
57bool write_data_to_file(const char *filepath, const char *data, size_t data_len);
58bool rm_file(const char *filepath);
59int try_rm_file(const char *filepath);
60
61bool rename_file(const char *src, const char *dst);
62
63bool testfile_read(const char *filename);
64int testdir(const char *desc, const char *dir_name, bool create, bool silent);
65bool is_dir(const char *dir_name);
66bool clean_directory(const char *dir_name);
67bool rm_directory(const char *dir_name);
68bool clean_rm_directory(const char *dir_name);
69
70#endif
sds sds_getline(sds s, FILE *fp, size_t max, int *nread)
Definition filehandler.c:73
testdir_status
Definition filehandler.h:22
bool is_dir(const char *dir_name)
Definition filehandler.c:239
bool update_mtime(const char *filename)
Definition filehandler.c:32
int try_rm_file(const char *filepath)
Definition filehandler.c:358
sds sds_getfile_from_fp(sds s, FILE *fp, size_t max, bool remove_newline, int *nread)
Definition filehandler.c:144
try_rm_file_status
Definition filehandler.h:32
bool rm_file(const char *filepath)
Definition filehandler.c:341
int testdir(const char *desc, const char *dir_name, bool create, bool silent)
Definition filehandler.c:202
sds sds_getfile(sds s, const char *file_path, size_t max, bool remove_newline, bool warn, int *nread)
Definition filehandler.c:112
bool rm_directory(const char *dir_name)
Definition filehandler.c:432
bool rename_tmp_file(FILE *fp, sds tmp_file, bool write_rc)
Definition filehandler.c:299
bool testfile_read(const char *filename)
Definition filehandler.c:177
bool rename_file(const char *src, const char *dst)
Definition filehandler.c:327
getfile_status
Definition filehandler.h:41
bool clean_directory(const char *dir_name)
Definition filehandler.c:398
bool clean_rm_directory(const char *dir_name)
Definition filehandler.c:447
time_t get_mtime(const char *filepath)
Definition filehandler.c:48
FILE * open_tmp_file(sds filepath)
Definition filehandler.c:273
bool create_tmp_file(const char *filepath)
Definition filehandler.c:255
bool write_data_to_file(const char *filepath, const char *data, size_t data_len)
Definition filehandler.c:379