mirror of
https://https.git.savannah.gnu.org/git/gnulib.git
synced 2026-04-28 06:33:36 +00:00
* doc/Makefile (undocumented-modules.texi): New rule. (%.info, %.html, %.dvi, %.pdf): Depend on undocumented-modules.texi. (mostlyclean): Remove also *.m and *.tmp. (force): New rule. * doc/*.texi: Add module index entries. * doc/*/*.texi: Likewise.
31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
@node stat-size
|
|
@section stat-size
|
|
|
|
@mindex stat-size
|
|
The @code{stat-size} module provides a small number of macros
|
|
intended for interpreting the file size information in an instance of
|
|
@code{struct stat}.
|
|
|
|
@c We deliberately don't document DEV_BSIZE (it looks to James
|
|
@c Youngman as if the ST_NBLOCKSIZE macro should be used instead).
|
|
|
|
@findex ST_NBLOCKS
|
|
@findex STP_NBLOCKS
|
|
@findex ST_NBLOCKSIZE
|
|
@cindex block size
|
|
On POSIX systems, the @code{st_blocks} member of @code{struct stat}
|
|
contains the number of disk blocks occupied by a file. The
|
|
@code{ST_NBLOCKS} and @code{STP_NBLOCKS} macros
|
|
estimate this quantity on systems
|
|
which don't actually have @code{st_blocks}. Each of these blocks
|
|
contains @code{ST_NBLOCKSIZE} bytes.
|
|
|
|
@findex ST_BLKSIZE
|
|
@findex STP_BLKSIZE
|
|
The value of @code{ST_NBLOCKSIZE} is often quite small, small enough
|
|
that performing I/O in chunks that size would be inefficient.
|
|
The @code{ST_BLKSIZE} and @code{STP_BLKSIZE} macros
|
|
give the I/O block size recommended for I/O to this
|
|
file. This is not guaranteed to give optimum performance, but it
|
|
should be reasonably efficient.
|