%% options copyright owner = Dirk Krause copyright year = 2015-xxxx license = bsd %% header /** @file Make directory hierarchy (create all parent directories for a file or directory and the directory itself if required), the file or directory name is specified as dkChar string. */ #ifndef DK4CONF_H_INCLUDED #include "dk4conf.h" #endif #ifndef DK4TYPES_H_INCLUDED #include "dk4types.h" #endif #ifndef DK4ERROR_H_INCLUDED #include "dk4error.h" #endif #ifdef __cplusplus extern "C" { #endif /** Create directory structure. @param fn File name. @param lc Flag: Last component in fn is directory too. @param erp Error report, may be NULL. @return 1 on success, 0 on error. Error codes: - DK4_E_INVALID_ARGUMENTS
if fn is NULL, - DK4_E_BUFFER_TOO_SMALL
if fn is too long, - DK4_E_NON_DIR
if one of the components in fn is not a directory, - DK4_E_MKDIR_FAILED
with errno in idetails if the function fails to create the directory or a parent directory, */ int dk4mkdir_hierarchy(const dkChar *fn, int lc, dk4_er_t *erp); #ifdef __cplusplus } #endif %% module #include "dk4mkdh.h" #if DK4_CHAR_SIZE > 1 #ifndef DK4MKDHW_H_INCLUDED #include "dk4mkdhw.h" #endif #else #ifndef DK4MKDH8_H_INCLUDED #include "dk4mkdh8.h" #endif #endif int dk4mkdir_hierarchy(const dkChar *fn, int lc, dk4_er_t *erp) { #if DK4_CHAR_SIZE > 1 return (dk4mkdir_hierarchy_wc(fn, lc, erp)); #else return (dk4mkdir_hierarchy_c8(fn, lc, erp)); #endif }