/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */

#ifndef __MINGW_FIX_STAT_H
#define __MINGW_FIX_STAT_H

char* __mingw_fix_stat_path (const char* _path);
wchar_t* __mingw_fix_wstat_path (const wchar_t* _path);
int __mingw_fix_stat_finish(int ret, const void *orig_path, void *used_path,
                            unsigned short mode);
int __mingw_fix_fstat_finish(int ret, int fd, unsigned short *mode);

#define __MINGW_FIXED_FSTAT(fstat_func, fd, obj) ({ \
   int _fstat_ret = fstat_func(fd, obj); \
   _fstat_ret = __mingw_fix_fstat_finish(_fstat_ret, fd, &(obj)->st_mode); \
   _fstat_ret; \
})

#endif
