Blame gl/stat-w32.h

Packit aea12f
/* Core of implementation of fstat and stat for native Windows.
Packit Service 991b93
   Copyright (C) 2017-2020 Free Software Foundation, Inc.
Packit aea12f
Packit aea12f
   This program is free software: you can redistribute it and/or modify
Packit Service 991b93
   it under the terms of the GNU Lesser General Public License as published by
Packit Service 991b93
   the Free Software Foundation; either version 2.1 of the License, or
Packit aea12f
   (at your option) any later version.
Packit aea12f
Packit aea12f
   This program is distributed in the hope that it will be useful,
Packit aea12f
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit aea12f
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 991b93
   GNU Lesser General Public License for more details.
Packit aea12f
Packit Service 991b93
   You should have received a copy of the GNU Lesser General Public License
Packit aea12f
   along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
Packit aea12f
Packit aea12f
#ifndef _STAT_W32_H
Packit aea12f
#define _STAT_W32_H 1
Packit aea12f
Packit aea12f
/* Converts a FILETIME to GMT time since 1970-01-01 00:00:00.  */
Packit aea12f
#if _GL_WINDOWS_STAT_TIMESPEC
Packit aea12f
extern struct timespec _gl_convert_FILETIME_to_timespec (const FILETIME *ft);
Packit aea12f
#else
Packit aea12f
extern time_t _gl_convert_FILETIME_to_POSIX (const FILETIME *ft);
Packit aea12f
#endif
Packit aea12f
Packit aea12f
/* Fill *BUF with information about the file designated by H.
Packit aea12f
   PATH is the file name, if known, otherwise NULL.
Packit aea12f
   Return 0 if successful, or -1 with errno set upon failure.  */
Packit aea12f
extern int _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf);
Packit aea12f
Packit aea12f
/* Bitmasks for st_mode.  */
Packit aea12f
#define S_IREAD_UGO  (_S_IREAD | (_S_IREAD >> 3) | (_S_IREAD >> 6))
Packit aea12f
#define S_IWRITE_UGO (_S_IWRITE | (_S_IWRITE >> 3) | (_S_IWRITE >> 6))
Packit aea12f
#define S_IEXEC_UGO  (_S_IEXEC | (_S_IEXEC >> 3) | (_S_IEXEC >> 6))
Packit aea12f
Packit aea12f
#endif /* _STAT_W32_H */