%% options copyright owner = Dirk Krause copyright year = 2015-xxxx license = bsd %% header /** @file Obtain unique file identifier for path specified as dkChar string. On non-Windows systems the UFI consists of inode number and device number. On Windows systems the volume serial number, higher index number and lower index number are used. CRT on Windows: Not used. */ #ifndef DK4UFIT_H_INCLUDED #include "dk4ufit.h" #endif #ifndef DK4ERROR_H_INCLUDED #include "dk4error.h" #endif #ifdef __cplusplus extern "C" { #endif /** Retrieve unique file identifier (for symbolic links return information about link target). @param dptr Destination buffer. @param fn File name. @param erp Error report, may be NULL. @return 1 on success, 0 on error. */ int dk4ufi_get(dk4_ufi_t *dptr, const dkChar *fn, dk4_er_t *erp); /** Retrieve unique file identifier (for link itself). @param dptr Destination buffer. @param fn File name. @param erp Error report, may be NULL. @return 1 on success, 0 on error. */ int dk4ufi_get_l(dk4_ufi_t *dptr, const dkChar *fn, dk4_er_t *erp); #ifdef __cplusplus } #endif %% module #include "dk4conf.h" #include "dk4ufi.h" #if DK4_CHAR_SIZE > 1 #include "dk4ufiwc.h" #else #include "dk4ufi08.h" #endif int dk4ufi_get(dk4_ufi_t *dptr, const dkChar *fn, dk4_er_t *erp) { #if DK4_CHAR_SIZE > 1 return (dk4ufi_get_wc(dptr, fn, erp)); #else return (dk4ufi_get_c8(dptr, fn, erp)); #endif } int dk4ufi_get_l(dk4_ufi_t *dptr, const dkChar *fn, dk4_er_t *erp) { #if DK4_CHAR_SIZE > 1 return (dk4ufi_get_l_wc(dptr, fn, erp)); #else return (dk4ufi_get_l_c8(dptr, fn, erp)); #endif }