1
/* Copyright (C) 2002, 2006, 2010 Free Software Foundation, Inc.
2
This file is part of the GNU C Library.
4
The GNU C Library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 2.1 of the License, or (at your option) any later version.
9
The GNU C Library is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
Lesser General Public License for more details.
14
You should have received a copy of the GNU Lesser General Public
15
License along with the GNU C Library; if not, write to the Free
16
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
19
/* This structure corresponds to the standard FreeBSD 'struct stat'
20
(i.e. _STAT_VER_stat), and is used by the stat() system call family. */
24
__dev_t st_dev; /* Device containing the file. */
25
__ino_t st_ino; /* File serial number. */
27
__uint16_t st_mode; /* File mode. */
28
__uint16_t st_nlink; /* Link count. */
30
__uid_t st_uid; /* User ID of the file's owner. */
31
__gid_t st_gid; /* Group ID of the file's group. */
33
__dev_t st_rdev; /* Device number, if device. */
35
struct timespec st_atimespec; /* time of last access */
36
struct timespec st_mtimespec; /* time of last data modification */
37
struct timespec st_ctimespec; /* time of last file status change */
39
__off_t st_size; /* Size of file, in bytes. */
41
__blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */
43
__blksize_t st_blksize; /* Optimal block size for I/O. */
45
__uint32_t st_flags; /* User defined flags. */
47
__uint32_t st_gen; /* Generation number. */
51
__time_t st_birthtime; /* Time of file creation. */
52
long int st_birthtimensec; /* Nanoseconds of file creation. */
54
#define _BIRTH_PADSIZE (16 - sizeof(__time_t) - sizeof (long int))
55
char __birth_padding[_BIRTH_PADSIZE];