41#ifndef QSC_FOLDERUTILS_H
42#define QSC_FOLDERUTILS_H
47QSC_CPLUSPLUS_ENABLED_START
76#if defined(QSC_SYSTEM_OS_WINDOWS)
77 static const char QSC_FOLDERUTILS_DELIMITER =
'\\';
79 static const char QSC_FOLDERUTILS_DELIMITER =
'/';
171#if defined(QSC_DEBUG_MODE)
180QSC_CPLUSPLUS_ENABLED_END
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition common.h:520
#define QSC_SYSTEM_CONDITION_IGNORE(x)
MSVC-specific macro to disable a specific warning condition.
Definition common.h:784
#define QSC_SYSTEM_MAX_PATH
The maximum path length supported by the system.
Definition common.h:663
QSC_EXPORT_API bool qsc_folderutils_delete_directory(const char path[QSC_SYSTEM_MAX_PATH])
Delete a folder.
Definition folderutils.c:55
qsc_folderutils_directories
The system special folders enumeration.
Definition folderutils.h:87
@ qsc_folderutils_directories_user_desktop
Definition folderutils.h:89
@ qsc_folderutils_directories_user_music
Definition folderutils.h:93
@ qsc_folderutils_directories_user_favourites
Definition folderutils.h:92
@ qsc_folderutils_directories_user_shortcuts
Definition folderutils.h:96
@ qsc_folderutils_directories_user_pictures
Definition folderutils.h:94
@ qsc_folderutils_directories_user_app_data
Definition folderutils.h:88
@ qsc_folderutils_directories_user_programs
Definition folderutils.h:95
@ qsc_folderutils_directories_user_downloads
Definition folderutils.h:91
@ qsc_folderutils_directories_user_videos
Definition folderutils.h:97
@ qsc_folderutils_directories_user_documents
Definition folderutils.h:90
QSC_EXPORT_API size_t qsc_folderutils_directory_list(char *result, size_t reslen, const char *directory)
Write a list of directories to a string, delineated by newline characters.
Definition folderutils.c:95
QSC_EXPORT_API void qsc_folderutils_get_directory(qsc_folderutils_directories directory, char output[QSC_SYSTEM_MAX_PATH])
Get the full path to a special system folder.
Definition folderutils.c:198
QSC_EXPORT_API bool qsc_folderutils_directory_exists(const char path[QSC_SYSTEM_MAX_PATH])
Check if a folder exists.
Definition folderutils.c:68
QSC_EXPORT_API void qsc_folderutils_append_delimiter(char path[QSC_SYSTEM_MAX_PATH])
Append a folder path delimiter.
Definition folderutils.c:28
QSC_EXPORT_API bool qsc_folderutils_create_directory(const char path[QSC_SYSTEM_MAX_PATH])
Create a new folder.
Definition folderutils.c:42
QSC_EXPORT_API bool qsc_folderutils_directory_has_delimiter(const char path[QSC_SYSTEM_MAX_PATH])
Check if the folder path ends in a delimiter.
Definition folderutils.c:318