Bonjour,
Je suis entrain de développer une API qui doit faire en sorte que tous les appels systèmes agissant sur le système de fichiers se fassent à distance (rpc ou socket). Pour ce faire, je dois redéfiir les appels systèmes open, write, read... ce qui est déjà fait. Par contre pour le code user, rien ne doit être modifié, excepté au pire des cas, l'ajout d'une directive include, et la recompilation des sources en les linkant avec ma librairie.
Ce que j'ai essayé de faire, c'est de faire des remplacement par le préprocesseur de tous ces appels par des appels correspondant à ma librairie :
Ceci, fonctionne correctement. Seulement, dès qu'il s'agit d'appels de fonctions de la libc faisant des appels systèmes, ce sont les versions originales qui sont utilisées, ce qui est normal car le printf par exemple ne voit jamais mon #define write my_write.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2#define write my_write
Comment pourrais-je faire ?
Merci d'avance !
Partager