IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

POSIX C Discussion :

Une question concernant l'appel système mount (sys/mount.h) dans un programme C


Sujet :

POSIX C

  1. #1
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut Une question concernant l'appel système mount (sys/mount.h) dans un programme C
    Bonjour à tous.


    Dans un programme C (OS= ubuntu 9.0.4), je dois monter et démonter une
    clé USB à plusieurs reprises. D'après ce que j'ai lu dans le 'man 2 mount',
    avant d'écrire le programme principal j'ai essayé de tester avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    #include <sys/mount.h>
     
    int main(int argc, char *argv[])
    {
        if (mount("/dev/sdg1", "/media/flashCorsaire/", "fuseblk",
                   MS_MGC_VAL,"rw,nosuid,nodev,allow_other,blksize=4096") != 0)
        {
            fprintf(stderr, "Error: The program doesn't seem to be able ");
            fprintf(stderr, "to control the USB device\n");
            fprintf(stderr, "%s\n", strerror(errno));
            return 1;
        }
     
        return 0;
    }

    Que la clé a été déjà montée ou pas, de toute façon, quand j'exécute ce
    programme en étant root, je reçois le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Error: The program doesn't seem to be able to control the USB device
    Invalid argument
    Je ne comprends pas quel paramètre n'est pas valid (invalid argument) dans
    mon code. J'ai mis la ligne suivante dans le fichier /etc/fstab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /dev/sdg1    /media/flashCorsaire    auto    defaults    0    0
    et quand je branche la clé à l'ordinateur, je voix la ligne suivante dans le
    fichie /etc/mtab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /dev/sdg1 /media/flashCorsaire fuseblk rw,nosuid,nodev,allow_other,blksize=4096 0 0
    Donc le device est bien '/etc/sdg1' avec le point de montage
    '/media/flashCorsaire' et les options 'rw,nosuid,nodev,allow_other,blksize=4096'. J'ai mis tous ça dans mon code
    alors pourquoi j'ai ce message d'erreur? Où est-ce que je me suis trompé?


    Merci d'avance,

    Cordialement,

    Dariyoosh
    Cordialement,
    Dariyoosh

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par dariyoosh Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Data is a pointer to a structure that contains the type specific argu-
         ments to mount.  The format for these argument structures is described in
         the manual page for each filesystem.

  3. #3
    Membre averti Avatar de dariyoosh
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 236
    Points : 334
    Points
    334
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Data is a pointer to a structure that contains the type specific argu-
         ments to mount.  The format for these argument structures is described in
         the manual page for each filesystem.
    Oui j'ai regardé (avant poster ici) 'man mount', mais il n'y avait rien pour fuse/fuseblk
    Cordialement,
    Dariyoosh

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par dariyoosh Voir le message
    Oui j'ai regardé (avant poster ici) 'man mount', mais il n'y avait rien pour fuse/fuseblk
    peut-être que ceci aidera :

    http://hg.opensolaris.org/sc/src/fuse/libfuse/mount.c

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/04/2009, 23h20
  2. Réponses: 3
    Dernier message: 16/04/2009, 23h01
  3. Une question concernant le console de Tomcat
    Par dariyoosh dans le forum NetBeans
    Réponses: 1
    Dernier message: 12/04/2009, 16h39
  4. [Visual Web] une question concernant le visual web pack
    Par developper2006 dans le forum NetBeans
    Réponses: 1
    Dernier message: 09/03/2007, 18h50
  5. une question concernant à Timer dans C++.2005
    Par lzw1015bean dans le forum VC++ .NET
    Réponses: 1
    Dernier message: 01/08/2006, 12h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo