bbfdm/libbbfdm-api/version-2/bbfdm_system.h
2025-05-27 14:26:24 +05:30

87 lines
2.3 KiB
C

/*
* 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 <amin.benromdhane@iopsys.eu>
*
*/
#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