Archivo stat.h

Finalidad

Define las estructuras de datos devueltas por la familia de subrutinas stat.

Descripción

La estructura de datos stat del archivo /usr/include/sys/stat.h devuelve información para las subrutinas stat, fstat, lstat, statxy fstatx .

La estructura de datos de estado contiene los campos siguientes:

Elemento Descripción
st_dev Dispositivo que contiene una entrada de directorio para este archivo.
st_ino Índice de este archivo en su dispositivo. Un archivo se identifica de forma exclusiva especificando el dispositivo en el que reside y su índice en dicho dispositivo.
st_mode Modalidad de archivo. Los valores de modalidad de archivo posibles se proporcionan en la descripción del archivo /usr/include/sys/mode.h .
st_nlink Número de enlaces fijos (entradas de directorio alternativas) al archivo creado utilizando la subrutina enlace .
st_access El campo no está implementado. Todos los bits se devuelven como cero.
st_size Número de bytes en un archivo (incluidos los agujeros). Este campo también define la posición de la marca de fin de archivo para el archivo. La marca de fin de archivo sólo se actualiza mediante subrutinas, por ejemplo, la subrutina escribir . Si el archivo se correlaciona mediante la subrutina Shmat y un valor se almacena en una página más allá de la marca de fin de archivo, dicha marca se actualizará para incluir esta página cuando el archivo se cierre o se fuerzará al almacenamiento permanente.
st_rdev ID del dispositivo. Este campo sólo se define para archivos especiales de bloques o caracteres.
st_atime Hora a la que se accedió por última vez a los datos de archivo.st_atimeyst_atime_nen conjunto representan el último tiempo de acceso de archivo en número de segundos y nanosegundos desde la época.
st_atime_n Hora a la que se accedió por última vez a los datos de archivo.st_atimeyst_atime_nen conjunto representan el último tiempo de acceso de archivo en número de segundos y nanosegundos desde la época.
st_mtime Hora a la que se modificaron por última vez los datos de archivo.st_mtimeyst_mtime_nen conjunto representan la última hora de modificación de archivo en número de segundos y nanosegundos desde la época.
st_mtime_n Hora a la que se modificaron por última vez los datos de archivo.st_mtimeyst_mtime_nen conjunto representan la última hora de modificación de archivo en número de segundos y nanosegundos desde la época.
st_ctime Hora a la que se modificó por última vez el estado del archivo.st_ctimeyst_ctime_nen conjunto representan el último cambio de estado de archivo en número de segundos y nanosegundos desde la época.
st_ctime_n Hora a la que se modificó por última vez el estado del archivo.st_ctimeyst_ctime_nen conjunto representan el último cambio de estado de archivo en número de segundos y nanosegundos desde la época.
st_blksize Tamaño, en bytes de cada bloque del archivo.
st_blocks Número de bloques utilizados realmente por el archivo (medido en las unidades especificadas por la constante TAMAÑO_DE_BB ).
st_gen Número de generación de este i-nodo.
st_type Tipo del nodo v para el objeto. Este es uno de los valores siguientes, que se definen en el archivo /usr/include/sys/vnode.h :
VNO
Objeto no asignado; esto no debería ocurrir
VBAD
Tipo de objeto desconocido
VREG
Archivo normal
VDIR
Archivo de directorio
VBLK
dispositivo de bloque
VCHR
dispositivo de caracteres
VLNK
Enlace simbólico
VSOCK
Socket
VFIFO
FIFO
VMPC
Dispositivo de caracteres multiplexado.
st_vfs Sistema de archivos virtual (VFS) ID, que identifica el VFS que contiene el archivo. Al comparar este valor con los números VFS devueltos por la subrutina mntctl , se puede identificar el nombre del host donde reside el archivo.
st_vfstype Tipo de sistema de archivos, tal como se define en el archivo /usr/include/sys/vmount.h .
st_flag Distintivo que indica si el archivo o el directorio es un punto de montaje virtual. Este distintivo puede tener los valores siguientes:
FS_VMP
Indica que el archivo es un punto de montaje virtual.
FS_Mount
Indica que el archivo es un punto de montaje virtual.
FS_REMOTO
Indica que el archivo reside en otra máquina.
st_uid ID de propietario de archivo.
st_gid ID de grupo de archivos.

La estructura de datos stat64 del archivo /usr/include/sys/stat.h devuelve información para las subrutinas stat64, fstat64y lstat64 . La estructura stat64 contiene los mismos campos que la estructura estado , con la excepción del campo siguiente:

Elemento Descripción
st_size Número de bytes en un archivo. La cabecera HTTPst_sizees una cantidad de 64 bits, lo que permite que los tamaños de archivo sean mayores queOFF_MAX. Elst_sizeel campo de la estructura stat64 es del tipooff64_t.

Para archivos remotos, el st_atime,st_mtimeyst_ctimecontienen la hora en el servidor.

El valor delst_atimese puede cambiar mediante las subrutinas siguientes:

Los valores de last_ctimeyst_mtimeLos campos se pueden establecer mediante las subrutinas siguientes:

Además, la subrutina Shmdt puede cambiar last_mtimey las subrutinas Chmod, fchmod, Chown, Chownx, fchowny Fchownx pueden cambiar last_ctime.

Puesto que pueden crear un objeto nuevo, las subrutinas abrir, openx, creat, enlace simbólico, Mknod, mkdiry conducto pueden establecer last_atime,st_ctimeyst_mtime.