%% options copyright owner = Dirk Krause copyright year = 2015-xxxx SPDX-License-Identifier: BSD-3-Clause %% header /** @file dk4fileid.h File information for files specified by dkChar path name. */ #ifndef DK4FILEIT_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4fileit.h" #else #include #endif #endif #ifndef DK4ERROR_H_INCLUDED #if DK4_BUILDING_DKTOOLS4 #include "dk4error.h" #else #include #endif #endif #ifdef __cplusplus extern "C" { #endif /** Retrieve full information for a path name. For symbolic links attempt to retrieve information both about the link and about the link target. @param dptr Pointer to result structure. @param fn File path name. @param erp Error report, may be NULL. @return 1 if information is found, 0 otherwise. If information about the link is found and no information about the target, the function returns 1 as we can recognize the directory item as a dangling link (link with non-existing target). */ int dk4fileinfo(dk4_file_info_t *dptr, const dkChar *fn, dk4_er_t *erp); #ifdef __cplusplus } #endif %% module #include "dk4conf.h" #include "dk4filei.h" #if DK4_HAVE_ASSERT_H #ifndef ASSERT_H_INCLUDED #include #define ASSERT_H_INCLUDED 1 #endif #endif int dk4fileinfo(dk4_file_info_t *dptr, const dkChar *fn, dk4_er_t *erp) { #if DK4_USE_ASSERT assert(NULL != dptr); assert(NULL != fn); #endif #if DK4_CHAR_SIZE > 1 return (dk4fileinfo_wc(dptr, fn, erp)); #else return (dk4fileinfo_c8(dptr, fn, erp)); #endif }