2009-09-24 7 views
3

Je veux être en mesure d'inspecter le matériel de ma machine Linux en C. Comment obtenir les informations qui apparaissent dans dmesg dans C? Par exemple, pour le clavier, le message est entré: AT Translated Set 2 clavier comme/devices/platform/i8042/serio0/input/input0 Je veux obtenir dans mon programme l'étiquette, AT Translated Set 2, et le chemin,/appareils/plateforme/i8042/serio0/entrée/entrée0. Une idée de comment le faire?Reconnaissance matérielle dans l'espace utilisateur Linux

amit

Répondre

4

Vous pouvez également consulter le contenu des fichiers/proc./Proc/version,/proc/ioports,/proc/iomem,/proc/meminfo, et d'autres ont beaucoup d'informations en eux.

Les fichiers sous/proc/bus contiennent des informations supplémentaires sur les périphériques matériels du système.

Je vous recommande également de regarder le code source pour usbutils et pciutils par exemple du code pour obtenir la sortie des commandes lsusb et lspci respectivement.

0

Il utilise l'appel klogctl.

La meilleure chose est de lire le code source vous-même, il peut être téléchargé ici: util-linux

+0

Je ne veux pas l'utilisation dmesg. Je veux faire l'info sans la requête dmesg – amitp

0

Vous souhaitez utiliser libhal et vous connecter au démon hal. Si HAL n'est pas là, recherchez une partition sysfs montée. Consultez/sys/devices ou retournez dans/sys/bus.

Si ni HAL ni sysfs ne sont disponibles, reconsidérez votre approche ou restreignez votre portée.

Questions connexes