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 :

Récupérer le device avec stat


Sujet :

POSIX C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 37
    Par défaut Récupérer le device avec stat
    Bonjour

    Lors d'un ls -l sur /dev on obtient ça:
    [...]
    crw--w---- 1 root tty 4, 8 2009-12-01 10:23 tty8
    crw--w---- 1 root tty 4, 9 2009-12-01 11:23 tty9
    [...]

    Dans la structure stat il y a st_dev et st_rdev mais je n'arrive pas à trouver de macro ou quelque chose de ce genre pour pouvoir trouver le device (ici 4,).

    Auriez vous une petite idée?

    Merci!

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut
    As tu essaye avec la macro :
    S_ISCHR(m) un périphérique en mode caractère ?

  3. #3
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    Citation Envoyé par renovati0 Voir le message
    Dans la structure stat il y a st_dev et st_rdev mais je n'arrive pas à trouver de macro ou quelque chose de ce genre pour pouvoir trouver le device (ici 4,).
    Quelles est la valeur que tu récupères. Elle est peut être codée sous forme device major en poid fort et device minor en poid faible ?

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 37
    Par défaut
    Merci pour vos réponses!

    Donc, ls -l affiche cela:
    crw-rw-rw- 1 root wheel 5, 7 Nov 30 15:02 ttyp7
    Ce qui correspond à:
    st_dev = 117505793
    st_rdev = 1287
    Pour S_ISCHR, je pense pas:
    S_ISCHR checks the file mode m to see whether the file is a character device file. If so it returns True.

  5. #5
    Membre chevronné Avatar de Jenna
    Inscrit en
    Décembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Décembre 2009
    Messages : 272
    Par défaut
    Une idée comme cela, mais 1287 en hexa, cela fait 0x507 ce qui ressemble furieusement à ce que tu cherches

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 37
    Par défaut
    Hexa-ct !

    crw-rw-rw- 1 root wheel 0 Nov 28 14:07 63744 random
    63744 = 0xF900
    On le tronque en deux: 0xF9 0x00
    0xF9 = 249
    0x00 = 0
    et donc on obtient bien:
    crw-rw-rw- 1 root wheel 249, 0 Nov 30 09:06 random
    Je me creuserais un peu plus la tête la prochaine fois
    Merci !
    (bonjour aux gens d'epitech :p )

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Par défaut
    Si tu aimes faire des calculs et des conversions de bases c'est cool mais bon sache que ce que je t'ai dit fonctionne tres bien car la en loccurence /dev/random est un character device file.

    Tu le reconnais au 'c' devant lors de ton ls donc la macro fonctionne parfaitement (tu peux me croire je viens de tester )

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impression du device avec directx et c#
    Par EPSFranck dans le forum DirectX
    Réponses: 2
    Dernier message: 06/04/2011, 10h41
  2. Réponses: 3
    Dernier message: 10/02/2006, 15h31
  3. Newbie en XML: récupérer le contenu avec de l'ASP
    Par yoda_style dans le forum ASP
    Réponses: 3
    Dernier message: 13/01/2006, 11h46
  4. [VB.NET] [ODBC] Récupérer des valeurs avec requête ODBC?
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 04/03/2005, 16h38
  5. Réponses: 2
    Dernier message: 29/03/2004, 13h44

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