getfsfile(3) manejo de entradas de fstab

Other Alias

getfsent, getfsspec, setfsent, endfsent

SINOPSIS

#include <fstab.h>

void endfsent(void);

struct fstab *getfsent(void);

struct fstab *getfsfile(const char *mount_point);

struct fstab *getfsspec(const char *special_file);

int setfsent(void);

DESCRIPCIÓN

Estas funciones leen del fichero /etc/fstab. La estructura fstab está definida por

struct fstab {
     char *fs_spec;          /* nombre del dispositivo de bloques */
     char *fs_file;          /* punto de montaje */
     char *fs_vfstype;       /* tipo de sistema de ficheros */
     char *fs_mntops;        /* opciones de montaje */
     const char *fs_type;    /* opción rw/rq/ro/sw/xx */
     int fs_freq;            /* frecuencia de volcado (dump), en días */
     int fs_passno;          /* número de paso en volcado paralelo */
};
El campo fs_type contiene (en un sistema *BSD) una de las cinco cadenas "rw", "rq", "ro", "sw", "xx" (lectura-escritura, lectura-escritura con cuotas, sólo-lectura, intercambio (swap), ignorar).

La función setfsent() abre el fichero cuando se le solicita y lo posiciona en la primera línea.

La función getfsent() analiza la siguiente línea del fichero. (Después de abrirlo si era necesario.)

La función endfsent() cierra el fichero cuando se le solicita.

La función getfsspec() busca en el fichero desde el principio y devuelve la primera entrada encontrada para la cual el campo fs_spec coincida con el argumento special_file.

La función getfsspec() busca en el fichero desde el principio y devuelve la primera entrada encontrada para la cual el campo fs_file coincida con el argumento mount_point.

VALOR DEVUELTO

En caso de éxito, las funciones getfsent(), getfsfile(), y getfsspec() devuelven un puntero a una estructura fstab, mientras que setfsent() devuelve 1. En caso de fallo o fin de fichero, estas funciones devuelven NULL y 0, respectivamente.

HISTORIA

La función getfsent() apareció en 4.0BSD; las otras cuatro funciones aparecieron en 4.3BSD.

CONFORME A

Estas funciones no se encuentran en POSIX. Muchos sistemas operativos las tienen, p.e., *BSD, SunOS, Digital Unix, AIX (que también tiene una función getfstype()). HP-UX tiene funciones con los mismos nombres, que sin embargo usan una estructura checklist en lugar de una estructura fstab. Son consideradas obsoletas en este último, y reemplazadas por getmntent(3).

OBSERVACIONES

Estas funciones son hilo-seguro.

Puesto que Linux permite montar un dispositivo especial de bloques en diferentes lugares, y puesto que varios dispositivos pueden tener el mismo punto de montaje, donde el último dispositivo con un punto de montaje dado es el que cuenta, dado que getfsfile() y getfsspec() sólo devuelven la primera ocurrencia, estas dos funciones no son adecuadas para ser usadas bajo Linux.