awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
libusb avatar

libusb/libusb

0
View on GitHub↗
6,085 stele·2,053 fork-uri·C·LGPL-2.1·5 vizualizărilibusb.info↗

Libusb

libusb is a cross-platform user-space library that provides a consistent C API for discovering, configuring, and communicating with USB devices from applications. It abstracts operating-system-specific USB driver details behind a single interface that works on Linux, macOS, Windows, and other platforms, enabling developers to write portable USB code without platform-specific knowledge.

The library supports both synchronous and asynchronous I/O models for USB transfers. Synchronous operations block the calling thread until a transfer completes, offering a straightforward sequential programming model, while asynchronous operations start non-blocking transfers and invoke a user-supplied callback upon completion, enabling concurrent data flows. All functions return negative integer error codes that map to documented constants, allowing callers to diagnose failures without exceptions. The library also provides structured diagnostic output to standard error, activated through an API call or environment variable, to aid troubleshooting.

For device management, libusb includes a hotplug event polling mechanism that monitors system device notifications on supported platforms and fires a registered callback when a USB device is attached or removed during runtime. The library handles control, bulk, interrupt, and isochronous transfer types, routing each through separate code paths that match the USB protocol’s timing and data rules.

Features

  • USB Device Communication - Provides a cross-platform C API for control, bulk, interrupt, and isochronous USB data transfers.
  • USB Endpoint Transfers - Sends control, bulk, interrupt, and isochronous data between a host and USB device via endpoint transfers.
  • Asynchronous USB Transfer Engines - Starts non-blocking USB I/O operations that notify completion via callbacks for greater concurrency.
  • Cross-Platform USB Access - Provides a consistent C API for discovering and communicating with USB devices across Linux, macOS, and Windows.
  • USB - Enables non-blocking USB data transfers with completion notification for concurrent application designs.
  • USB Asynchronous Transfers - Provides non-blocking USB transfers with callback-based completion notification for concurrent application designs.
  • Synchronous Blocking I/O - Provides synchronous blocking USB transfers for a straightforward sequential programming interface.
  • USB Synchronous Transfers - Runs USB I/O operations that block until completion, providing a simple sequential programming model.
  • Platform Abstraction Layers - Hides OS-specific USB driver details behind a single C API that works across Linux, macOS, and Windows.
  • Cross-Platform USB Libraries - Provides a consistent user-space API to discover, configure, and communicate with USB devices across operating systems.
  • Transfer Type Routing - Routes control, bulk, interrupt, and isochronous requests through separate code paths matching USB protocol rules.
  • USB Error Diagnosis - Interprets negative error codes from USB operations to identify and troubleshoot device communication failures.
  • USB Error Code Mappings - Maps negative error codes from USB function calls to documented constants for diagnosing device communication failures.
  • Hotplug Callback Registration - Triggers registered callbacks when USB devices are attached or removed on supported platforms during runtime.
  • Runtime Hotplug Detection - Receives notifications when USB devices are attached or removed from the system during runtime via polling.
  • USB Hotplug Event Handlers - Implements a hotplug polling mechanism that fires callbacks when USB devices are attached or removed during runtime.
  • USB Hotplug Polling - Monitors system device notifications and fires callbacks when USB devices are attached or removed during runtime.
  • Negative Error Code Returns - Returns negative integer error codes from all functions, enabling callers to diagnose failures without exceptions.
  • USB Error Code Interpreters - Ships a convention of returning negative error codes that map to documented constants for diagnosing USB communication failures.
  • Sisteme embedded - User-space USB communication library.
  • General Libraries - Generic access library for USB devices.

Istoric stele

Graficul istoricului de stele pentru libusb/libusbGraficul istoricului de stele pentru libusb/libusb

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Întrebări frecvente

Ce face libusb/libusb?

libusb is a cross-platform user-space library that provides a consistent C API for discovering, configuring, and communicating with USB devices from applications. It abstracts operating-system-specific USB driver details behind a single interface that works on Linux, macOS, Windows, and other platforms, enabling developers to write portable USB code without platform-specific knowledge.

Care sunt principalele funcționalități ale libusb/libusb?

Principalele funcționalități ale libusb/libusb sunt: USB Device Communication, USB Endpoint Transfers, Asynchronous USB Transfer Engines, Cross-Platform USB Access, USB, USB Asynchronous Transfers, Synchronous Blocking I/O, USB Synchronous Transfers.

Care sunt câteva alternative open-source pentru libusb/libusb?

Alternativele open-source pentru libusb/libusb includ: hathach/tinyusb — TinyUSB. idescriptor/idescriptor — iDescriptor is a suite of specialized tools for managing, diagnosing, and interacting with iOS devices. It provides a… cnlohr/rawdrawandroid — rawdrawandroid is a framework for building Android applications using C and Make. It provides a native development… blacktop/ipsw — ipsw is a specialized toolkit for iOS firmware analysis, binary reverse engineering, and hardware interaction. It… embassy-rs/embassy — Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It… microsoft/windows-universal-samples — This repository is a comprehensive collection of reference implementations and sample libraries for the Universal…

Alternative open-source pentru Libusb

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Libusb.
  • hathach/tinyusbAvatar hathach

    hathach/tinyusb

    6,524Vezi pe GitHub↗

    TinyUSB

    Cembeddedmidimsc
    Vezi pe GitHub↗6,524
  • blacktop/ipswAvatar blacktop

    blacktop/ipsw

    3,163Vezi pe GitHub↗

    ipsw is a specialized toolkit for iOS firmware analysis, binary reverse engineering, and hardware interaction. It provides a suite of tools for downloading, extracting, and analyzing firmware images and kernel caches, alongside a MachO binary analysis tool for disassembling and patching executables. The project distinguishes itself through integrated language-model-powered code reconstruction to translate machine code into high-level source code. It also features an automation client for the App Store Connect API to manage certificates and application settings. The framework covers a broad r

    Goappleclass-dumpdyld
    Vezi pe GitHub↗3,163
  • cnlohr/rawdrawandroidAvatar cnlohr

    cnlohr/rawdrawandroid

    4,281Vezi pe GitHub↗

    rawdrawandroid is a framework for building Android applications using C and Make. It provides a native development system that compiles source code into standalone executable packages, bypassing the standard Java or Kotlin toolchains and virtual machines. The project features a native UI toolkit for creating hardware-accelerated graphics windows and a dedicated hardware interface for direct communication with USB peripherals and onboard sensors. It utilizes a containerized build environment to ensure consistent compilation and signing of binaries without requiring local toolchain installation

    C
    Vezi pe GitHub↗4,281
  • embassy-rs/embassyAvatar embassy-rs

    embassy-rs/embassy

    8,813Vezi pe GitHub↗

    Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It enables the execution of multiple concurrent tasks to maximize energy efficiency and CPU usage, utilizing an async executor that puts the processor to sleep when idle. The framework includes a comprehensive set of embedded components, featuring a hardware abstraction layer for peripherals like GPIO, SPI, I2C, and UART, alongside a TCP/IP network stack and a USB device stack. It also provides a Bluetooth Low Energy host stack for wireless communication and a bootloader framework t

    Rustasyncdriversembedded
    Vezi pe GitHub↗8,813
  • Vezi toate cele 30 alternative pentru Libusb→