MOUNT(2)

NOM
mount, umount - Monter / demonter des systemes de fichiers.

SYNOPSIS
#include <sys/mount.h>
#include <linux/fs.h>

int mount(const char *specialfile, const char * dir , const char * filesystemtype, unsigned long rwflag , const void * data);

int umount(const char *specialfile);

int umount(const char *dir);

DESCRIPTION
mount attache le systeme de fichiers specifie par specialfile (qui est generalement un nom de peripherique) au repertoire indique par dir. umount supprime l'attachement du systeme de fichiers specialfile ou du repertoire dir. Seul le Super-User peut monter ou demonter des systemes de fichiers. L'argument filesystemtype prend une des valeurs listees dans /proc/filesystems (par exemple "ext2", "minix", "msdos", "proc", "nfs", "iso9660" etc...). L'argument rwflag doit avoir le nombre magique 0xC0ED dans ses 16 bits de poids forts, et certains attributs de montage (defini dans <linux/fs.h>) comme bits de poids faibles :
#define MS_RDONLY    1 /* lecture seule                              */
#define MS_NOSUID    2 /* ignorer les bits Set-UID et Set-GID        */
#define MS_NODEV     4 /* interdire l'acces aux fichiers speciaux    */
#define MS_NOEXEC    8 /* interdire l'execution de programmes        */
#define MS_SYNC     16 /* synchroniser les ecritures                 */
#define MS_REMOUNT  32 /* modifier attributs d'un systeme deja monte */
#define MS_MGC_VAL 0xC0ED0000
Si le nombre magique n'est pas present, les attributs de montage sont ignores. L'argument data est interprete differement suivant le type de systeme de fichiers.

VALEUR RENVOYEE
mountetumount renvoient 0 s'ils reussissent, ou -1 s'ils echouent, auquel cas errno contient le code d'erreur.

ERREURS
Les erreurs detaillees ici sont independantes du type de systeme de fichiers. Chaque type de systeme peut avoir des codes d'erreurs specifiques, et un comportement particulier. Voir les sources du noyau pour plus de details...

EPERM
    L'utilisateur n'est pas le Super-User

ENODEV
    Filesystemtype n'est pas configure dans le noyau

ENOTBLK
    Specialfile n'est pas un fichier special en mode bloc.

EBUSY
    Specialfile est deja monte, ou ne peut pas etre remonte en lecture seule car il y a des fichiers ouverts en ecriture, ou ne peut pas etre monte sur dir car dir est occupe (c'est le repertoire de travail d'un processus, le point de montage d'un autre peripherique, des fichiers y sont ouverts, etc...)

EINVAL
    Specialfile a un superbloc invalide, ou on tente un remontage alors que specialfile n'etait pas encore monte sur dir. Ou un demontage est demande sur dir qui n'est pas un point de montage.

EFAULT
    L'un des arguments pointe en-dehors de l'espace d'adressage accessible.

ENOMEM
    Pas assez de memoire pour le noyau.

ENAMETOOLONG
    Un des arguments est trop long

ENOENT
    Un repertoire des arguments n'existe pas ou est un lien symbolique pointant nulle part.

ENOTDIR
    Le point de montage, ou l'un des elements du chemin d'acces au peripherique n'est pas un repertoire

EACCES
    Un element de chemin d'acces n'est pas consultable,
    ou on tente de monter un systeme de fichier en lecture seule sans preciser l'attribut MS_RDONLY,
    ou le fichier peripherique Specialfile est sur un systeme de fichiers monte avec l'attribut MS_NODEV.

ENXIO
    Le nombre majeur du peripherique specialfile est invalide.

EMFILE
    Table de montage pleine.

CONFORMITE
Ces fonctions sont specifiques a Linux et ne doivent pas etre employees dans des programmes concus pour etre portables.

VOIR AUSSI
mount(8), umount(8)