2015-10-28 64 views
-3

如何從用戶應用讀取sysfs屬性?它與貓命令類似的內容。比如我有一個標籤就是亮度。我如何獲得亮度標籤的價值?因爲我需要從我的應用程序讀取USB Infor和我看到他們被出口到sysfs的像下面的拓撲結構:如何讀取sysfs屬性

ls /sys/bus/usb/devices/1-1 
1-1:1.0    busnum    port 
authorized   configuration  power 
avoid_reset_quirk descriptors   product 
bConfigurationValue dev     quirks 
bDeviceClass   devnum    removable 
bDeviceProtocol  devpath    remove 
bDeviceSubClass  driver    serial 
bMaxPacketSize0  ep_00    speed 
bMaxPower   idProduct   subsystem 
bNumConfigurations idVendor    uevent 
bNumInterfaces  ltm_capable   urbnum 
bcdDevice   manufacturer   version 
bmAttributes   maxchild 
+0

所以,你在編程,而不是編程? – Olaf

+0

我正在爲USB設備寫一個模塊,所以我需要這樣做。 – Tiktac

回答

2

打開使用例如文件fopen("//sys/bus/usb/devices/1-1/version", "rt")並像其他文件一樣閱讀其內容。不知道亮度,你沒有提及它的文件,沒有這個名字的文件。

+0

我需要讀取/ sys/bus/usb/devices/1-1文件夾中的許多文件,如果我使用這種方式,我應該打開所有文件,因爲我需要?有沒有辦法打開/ sys/bus/usb/devices/1-1文件夾,但我可以讀取其中的所有內容? – Tiktac

+0

@Gun:'/ sys'下的任何文件在語義上都是一個常規文件。爲了閱讀它,你應該打開它,別無他法。通常,打開30個文件不是問題。 – Tsyvarev

+0

在對您的問題發表評論後,它看起來像是一個XY問題,並且您遇到了錯誤的方向。如果你真的想寫一個設備驅動程序,這肯定是錯誤的方法。 – Olaf