Pharos 0.7.23
Modern Web Framework & Web App Hosting Service.
Loading...
Searching...
No Matches
native_fs.c File Reference

Provides filesystem helpers for directory creation, recursive copy or removal, and file writes. More...

#include "native_fs.h"
#include "native_support.h"
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>

Go to the source code of this file.

Macros

#define PHAROS_FS_PATH_SEP   '/'
#define pharos_fs_mkdir   mkdir
#define pharos_fs_unlink   unlink

Functions

int ensure_directory (const char *path)
 Creates a directory path and any missing parent directories.
int write_text_file (const char *path, const char *content)
 Writes a text buffer to a file path.
int copy_file_binary (const char *source_path, const char *target_path)
 Copies one file as binary data.
int copy_directory_recursive (const char *source_dir, const char *target_dir)
 Recursively copies one directory tree into another location.
int remove_directory_recursive (const char *target_dir)
 Recursively removes a directory tree.

Detailed Description

Provides filesystem helpers for directory creation, recursive copy or removal, and file writes.

Definition in file native_fs.c.

Macro Definition Documentation

◆ pharos_fs_mkdir

#define pharos_fs_mkdir   mkdir

Definition at line 27 of file native_fs.c.

Referenced by ensure_directory().

◆ PHAROS_FS_PATH_SEP

#define PHAROS_FS_PATH_SEP   '/'

Definition at line 26 of file native_fs.c.

Referenced by ensure_directory().

◆ pharos_fs_unlink

#define pharos_fs_unlink   unlink

Definition at line 28 of file native_fs.c.

Referenced by remove_directory_recursive().

Function Documentation

◆ copy_directory_recursive()

int copy_directory_recursive ( const char * source_dir,
const char * target_dir )

Recursively copies one directory tree into another location.

Parameters
source_dirSource directory to copy.
target_dirDestination directory to populate.
Returns
0 on success, or a non-zero status code on failure.

Definition at line 132 of file native_fs.c.

References copy_directory_recursive(), copy_file_binary(), ensure_directory(), path_is_directory(), path_join(), and streq().

Referenced by build_app_from_root_native(), build_dev_docs_directory_native(), and copy_directory_recursive().

◆ copy_file_binary()

int copy_file_binary ( const char * source_path,
const char * target_path )

Copies one file as binary data.

Parameters
source_pathPath to the source file.
target_pathPath to the destination file.
Returns
0 on success, or a non-zero status code on failure.

Definition at line 93 of file native_fs.c.

References ensure_directory(), and path_dirname().

Referenced by build_app_from_root_native(), build_native_backup_report_local_json(), build_native_restore_report_local_json(), copy_directory_recursive(), and native_write_backup_state_snapshot().

◆ ensure_directory()

◆ remove_directory_recursive()

int remove_directory_recursive ( const char * target_dir)

Recursively removes a directory tree.

Parameters
target_dirDirectory tree to remove.
Returns
0 on success, or a non-zero status code on failure.

Definition at line 179 of file native_fs.c.

References path_exists(), path_is_directory(), path_join(), pharos_fs_unlink, remove_directory_recursive(), and streq().

Referenced by build_app_from_root_native(), build_dev_docs_directory_native(), and remove_directory_recursive().

◆ write_text_file()

int write_text_file ( const char * path,
const char * content )