Giter Site home page Giter Site logo

usbdevicemonitoring's Introduction

UsbDeviceMonitoring

Monitoring usb devices. libudev example.

Пример использования библиотеки libudev. Тестировал на OpenSuse 15, AstraLinux 1.6.

  1. Основные функции:

udev_enumerate_new() - инициализирует поиск.

udev_enumerate_add_match_subsystem()

udev_enumerate_add_match_property() - функции, с помощью которых задается фильтр поиска.

udev_enumerate_scan_devices() - запуск сканирования (один раз).

udev_enumerate_get_list_entry() - получение результата сканирования.

udev_list_entry_get_name() - получение названия устройства.

udev_device_new_from_syspath() - получение самого устройства.

udev_device_get_action() - получает действие, совершенное устройством (add, remove, exists).

udev_monitor_new_from_netlink() - инициализирует мониторинг.

udev_monitor_filter_add_match_subsystem_devtype() - устанавливает фильтр мониторинга.

udev_monitor_enable_receiving() - запускает мониторинг.

udev_monitor_get_fd() - получает файл дескриптор, из которого можно отслеживать события.

  1. Получение свойств устройства:

udev_device_get_property_value() - получает значение заданного свойства

Список свойств usb устройства

BUSNUM

DEVNAME = /dev/bus/usb/001/013

DEVNUM

DEVPATH

DEVTYPE = usb_device

DRIVER = usb

ID_BUS

ID_MODEL = Mass_Storage

ID_MODEL_ENC

ID_MODEL_FROM_DATABASE = Flash Drive - берется из файла /var/lib/usbutils/usb.ids (поставляется в пакете usbutils)

ID_MODEL_ID = 6387

ID_REVISION

ID_SERIAL - полный серийный номер usb устройства

ID_SERIAL_SHORT - короткий серийный номер usb устройства

ID_USB_INTERFACES

ID_VENDOR

ID_VENDOR_ENC

ID_VENDOR_FROM_DATABASE = Alcor Micro Corp - берется из файла /var/lib/usbutils/usb.ids

ID_VENDOR_ID = 058f

MAJOR

MINOR

PRODUCT

SUBSYSTEM = usb

TYPE

USEC_INITIALIZED

net.ifnames
  1. Список свойств файла устройства usb (неполный)
DEVLINKS

DEVNAME = /dev/sdb

DEVPATH

DEVTYPE = disk

ID_BUS = usb

ID_FS_LABEL

ID_FS_TYPE

ID_FS_UUID

ID_MODEL = Flash_Disk

ID_MODEL_ID = 6387

ID_PART_TABLE_TYPE = dos

ID_SERIAL

ID_SERIAL_SHORT

ID_USB_DRIVER = usb-storage

ID_VENDOR_ID = 058f

SUBSYSTEM = block

usbdevicemonitoring's People

Contributors

fedotov2a avatar

Watchers

James Cloos avatar

Forkers

jiangxll

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.