view doc/stat-size.texi @ 17363:5a51fb7777a9

sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin Problem reported by Marco Atzeri in <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>. * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]: Simply delegate to the system <sys/select.h> in this case too. Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to be needed on Solaris either. * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]: Simply delgate to the system <sys/time.h> in this case.
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 19 Mar 2013 09:08:47 -0700
parents 16c748720b01
children
line wrap: on
line source

@node stat-size
@section 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 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} macro is used to 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
The value of @code{ST_NBLOCKSIZE} is often quite small, small enough
that performing I/O in chunks that size would be inefficient.
@code{ST_BLKSIZE} is 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.