Précédent   Forum du club des développeurs et IT Pro > Général Développement > Programmation système > Linux
Linux Forum d'entraide sur la programmation Linux : shell, système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 03/01/2013, 09h06   #1
dva2tlse
Membre du Club
 
Inscription : décembre 2007
Messages : 223
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : décembre 2007
Messages : 223
Points : 48
Points : 48
Par défaut typedef struct pcap pcap_t et stuct pcap {..

Bonjour,
je suis en train d'essayer d'utiliser des fonctionnalités de la bibliothèque libpcap.
Il est bien évident que les programmes qui tentent de les utiliser doivent présenter une directive "#include <pcap.h>". (par ailleurs la bibliothÉque libpcap est bien installée sur ma machine puisque tcpdump fonctionne)
Cependant, ce header contient l'instruction "typedef struct pcap pcap_t;"
Ceci veut dire que toute entité déclarée sous le type pcap_t sera une structure pcap. (Je ne suis que grand débutant en C, donc j'ai besoin de récapituler ce que je sais avant de demander des éclaircissements sur ce que je ne sais pas encore)
Or je ne vois nulle part la définition de cette structure; ni dans pcap.h, ni dans aucun des nombreux autres headers appelés par des programmes qui utilisent libpcap.

Quelqu'un peut il me dire où ça se passe ou pour quelle raison ça ne se passerait pas ?
merci,
David
__________________
David
P.S. Dis Toto, pourquoi l'univers existe-t'il ?
Je vais y réfléchir avec Morphée et lui dès avant 23h, donc il faut se causer ici avant.
dva2tlse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 09h49   #2
boboss123
Membre éclairé
 
Inscription : septembre 2009
Messages : 1 005
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 1 005
Points : 352
Points : 352
Salut,

A priori la déclaration est dans le fichier pcap-int.h.
=> par contre impossible de trouver ce fichier sur mon disque dur : personne ne sait dans quel fichier est déclaré cette structure (c'est bien obligatoirement dans un .h, non ? ... les .lib et .a ne contiennent pas de déclaration de structure ? ) ?
boboss123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 23h07   #3
dva2tlse
Membre du Club
 
Inscription : décembre 2007
Messages : 223
Détails du profil
Informations personnelles :
Âge : 49
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : décembre 2007
Messages : 223
Points : 48
Points : 48
Merci, c'est bien là; pourtant j'avais bien recopié la structure du paquet dans un vulgaire fichier texte donc c'est forcément depuis cette provenance, mais tout d'un coup j'ai tout perdu.
Merci encore,
David
__________________
David
P.S. Dis Toto, pourquoi l'univers existe-t'il ?
Je vais y réfléchir avec Morphée et lui dès avant 23h, donc il faut se causer ici avant.
dva2tlse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2013, 23h49   #4
LittleWhite
Responsable 2D/3D/Jeux


 
Avatar de LittleWhite
 
Homme Alexandre Laurent
Ingénieur développement logiciels
Inscription : mai 2008
Messages : 10 791
Détails du profil
Informations personnelles :
Nom : Homme Alexandre Laurent
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mai 2008
Messages : 10 791
Points : 43 076
Points : 43 076
Bonjour,

Citation:
Il est bien Åvident que les programmes qui tentent de les utiliser doivent prÅsenter une directive "#include <pcap.h>". (par ailleurs la bibliothÉque libpcap est bien installÅe sur ma machine puisque tcpdump fonctionne)
En fait, pas vraiment. Les programmes n'ont pas besoin des .h et autres fichiers de développement pour fonctionner. Juste les .so seront nécessaire et seront installés avec les paquets pcap (ceux qui ne sont pas de développement). Pour avoir les .h, il faudra installer le paquet de développement (généralement suivi d'un -dev dans le nom)

Pour le typedef, il permet de définir pcap_t comme un nouveau type (reconnu par le langage), qui est l'équivalent de struct pcap.
__________________
Vous souhaitez participer à la rubrique 2D / 3D / Jeux ? Contactez-moi
La rubrique a aussi un blog !

Ma page sur DVP
Mon Portfolio

Qui connaît l'erreur, connaît la solution.
LittleWhite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h34.


 
 
 
 
Partenaires

Hébergement Web