Suite a la question que j'ai posé sur mmap et shmem je mes pose une
question sur les modules.
J'ai essayé d'intégrer donc une ouverture d'un fichier dans un module il
semble que je ne peux pas utiliser la librairie C .
par exemple , si j'ajoute
#include <sys/types.h>
j'ai alors des erreurs de compilation .
J'ai alors essayer fopen la compilation marche mais lorsque je lance
insmod monmodule.o j'ai alors
monmodule.o unresolved symbol fopen
ma question est donc comment ouvrir un fichier dans un module.
idem pour mapp
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas George
Kakrocq wrote in message :
ma question est donc comment ouvrir un fichier dans un module.
Euh, ça me semble assez suspect, comme politique, ça essayer d'ouvrir un fichier dans un module. Déjà, un file descriptor, ça vit dans l'espace de droits d'un ou plusieurs processus, je ne suis pas du tout certain que le noyau ait prévu des file-descriptors orphelins.
Je pense qu'il vaudrait mieux que tu décrives de manière un peu plus générale ce que tu souhaites faire au final.
Kakrocq wrote in message <pan.2005.02.02.17.18.31.357290@hotmail.com>:
ma question est donc comment ouvrir un fichier dans un module.
Euh, ça me semble assez suspect, comme politique, ça essayer d'ouvrir un
fichier dans un module. Déjà, un file descriptor, ça vit dans l'espace de
droits d'un ou plusieurs processus, je ne suis pas du tout certain que le
noyau ait prévu des file-descriptors orphelins.
Je pense qu'il vaudrait mieux que tu décrives de manière un peu plus
générale ce que tu souhaites faire au final.
ma question est donc comment ouvrir un fichier dans un module.
Euh, ça me semble assez suspect, comme politique, ça essayer d'ouvrir un fichier dans un module. Déjà, un file descriptor, ça vit dans l'espace de droits d'un ou plusieurs processus, je ne suis pas du tout certain que le noyau ait prévu des file-descriptors orphelins.
Je pense qu'il vaudrait mieux que tu décrives de manière un peu plus générale ce que tu souhaites faire au final.
Vincent Bernat
OoO Lors de la soirée naissante du mercredi 02 février 2005, vers 18:18, Kakrocq disait:
Suite a la question que j'ai posé sur mmap et shmem je mes pose une question sur les modules. J'ai essayé d'intégrer donc une ouverture d'un fichier dans un module il semble que je ne peux pas utiliser la librairie C . par exemple , si j'ajoute #include <sys/types.h> j'ai alors des erreurs de compilation . J'ai alors essayer fopen la compilation marche mais lorsque je lance insmod monmodule.o j'ai alors monmodule.o unresolved symbol fopen
ma question est donc comment ouvrir un fichier dans un module. idem pour mapp
Je pense que cette question a sa place dans fr.comp.os.linux.moderated et place donc le suivi sur celui-ci.
Quand tu programmes un module, tu as des possibilités beaucoup plus restreintes, notamment à cause de l'absence de libc, de la difficulté de communiquer avec l'espace utilisateur et de la difficulté à utiliser les appels système. D'ailleurs, il y a des discussions sur l'intégration d'une mini libc dans le noyau.
Pour faire simple, tu ne peux pas ouvrir facilement un fichier dans un module. En effet, tu n'es pas dans le contexte d'un processus donc les appels systèmes comme open ne sont pas utilisables. De plus, jusqu'à récemment, le noyau ne pouvait pas être préempté, or lire un fichier nécessite d'aller lire sur le disque donc de bloquer. On ne peut rien faire de bloquant dans le noyau. Il te faudrait donc faire tout un tas de trucs compliqués pour pouvoir lire ton fichier.
A priori, si tu veux lire ton fichier, c'est que tu veux sans doute interagir avec l'utilisateur. Il est donc beaucoup plus simple de passer des paramètres à ton module. Si ton module demande trop d'infos pour les passer en paramètres ou s'il y a des infos qui viendront après le chargement, tu dois construire une interface utilisateur avec ton module : tu communiqueras avec lui à un travers un device ou un ioctl, donc en codant open, read, write et compagnie dans ton module.
Ensuite, pour le mmap, pareil. -- /* Nobody will ever see this message :-) */ panic("Cannot initialize video hardwaren"); 2.0.38 /usr/src/linux/arch/m68k/atari/atafb.c
-- Pour contacter l'équipe de modération : ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans la liste de distribution des modérateurs.
OoO Lors de la soirée naissante du mercredi 02 février 2005, vers
18:18, Kakrocq <Kakrocq@hotmail.com> disait:
Suite a la question que j'ai posé sur mmap et shmem je mes pose une
question sur les modules.
J'ai essayé d'intégrer donc une ouverture d'un fichier dans un module il
semble que je ne peux pas utiliser la librairie C .
par exemple , si j'ajoute
#include <sys/types.h>
j'ai alors des erreurs de compilation .
J'ai alors essayer fopen la compilation marche mais lorsque je lance
insmod monmodule.o j'ai alors
monmodule.o unresolved symbol fopen
ma question est donc comment ouvrir un fichier dans un module.
idem pour mapp
Je pense que cette question a sa place dans fr.comp.os.linux.moderated
et place donc le suivi sur celui-ci.
Quand tu programmes un module, tu as des possibilités beaucoup plus
restreintes, notamment à cause de l'absence de libc, de la difficulté
de communiquer avec l'espace utilisateur et de la difficulté à
utiliser les appels système. D'ailleurs, il y a des discussions sur
l'intégration d'une mini libc dans le noyau.
Pour faire simple, tu ne peux pas ouvrir facilement un fichier dans un
module. En effet, tu n'es pas dans le contexte d'un processus donc les
appels systèmes comme open ne sont pas utilisables. De plus, jusqu'à
récemment, le noyau ne pouvait pas être préempté, or lire un fichier
nécessite d'aller lire sur le disque donc de bloquer. On ne peut rien
faire de bloquant dans le noyau. Il te faudrait donc faire tout un tas
de trucs compliqués pour pouvoir lire ton fichier.
A priori, si tu veux lire ton fichier, c'est que tu veux sans doute
interagir avec l'utilisateur. Il est donc beaucoup plus simple de
passer des paramètres à ton module. Si ton module demande trop d'infos
pour les passer en paramètres ou s'il y a des infos qui viendront
après le chargement, tu dois construire une interface utilisateur avec
ton module : tu communiqueras avec lui à un travers un device ou un
ioctl, donc en codant open, read, write et compagnie dans ton module.
Ensuite, pour le mmap, pareil.
--
/* Nobody will ever see this message :-) */
panic("Cannot initialize video hardwaren");
2.0.38 /usr/src/linux/arch/m68k/atari/atafb.c
--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
OoO Lors de la soirée naissante du mercredi 02 février 2005, vers 18:18, Kakrocq disait:
Suite a la question que j'ai posé sur mmap et shmem je mes pose une question sur les modules. J'ai essayé d'intégrer donc une ouverture d'un fichier dans un module il semble que je ne peux pas utiliser la librairie C . par exemple , si j'ajoute #include <sys/types.h> j'ai alors des erreurs de compilation . J'ai alors essayer fopen la compilation marche mais lorsque je lance insmod monmodule.o j'ai alors monmodule.o unresolved symbol fopen
ma question est donc comment ouvrir un fichier dans un module. idem pour mapp
Je pense que cette question a sa place dans fr.comp.os.linux.moderated et place donc le suivi sur celui-ci.
Quand tu programmes un module, tu as des possibilités beaucoup plus restreintes, notamment à cause de l'absence de libc, de la difficulté de communiquer avec l'espace utilisateur et de la difficulté à utiliser les appels système. D'ailleurs, il y a des discussions sur l'intégration d'une mini libc dans le noyau.
Pour faire simple, tu ne peux pas ouvrir facilement un fichier dans un module. En effet, tu n'es pas dans le contexte d'un processus donc les appels systèmes comme open ne sont pas utilisables. De plus, jusqu'à récemment, le noyau ne pouvait pas être préempté, or lire un fichier nécessite d'aller lire sur le disque donc de bloquer. On ne peut rien faire de bloquant dans le noyau. Il te faudrait donc faire tout un tas de trucs compliqués pour pouvoir lire ton fichier.
A priori, si tu veux lire ton fichier, c'est que tu veux sans doute interagir avec l'utilisateur. Il est donc beaucoup plus simple de passer des paramètres à ton module. Si ton module demande trop d'infos pour les passer en paramètres ou s'il y a des infos qui viendront après le chargement, tu dois construire une interface utilisateur avec ton module : tu communiqueras avec lui à un travers un device ou un ioctl, donc en codant open, read, write et compagnie dans ton module.
Ensuite, pour le mmap, pareil. -- /* Nobody will ever see this message :-) */ panic("Cannot initialize video hardwaren"); 2.0.38 /usr/src/linux/arch/m68k/atari/atafb.c
-- Pour contacter l'équipe de modération : ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans la liste de distribution des modérateurs.
Thomas Nemeth
Tu n'avais pas mis de fu2. Je le positionne sur fcou : ce n'est pas de la config Linux.
Le mer 02 fév 2005 à 18:18, Kakrocq a tapoté : | Suite a la question que j'ai posé sur mmap et shmem je mes pose une | question sur les modules. | J'ai essayé d'intégrer donc une ouverture d'un fichier dans un module il | semble que je ne peux pas utiliser la librairie C .
Tout à fait. Tu ne peux utiliser que les fonctions offertes par le noyau.
| par exemple , si j'ajoute | #include <sys/types.h>
Erf... Un include de la libc.
| j'ai alors des erreurs de compilation . | J'ai alors essayer fopen la compilation marche mais lorsque je lance
fopen fait partie de la libc.
| insmod monmodule.o j'ai alors | monmodule.o unresolved symbol fopen
Un peu normal.
| ma question est donc comment ouvrir un fichier dans un module. | idem pour mapp
Un module n'a pas à faire ça. À la rigueur tu peux utiliser les fonctions exportées par le VFS pour ouvrir le fichier, mais franchement c'est pas recommandé.
Que veux-tu faire avec ton module ?
Thomas -- /* * We used to try various strange things. Let's not. */ 2.2.16 /usr/src/linux/fs/buffer.c
Tu n'avais pas mis de fu2. Je le positionne sur fcou : ce n'est pas de
la config Linux.
Le mer 02 fév 2005 à 18:18, Kakrocq a tapoté :
| Suite a la question que j'ai posé sur mmap et shmem je mes pose une
| question sur les modules.
| J'ai essayé d'intégrer donc une ouverture d'un fichier dans un module il
| semble que je ne peux pas utiliser la librairie C .
Tout à fait. Tu ne peux utiliser que les fonctions offertes par
le noyau.
| par exemple , si j'ajoute
| #include <sys/types.h>
Erf... Un include de la libc.
| j'ai alors des erreurs de compilation .
| J'ai alors essayer fopen la compilation marche mais lorsque je lance
fopen fait partie de la libc.
| insmod monmodule.o j'ai alors
| monmodule.o unresolved symbol fopen
Un peu normal.
| ma question est donc comment ouvrir un fichier dans un module.
| idem pour mapp
Un module n'a pas à faire ça. À la rigueur tu peux utiliser
les fonctions exportées par le VFS pour ouvrir le fichier,
mais franchement c'est pas recommandé.
Que veux-tu faire avec ton module ?
Thomas
--
/*
* We used to try various strange things. Let's not.
*/
2.2.16 /usr/src/linux/fs/buffer.c
Tu n'avais pas mis de fu2. Je le positionne sur fcou : ce n'est pas de la config Linux.
Le mer 02 fév 2005 à 18:18, Kakrocq a tapoté : | Suite a la question que j'ai posé sur mmap et shmem je mes pose une | question sur les modules. | J'ai essayé d'intégrer donc une ouverture d'un fichier dans un module il | semble que je ne peux pas utiliser la librairie C .
Tout à fait. Tu ne peux utiliser que les fonctions offertes par le noyau.
| par exemple , si j'ajoute | #include <sys/types.h>
Erf... Un include de la libc.
| j'ai alors des erreurs de compilation . | J'ai alors essayer fopen la compilation marche mais lorsque je lance
fopen fait partie de la libc.
| insmod monmodule.o j'ai alors | monmodule.o unresolved symbol fopen
Un peu normal.
| ma question est donc comment ouvrir un fichier dans un module. | idem pour mapp
Un module n'a pas à faire ça. À la rigueur tu peux utiliser les fonctions exportées par le VFS pour ouvrir le fichier, mais franchement c'est pas recommandé.
Que veux-tu faire avec ton module ?
Thomas -- /* * We used to try various strange things. Let's not. */ 2.2.16 /usr/src/linux/fs/buffer.c