/* * Copyright (C) 2025 iopsys Software Solutions AB * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 2.1 * as published by the Free Software Foundation * * Author: Amin Ben Romdhane * */ #ifndef __BBFDM_SYSTEM_H #define __BBFDM_SYSTEM_H #ifdef __cplusplus extern "C" { #endif /** * @brief Check if a folder exists at the given path. * * This function verifies the existence of a folder at the specified path. * * @param[in] path Path to the folder. * @return true if the folder exists, false otherwise. */ bool bbfdm_folder_exists(const char *path); /** * @brief Check if a file exists at the given path. * * This function verifies the existence of a file at the specified path. * * @param[in] path Path to the file. * @return true if the file exists, false otherwise. */ bool bbfdm_file_exists(const char *path); /** * @brief Check if a file exists at the given path. * * This function verifies the existence of a file at the specified path and also * checks if file is not empty * * @param[in] path Path to the file. * @return true if the file exists and non-empty, false otherwise. */ bool bbfdm_file_nonzero(const char *path); /** * @brief Check if a file is a regular file. * * This function determines whether the file at the specified path is a regular file. * * @param[in] path Path to the file. * @return true if the file is a regular file, false otherwise. */ bool bbfdm_is_regular_file(const char *path); /** * @brief Create an empty file at the specified path. * * This function creates an empty file if it does not already exist. If the file already exists, it skips creation. * * @param[in] path Path to the file. * @return 0 on success, -1 on failure. */ int bbfdm_create_empty_file(const char *path); /** * @brief Copy a string with a guaranteed null termination. * * This function copies up to `n - 1` characters from `src` to `dst` and ensures * the destination string is null-terminated. If `n` is 1 or less, no copying occurs. * * @param[out] dst Destination buffer. * @param[in] src Source string. * @param[in] n Size of the destination buffer. */ void bbfdm_strncpy(char *dst, const char *src, size_t n); #ifdef __cplusplus } #endif #endif //__BBFDM_SYSTEM_H