GETMNTENT(3)

NOME
getmntent, setmntent, addmntent, endmntent, hasmntopt - obtêm entrada de descritor de arquivo do sistema de arquivos

SINÓPSE
#include <stdio.h>
#include <mntent.h>

FILE *setmntent(const char *filename, const char *type);

struct mntent *getmntent(FILE *filep);

int addmntent(FILE *filep, const struct mntent *mnt);

int endmntent(FILE *filep);

char *hasmntopt(const struct mntent *mnt, const char *opt);

DESCRIÇÃO
Estas rotinas são utilizadas para acessar o arquivo de descrição do sistema de arquivos /etc/fstab e o arquivo de descrição do sistema de arquivos montado /etc/mtab.

A função setmntent() abre o arquivo de descrição do sistema de arquivos filep e retorna um ponteiro FILE que pode ser usado por getmntent(). O argumento type é o tipo de acesso solicitado e pode assumir os mesmos valores do argumento mode de fopen(3).

A função getmntent() lê a próxima linha do arquivo de descrição do sistema de arquivos filep e retorna um ponteiro para uma estrutura contendo os campos separados obtidas de uma linha do arquivo. O ponteiro aponta para uma área estática da memória a qual é sobrescrita por chamadas subseqüentes a getmntent().

A função addmntent() adiciona a estrutura mntent mnt ao fim do arquivo aberto filep.

A função endmntent() fecha o arquivo de descrição do sistema de arquivos filep.

A função hasmntopt() percorre o campo mnt_opts (veja abaixo) da estrutura mntent mnt procurando por uma substring que case com opt. Veja <mntent.h> para opções válidas de montagem.

A estrutura mntent é definida em <mntent.h> como segue:

    struct mntent {
    	char 	*mnt_fsname;	/* nome do sistema arq. montado */
    	char	*mnt_dir;	/* pref. diret. do sistema de arq. */
    	char	*mnt_type;	/* tipo (v. mntent.h) */
    	char	*mnt_opts;	/* opções (v. mntent.h) */
    	int	mnt_freq;	/* freqüência de dump em dias */
    	int	mnt_passno;	/* passadas em fsck paralelos */
    };

VALORES RETORNADOS
A função getmntent() retorna um ponteiro para a estrutura mntent ou NULL quando falha.

A função addmntent() retorna 0 no successo e 1 quando falha.

A função endmntent() sempre retorna 1.

A função hasmntopt() retorna o endereço da substring se for encontrada ou NULL, caso contrário.

ARQUIVOS
/etc/fstab          arquivo de descrição do sistema de arquivos
/etc/mtab           arquivo de descrição do sistema de arquivos montado

DE ACORDO COM
SunOS 4.1.3.

NOTAS
O SysV também possui uma função getmntent() mas a seqüência de chamada é diferente, e a estrutura retornada é diferente. No SysV o /etc/mnttab é utilizado. O BSD 4.4 e o Digital Unix têm uma rotina getmntinfo(), um mediador (wrapper) para a chamada de sistema getfsstat().

VEJA TAMBÉM
fopen(3), fstab(5).

TRADUZIDO POR LDP-BR em 28/05/2001.

  Tradução:
Felipe M Pereira <Felipe.Pereira@ic.unicamp.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>