• [^] # Re: Vous devez entrer un sujet et un commentaire

    Posté par . En réponse au journal Linux ou POSIX ?. Évalué à 7.


    Est-ce que tu sais si cette doc est à jour ?
    http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev(...)


    Si tu lis cette doc (plutot que de googler et balancer direct le lien), ce n'est que pour le code 'utilisateur' d'udev, elle ne parle pas du tout des évenements DBUS ni du fonctionnement interne, il manque quelque chose comme http://upower.freedesktop.org/docs/ref-dbus.html. Un truc qui montre ce qui se passe lors de l'insertion/suppression de perifs (matching de pci/usb ids pour trouver la classe/type, etc..). Quand je parle de reverse-engineerer, ca va etre faire tourner une ubuntu sur une clef usb, et regarder ce qui passe sur DBUS avec dbus-monitor.

    et quand je vois

    const char * udev_get_sys_path (struct udev *udev);
    Retrieve the sysfs mount point. The default is "/sys".

    Qu'on vienne pas me dire que c'est portable.

    C'est beaucoup plus simple pour moi de faire un faux udev en shell qui balance des événements DBUS lors de l'insertion de périphériques (chose qui peut se scripter avec hotplugd sous OpenBSD, avec devd sous FreeBSD, etc..) que de faire un udevd en code C qui se pluggue sur le code kernel correspondant. L'udevd existant utilise énormement de linuxeries (les sockets netlink + sock_filter, des flags d'open() ....)