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

Linux Discussion :

extraire des infos de la base utmp sous linux en C


Sujet :

Linux

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut extraire des infos de la base utmp sous linux en C
    Bonjour
    camarades ! et les modérateurs du site .

    je viens de m'inscrire sur le forum , enfin ! je suis souvent sur le site pour vous lire et satisfait de rejoindre les utisateurs de ce forum que je trouve sympathique .


    j'étudie la base de donnée utmp présent sur mon ubuntu donc /var/run/utmp .
    j'ai remarqué après plusieurs recherche sur google qu'il y a quelque façon d'extraire des éléments d'informations , cependant la partie qui m'interresse est mal documenté dans le man , exemple man getutent , si vous lisez le man vous comprendrez .

    Je cherche à connaitre l'utilisation des 2 fonctions suivantes :

    struct utmp *getutid(struct utmp *ut);
    struct utmp *getutline(struct utmp *ut);

    elles sont un peu obscure , parceque je n'ai pas trouvé un exemple de code où elles sont employées qui m'aurait permis de comprendre .
    Peut être une personne ici pourrait me l'expliquer avec un petit exemple de code ou simplement en me donnant quelques pistes ou je pourrais trouver l'information utile ?


    Merci à vous
    ecryptfs

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 739
    Points : 31 068
    Points
    31 068
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ecryptfs Voir le message
    Bonjour
    camarades ! et les modérateurs du site .

    je viens de m'inscrire sur le forum , enfin ! je suis souvent sur le site pour vous lire et satisfait de rejoindre les utisateurs de ce forum que je trouve sympathique .


    j'étudie la base de donnée utmp présent sur mon ubuntu donc /var/run/utmp .
    j'ai remarqué après plusieurs recherche sur google qu'il y a quelque façon d'extraire des éléments d'informations , cependant la partie qui m'interresse est mal documenté dans le man , exemple man getutent , si vous lisez le man vous comprendrez .

    Je cherche à connaitre l'utilisation des 2 fonctions suivantes :

    struct utmp *getutid(struct utmp *ut);
    struct utmp *getutline(struct utmp *ut);

    elles sont un peu obscure , parceque je n'ai pas trouvé un exemple de code où elles sont employées qui m'aurait permis de comprendre .
    Peut être une personne ici pourrait me l'expliquer avec un petit exemple de code ou simplement en me donnant quelques pistes ou je pourrais trouver l'information utile ?


    Merci à vous
    ecryptfs
    D'après ce que je lis dans le man, la fonction getutid(struct utmp *ut) effectue une recherche dans utmp à partir de ta position courante (qui peut changer si tu lis des datas) et en se basant sur ut et te renvoie la première ligne qui correspond
    Donc si je comprends bien, il te faut
    1) définir une structure de type "struct utmp" pour le paramétrage de la recherche et une autre pour récupérer le résultat
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    struct utmp param;
    struct utmp *result;

    2) remplir le membre ut_type de cette structure en fonction de l'élément cherché
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    param.ut_utype=BOOT_TIME;   // Par exemple

    3) Appeler getutid() autant de fois qu'il faut => ça te donnera toutes les lignes contenant l'heure de boot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    setutent();
    while ((result=getuitid(&param)) != NULL)
    {
          printf("Heure de connexion (en secondes depuis 1970): %d\n", result->ut_time);
    }
    endutent();

  3. #3
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut utmp & getutid
    C'est parfait , j'ai pigé et je te remercie pour le sample de code . C'est la même façon d'extraire que getutent () avec une boucle while .
    c'est plus clair pour moi avec du code que les man pages.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/11/2010, 16h41
  2. extraire des info d'une base de donnée
    Par pierrot10 dans le forum Zope
    Réponses: 2
    Dernier message: 11/05/2009, 21h43
  3. Réponses: 1
    Dernier message: 29/09/2008, 17h57
  4. Comment extraire des infos d'un fichier Word ?
    Par Raoul d'Andrésy dans le forum VBA Word
    Réponses: 4
    Dernier message: 02/12/2005, 18h20
  5. Exportation des données d'une base Oracle sous forms
    Par moezsokrati dans le forum Forms
    Réponses: 4
    Dernier message: 13/10/2005, 09h55

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