glib2.0/glib/gstdioprivate.h

75 lines
2.0 KiB
C

/* gstdioprivate.h - Private GLib stdio functions
*
* Copyright 2017 Руслан Ижбулатов
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
#ifndef __G_STDIOPRIVATE_H__
#define __G_STDIOPRIVATE_H__
G_BEGIN_DECLS
#if defined (G_OS_WIN32)
typedef struct _gtimespec {
guint64 tv_sec;
guint32 tv_nsec;
} gtimespec;
struct _GWin32PrivateStat
{
guint32 volume_serial;
guint64 file_index;
guint64 attributes;
guint64 allocated_size;
guint32 reparse_tag;
guint32 st_dev;
guint32 st_ino;
guint16 st_mode;
guint16 st_uid;
guint16 st_gid;
guint32 st_nlink;
guint64 st_size;
gtimespec st_ctim;
gtimespec st_atim;
gtimespec st_mtim;
};
typedef struct _GWin32PrivateStat GWin32PrivateStat;
int g_win32_stat_utf8 (const gchar *filename,
GWin32PrivateStat *buf);
int g_win32_lstat_utf8 (const gchar *filename,
GWin32PrivateStat *buf);
int g_win32_readlink_utf8 (const gchar *filename,
gchar *buf,
gsize buf_size,
gchar **alloc_buf,
gboolean terminate);
int g_win32_fstat (int fd,
GWin32PrivateStat *buf);
#endif
G_END_DECLS
#endif /* __G_STDIOPRIVATE_H__ */