Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3048 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Communication entre modules kernel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Communication entre modules kernel

n°1300381
nico_du_63
Posté le 07-02-2006 à 11:31:42  profilanswer
 

Salut a tous
 
Je suis en train de développer 2 drivers linux. J'aimerais savoir comment appeler une fonction d'un driver à partir de l'autre et aussi comment passer des paramètres de l'un à l'autre.
 
merci d'avance
 
Nico

mood
Publicité
Posté le 07-02-2006 à 11:31:42  profilanswer
 

n°1300393
Sebou77
French Tech powaa :-)
Posté le 07-02-2006 à 11:46:49  profilanswer
 

si c'est des fichiers C, t'as juste à faire un include, enfin ça se trouve j'ai pas compris et c'est plus compliqué :D

n°1300404
Emmanuel D​elahaye
C is a sharp tool
Posté le 07-02-2006 à 11:54:53  profilanswer
 

nico_du_63 a écrit :

Je suis en train de développer 2 drivers linux. J'aimerais savoir comment appeler une fonction d'un driver à partir de l'autre et aussi comment passer des paramètres de l'un à l'autre.


Le bon forum est "OS-Alternatifs"
http://forum.hardware.fr/hardwaref [...] ujet-1.htm
 
Il suffit de définir une fonction publique (éventuellement avec des paramètres) et de l'exporter (détails dans le manuel 'Modules', ça dépend peut être de la version du kernel). Son nom doit être unique, évidemment, car elle fait partie du noyau.  
 
L'espace mémoire est commun ('Kernel'), donc il n'y a pas à faire de recopie de données.
 
Nota.  
 
- Il doit y avoir une hiérarchie appelant / appelé (pas d'appels croisés).
- Le module fournissant la fonction doit être chargé avant celui qui l'utilise (la résolution est dynamique)


Message édité par Emmanuel Delahaye le 07-02-2006 à 11:57:13

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1300410
nico_du_63
Posté le 07-02-2006 à 12:02:59  profilanswer
 

J'ai essayé avec inter_module_put et inter_module_get et inter_module_register mais apparemment leur utilisation est déconseillée :
warning: `inter_module_put' is deprecated (declared at include/linux/module.h:578)
idem pour inter_module_get et inter_module_register
 
En +, je n'arrive pas à passer un paramètre aux fonctions appelées donc c'est galère.
J'aurais bien aimé savoir s'il n'y avait pas une manière + simple (ioctl par exemple ???) et si non comment passer un parametre aux fonctions appelées.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Communication entre modules kernel

 

Sujets relatifs
Communication entre 2 SPIP[Python] Lancer un script sans installer les 36 modules associés
[wxWidgets] Communication entre les fenetresTéléphones portables + Bluetooth + Communication
quelques précisions sur Python (PyUnit et modules)mac os X, perl et modules
problème de communication word/accessLenteur/blocage suite a l'utilisation de modules CPAN
Communication entre 2 programmesModules et programme principal
Plus de sujets relatifs à : Communication entre modules kernel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR