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
38bool update_mtime(const char *filename);
39bool do_chown(const char *file_path, const char *username);
40time_t get_mtime(const char *filepath);
41
42sds sds_getline(sds s, FILE *fp, size_t max, int *nread);
43sds sds_getfile(sds s, const char *file_path, size_t max, bool remove_newline, bool warn, int *nread);
44sds sds_getfile_from_fp(sds s, FILE *fp, size_t max, bool remove_newline, int *nread);
45
46bool create_tmp_file(const char *filepath);
47FILE *open_tmp_file(sds filepath);
48bool rename_tmp_file(FILE *fp, sds tmp_file, bool write_rc);
49bool write_data_to_file(const char *filepath, const char *data, size_t data_len);
50bool rm_file(const char *filepath);
51int try_rm_file(const char *filepath);
52
53bool rename_file(const char *src, const char *dst);
54
55bool testfile_read(const char *filename);
56int testdir(const char *desc, const char *dir_name, bool create, bool silent);
57bool is_dir(const char *dir_name);
58bool clean_directory(const char *dir_name);
59bool rm_directory(const char *dir_name);
60bool clean_rm_directory(const char *dir_name);
61
62#endif
sds sds_getline(sds s, FILE *fp, size_t max, int *nread)
Definition filehandler.c:123
testdir_status
Definition filehandler.h:22
bool is_dir(const char *dir_name)
Definition filehandler.c:286
bool update_mtime(const char *filename)
Definition filehandler.c:33
int try_rm_file(const char *filepath)
Definition filehandler.c:405
sds sds_getfile_from_fp(sds s, FILE *fp, size_t max, bool remove_newline, int *nread)
Definition filehandler.c:194
try_rm_file_status
Definition filehandler.h:32
bool rm_file(const char *filepath)
Definition filehandler.c:388
int testdir(const char *desc, const char *dir_name, bool create, bool silent)
Definition filehandler.c:249
sds sds_getfile(sds s, const char *file_path, size_t max, bool remove_newline, bool warn, int *nread)
Definition filehandler.c:162
bool rm_directory(const char *dir_name)
Definition filehandler.c:479
bool rename_tmp_file(FILE *fp, sds tmp_file, bool write_rc)
Definition filehandler.c:346
bool do_chown(const char *file_path, const char *username)
Definition filehandler.c:50
bool testfile_read(const char *filename)
Definition filehandler.c:227
bool rename_file(const char *src, const char *dst)
Definition filehandler.c:374
bool clean_directory(const char *dir_name)
Definition filehandler.c:445
bool clean_rm_directory(const char *dir_name)
Definition filehandler.c:494
time_t get_mtime(const char *filepath)
Definition filehandler.c:98
FILE * open_tmp_file(sds filepath)
Definition filehandler.c:320
bool create_tmp_file(const char *filepath)
Definition filehandler.c:302
bool write_data_to_file(const char *filepath, const char *data, size_t data_len)
Definition filehandler.c:426