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

Réseau C Discussion :

problème portage ioctl socket Linux vers Windows


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut problème portage ioctl socket Linux vers Windows
    Bonjour tout le monde !

    Je suis en train de porter un code (écrit en C) depuis Linux vers Windows.
    Ce code est principalement orienté réseau, et je m'en sors globalement.

    Sauf que les ioctl() de Linux sont beaucoup plus nombreux que ceux de Windows.
    Et là, je coince sur le changement d'état d'une interface réseau.

    L'appel Linux est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    struct ifreq ifr;
    SOCKET m_socket;
    if (ioctl(m_socket, SIOCSIFFLAGS, &ifr) != 0)
    {}
    Je ne trouve pas d'équivalent Windows...
    Je cherche sans doute mal, et dans ce cas, je veux bien des pointeurs vers de bons sites/livres ! .

    Merci d'avance pour vos réponses.

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Sans les flags que tu claques dans ta carte, ça ne va pas être simple de savoir ce que tu veux faire...

    Je suppose que tu veux activer le mode promiscuous sur ta carte ? Si oui, alors il te faudra aller voir cette page pour les détails sur Windows. Il te faudra bien sûr être administrateur pour avoir l'autorisation d'effectuer cette opération.
    Sinon, une solution viable est d'utiliser WinPCAP pour capturer ton réseau, ce qui est alors faisable aussi en mode non-administrateur.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    Salut et merci de t'intéresser à mon problème :-).
    Le flag en question est IFF_UP.

    J'ai d'autres soucis du même genre, par exemple, des appels à ioctl() avec SIOCGETTUNNEL, SIOCADDTUNNEL, etc.

    Merci encore.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Faut aller voir du côté de WSAIoctl et de INTERFACE_INFO(_EX) pour tout ça.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre éprouvé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Par défaut
    J'ai déjà regardé de ce côté là, et j'ai trouvé comment récupérer l'état d'une interface (donc, l'état du flag IFF_UP).
    Par contre, je ne trouve pas comment modifier l'état !
    Je dois sûrement mal lire...

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Ah oui, tiens, apparemment l'IOCTL "SET" correspondant n'existe pas... Ceci étant dit, pourquoi veux-tu faire tomber l'interface réseau ? Sous Windows, c'est en général une assez mauvaise idée de flinguer l'accès réseau "à la volée"... Quel est le but recherché derrière ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/05/2014, 10h44
  2. debogage et portage d'une biblio de linux vers windows
    Par shadowless dans le forum Langage
    Réponses: 3
    Dernier message: 03/05/2011, 09h08
  3. Portage de linux vers windows d'une bibliothèque
    Par shadowless dans le forum Débuter
    Réponses: 31
    Dernier message: 24/04/2011, 23h58
  4. Problème portage code Linux vers Windows
    Par scary dans le forum Windows
    Réponses: 14
    Dernier message: 11/01/2010, 17h56
  5. Problème de portage Linux vers Windows, wxwidgets
    Par zoom* dans le forum wxWidgets
    Réponses: 6
    Dernier message: 22/07/2008, 09h59

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