婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Linux如何使用libudev獲取USB設備VID及PID

Linux如何使用libudev獲取USB設備VID及PID

熱門標簽:江蘇自動外呼系統一般多少錢 信貸電銷機器人系統 400 電話 申請費用 鸚鵡螺號航海地圖標注時間 山東電信外呼系統靠譜嗎 ai電話機器人營銷 比較穩定的外呼系統 長沙回撥外呼系統 云南云電銷機器人招商

在本文將使用libudev庫來訪問hidraw的設備。通過libudev庫,我們可以查詢設備的廠家ID(Vendor ID, VID),產品ID(Product ID, PID),序列號和設備字符串等而不需要打開設備。進一步,libudev可以告訴我們在/dev目錄下設備節點的具體位置路徑,為應用程序提供一種具有足夠魯棒性而又和系統廠家獨立的訪問設備的方式。使用libudev庫,需要包含libudev.h頭文件,并且在編譯時加上-ludev告訴編譯器去鏈接udev庫。

將列出當前連接在系統中的所有hidraw設備,并且輸出它們的設備節點路徑、生產商、序列號等信息。

為了獲取這些信息,需要創建一個udev_enumerate對象,其中“hidraw”字符串作為過濾條件,

libudev將返回所有匹配這個過濾字符串的udev_device對象。

這個列子的步驟如下:

1、 初始化庫,獲取一個struct udev句柄

2、枚舉設備

3、對找到的匹配設備輸出它的節點名稱,找到實際USB設備的起始節點,打印出USB設備的IDs和序列號等,最后解引用設備對象

4、解引用枚舉對象

5、解引用udev對象

具體代碼如下:

#include <libudev.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <unistd.h>

int main (void)
{
  struct udev *udev;
  struct udev_enumerate *enumerate;
  struct udev_list_entry *devices, *dev_list_entry;
  struct udev_device *dev;

  /* Create the udev object */
  udev = udev_new();
  if (!udev) {
    printf("Can't create udev\n");
    exit(1);
  }

  /* Create a list of the devices in the 'hidraw' subsystem. */
  enumerate = udev_enumerate_new(udev);
  udev_enumerate_add_match_subsystem(enumerate, "hidraw");
  udev_enumerate_scan_devices(enumerate);
  devices = udev_enumerate_get_list_entry(enumerate);
  /* For each item enumerated, print out its information.
    udev_list_entry_foreach is a macro which expands to
    a loop. The loop will be executed for each member in
    devices, setting dev_list_entry to a list entry
    which contains the device's path in /sys. */
  udev_list_entry_foreach(dev_list_entry, devices) {
    const char *path;

    /* Get the filename of the /sys entry for the device
      and create a udev_device object (dev) representing it */
    path = udev_list_entry_get_name(dev_list_entry);
    dev = udev_device_new_from_syspath(udev, path);

    /* usb_device_get_devnode() returns the path to the device node
      itself in /dev. */
    printf("Device Node Path: %s\n", udev_device_get_devnode(dev));

    /* The device pointed to by dev contains information about
      the hidraw device. In order to get information about the
      USB device, get the parent device with the
      subsystem/devtype pair of "usb"/"usb_device". This will
      be several levels up the tree, but the function will find
      it.*/
    dev = udev_device_get_parent_with_subsystem_devtype(
         dev,
         "usb",
         "usb_device");
    if (!dev) {
      printf("Unable to find parent usb device.");
      exit(1);
    }

    /* From here, we can call get_sysattr_value() for each file
      in the device's /sys entry. The strings passed into these
      functions (idProduct, idVendor, serial, etc.) correspond
      directly to the files in the directory which represents
      the USB device. Note that USB strings are Unicode, UCS2
      encoded, but the strings returned from
      udev_device_get_sysattr_value() are UTF-8 encoded. */
    printf(" VID/PID: %s %s\n",
        udev_device_get_sysattr_value(dev,"idVendor"),
        udev_device_get_sysattr_value(dev, "idProduct"));
    printf(" %s\n %s\n",
        udev_device_get_sysattr_value(dev,"manufacturer"),
        udev_device_get_sysattr_value(dev,"product"));
    printf(" serial: %s\n",
        udev_device_get_sysattr_value(dev, "serial"));
    udev_device_unref(dev);
  }
  /* Free the enumerator object */
  udev_enumerate_unref(enumerate);

  udev_unref(udev);

  return 0;
}

編譯程序:

gcc -Wall -g -o udev_example udev_example.c -ludev

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:衡陽 運城 烏海 澳門 嘉興 齊齊哈爾 拉薩 亳州

巨人網絡通訊聲明:本文標題《Linux如何使用libudev獲取USB設備VID及PID》,本文關鍵詞  Linux,如何,使用,libudev,獲取,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Linux如何使用libudev獲取USB設備VID及PID》相關的同類信息!
  • 本頁收集關于Linux如何使用libudev獲取USB設備VID及PID的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美性感一区二区三区| 色嗨嗨av一区二区三区| 亚洲人成电影网站色mp4| 日韩西西人体444www| 91在线视频官网| 国产另类ts人妖一区二区| 亚洲综合色网站| 中文字幕中文在线不卡住| 亚洲精品久久久蜜桃| 久久久久久久网| 欧美国产一区视频在线观看| 中文字幕欧美一| 亚洲一区二区av在线| 性久久久久久久久久久久| 午夜不卡av在线| 久久精品国产亚洲一区二区三区| 卡一卡二国产精品| 成人深夜视频在线观看| 欧美色爱综合网| 久久欧美一区二区| 亚洲欧美偷拍另类a∨色屁股| 亚洲在线视频一区| 国产又粗又猛又爽又黄91精品| 国产精品88av| 欧美三级一区二区| 久久久久成人黄色影片| 亚洲国产精品天堂| 亚洲色大成网站www久久九九| 国产亚洲精久久久久久| 2020国产精品| 久久女同互慰一区二区三区| 26uuu久久天堂性欧美| 欧美成人精品1314www| 日韩你懂的在线观看| 欧美一区二区三区在线观看视频| 欧美酷刑日本凌虐凌虐| 99r国产精品| 日本精品视频一区二区三区| 色综合久久综合网欧美综合网 | 日本成人在线一区| 欧美乱妇一区二区三区不卡视频| 欧美三日本三级三级在线播放| ww亚洲ww在线观看国产| 午夜精品福利一区二区蜜股av | 狠狠色丁香九九婷婷综合五月| 亚洲色图欧美在线| 亚洲一卡二卡三卡四卡| 午夜精品爽啪视频| 美女在线一区二区| 国产伦理精品不卡| 不卡的av在线| 欧美午夜一区二区三区| 91麻豆精品国产91久久久更新时间| 日韩欧美中文一区| 国产亚洲精品资源在线26u| 国产精品国产三级国产普通话99 | 久久一区二区三区四区| 国产欧美一区二区精品婷婷| 最近中文字幕一区二区三区| 亚洲国产一区二区三区青草影视| 午夜精品视频一区| 国产精一品亚洲二区在线视频| 99久久伊人久久99| 欧美丝袜丝nylons| 久久亚洲精品小早川怜子| 综合网在线视频| 三级一区在线视频先锋| 国产成人免费在线观看不卡| 一本到一区二区三区| 91精品国产色综合久久不卡电影| 久久久久国产精品麻豆| 一区二区三区中文字幕| 精品亚洲porn| 日本大香伊一区二区三区| 日韩美女视频在线| 亚洲欧美在线另类| 青青青爽久久午夜综合久久午夜| 成人网男人的天堂| 91精品国产一区二区| 国产精品久久二区二区| 欧美日韩国产综合一区二区 | 亚洲国产视频直播| 欧美剧情片在线观看| 久久爱www久久做| 国产三级精品三级| 色哟哟一区二区在线观看| 亚洲一区二区三区四区在线免费观看 | 国产精品亲子乱子伦xxxx裸| 午夜电影一区二区| 91视频在线观看| 久久免费精品国产久精品久久久久| 亚洲女与黑人做爰| 国产真实乱偷精品视频免| 在线精品视频免费观看| 久久久www成人免费无遮挡大片 | 久久99国产乱子伦精品免费| 色综合久久综合网| 国产日韩欧美精品在线| 日本亚洲视频在线| 欧美性大战久久久久久久| 国产精品的网站| 国产乱码一区二区三区| 欧美tickling挠脚心丨vk| 国产一区二区在线免费观看| 最新欧美精品一区二区三区| 欧美一区二区三区四区久久| 国产sm精品调教视频网站| 日精品一区二区三区| 国产精品久久久久毛片软件| 久久久国产午夜精品 | 日韩欧美国产一二三区| 国产精品亚洲成人| 亚洲高清免费观看高清完整版在线观看| 欧美一级高清片| 一本久道中文字幕精品亚洲嫩| 久草在线在线精品观看| 亚洲国产日韩精品| 亚洲国产经典视频| 欧美一区二区三区免费大片 | 亚洲在线观看免费| 一本大道久久a久久综合| 日韩一区日韩二区| 99久久精品免费看国产 | 精久久久久久久久久久| 欧美一级视频精品观看| 免费在线看成人av| 欧美一区二区三区视频在线| 亚洲成人激情av| 91精品在线观看入口| 日本va欧美va精品发布| 欧美一级午夜免费电影| 久久精品国产免费| 久久久一区二区| 高清日韩电视剧大全免费| 国产精品免费久久久久| 日本一区二区高清| 99久久777色| 日本视频一区二区三区| 亚洲午夜电影网| 一区av在线播放| 亚洲乱码日产精品bd| 一区二区三区四区蜜桃| 亚洲欧美激情在线| 一区二区三区在线不卡| 一区二区国产视频| 亚洲成a天堂v人片| 亚洲成av人片在线观看| 亚洲成人自拍一区| 久久久久久一二三区| 久久丁香综合五月国产三级网站 | 亚洲一区在线观看视频| 宅男在线国产精品| 国产成人免费高清| 亚洲人成在线播放网站岛国| 欧美日韩国产一区| 国产剧情一区在线| 亚洲日本一区二区| 欧美一区二区视频观看视频| 国产精品99久久久久久久vr| 亚洲免费av高清| 日韩免费福利电影在线观看| 成人激情免费视频| 亚洲成人三级小说| 国产欧美一区二区在线| 91久久人澡人人添人人爽欧美| 欧美a级一区二区| 国产精品传媒在线| 91精品国产综合久久香蕉的特点| 国产成人午夜精品影院观看视频 | 五月天亚洲婷婷| 久久久99久久精品欧美| 91国产免费观看| 国产一区二区三区日韩| 亚洲男人天堂av| 2020日本不卡一区二区视频| 色婷婷久久久久swag精品| 久久精品99国产国产精| 亚洲男人的天堂在线观看| 欧美tickling网站挠脚心| 色婷婷国产精品| 国产精品一区三区| 日韩经典中文字幕一区| 懂色av一区二区三区免费看| 亚洲国产aⅴ成人精品无吗| 国产亚洲精品超碰| 欧美一区二区久久久| 日本久久一区二区三区| 国产成人综合精品三级| 日韩精品久久理论片| 亚洲另类春色校园小说| 久久精品夜色噜噜亚洲a∨| 欧美老女人在线| 91成人看片片| av亚洲精华国产精华精| 国产一区二区在线视频| 视频一区在线播放| 99精品国产热久久91蜜凸| 欧美日韩视频不卡| 亚洲卡通欧美制服中文| 国产91高潮流白浆在线麻豆 |