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 :
|
| 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:
|
| 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:
- escribir, writex, writev, writevx
- abrir, openx, crear
- enlace
- enlace simbólico
- desenlazar
- Mknod
- mkdir
- dirrm
- renombrar
- truncar, ftruncate
- utime, uveces
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.