Bonsoir,
J'ai déjà posé ma question dans la section Programmation-C mais je viens la poser également ici car je crains que la réponse à mon problème ne soit pas que C.
Je souhaite effectuer la détection de l'insertion d'un disque dans un ( ou plusieurs) lecteurs , et également détecter l'éjection de ce même disque.
Il faudrait pour cela que je puisse récupérer par je ne sais quel moyen des notifications ( sous forme d'événement ou autre) qui me permettrait d'appeler des callbacks.
Seulement, je n'ai pas trouvé suffisamment de documentation sur internet me permettant d'effectuer ce que je souhaite.
J'ai trouvé la bibliothèque inotify qui me permet de récupérer des événements sur l'état d'un fichier ( ouverture, modification, déplacement , suppression etc ...) mais je ne sais pas si je peux appliquer cette règle à un fichier de périphérique.
Par exemple, je pourrais configurer udev pour lui indiquer de me créer un noeud de périphérique bien précis à l'insertion d'un disque, et de me le supprimer à l'éjection. Puis je fais un monitoring avec inotify sur ce fichier de périphérique, et sa présence ou non m'indiquerait que le disque est présent ou non.
Peut-on faire ça avec udev ?
J'aimerais faire également la différence entre l'insertion d'un disque dans un lecteur existant, et également l'insertion d'un nouveau lecteur (généralement usb)
Enfin,est-il possible de fixer une règle qui va me nommer mes disques détectés dans l'ordre d'apparition, par exemple /dev/dvd1 , /dev/dvd2 etc ... ou bien une règle qui va me mettre toujours le même numéro en fonction du lecteur physique dans lequel le disque est inséré ( l'une et l'autre sont contradictoire, je choisirai celle qui sera la plus appropriée à mon projet ).
Avez-vous des pistes ou de la littérature à me conseiller, car je ne vois vraiment pas comment m'y prendre ( je n'ai pas encore la possibilité de me créer une maquette pour faire des tests, je commence déjà par récolter des informations pour évaluer la faisabilité).
Merci d'avance