c-strtof, c-strtod, c-strtold: Make multithread-safe.
[gnulib.git] / doc / stat-size.texi
blob80d8ae14bafd1ceb1af65908ecb42bfd81273330
1 @node stat-size
2 @section stat-size
4 The @code{stat-size} module provides a small number of macros
5 intended for interpreting the file size information in an instance of
6 @code{struct stat}.
8 @c We deliberately don't document DEV_BSIZE (it looks to James
9 @c Youngman as if the ST_NBLOCKSIZE macro should be used instead).
11 @findex ST_NBLOCKS
12 @findex STP_NBLOCKS
13 @findex ST_NBLOCKSIZE
14 @cindex block size
15 On POSIX systems, the @code{st_blocks} member of @code{struct stat}
16 contains the number of disk blocks occupied by a file.  The
17 @code{ST_NBLOCKS} and @code{STP_NBLOCKS} macros
18 estimate this quantity on systems
19 which don't actually have @code{st_blocks}.  Each of these blocks
20 contains @code{ST_NBLOCKSIZE} bytes.
22 @findex ST_BLKSIZE
23 @findex STP_BLKSIZE
24 The value of @code{ST_NBLOCKSIZE} is often quite small, small enough
25 that performing I/O in chunks that size would be inefficient.
26 The @code{ST_BLKSIZE} and @code{STP_BLKSIZE} macros
27 give the I/O block size recommended for I/O to this
28 file.  This is not guaranteed to give optimum performance, but it
29 should be reasonably efficient.