Contents

D4yvid/swift-udev

An "udev" library wrapper for Swift

Usage

Begin by creating a new Devices class, if you need to watch events, you can create a DeviceMonitor using makeMonitor(), or if you want a device enumerator only, you can create a DeviceEnumerator using makeEnumerator().

import UDev

let devices = try! Devices()
let enumerator = try! devices.makeEnumerator()

_ = enumerator.match(subsystem: "usb") // Match the USB subsystem

let devices: [Device] = enumerator.enumerate() // Use all devices enumerated

let monitor = try! devices.makeMonitor()

monitor.fileDescriptor // Int
monitor.fileHandle     // FileHandle

Adding `swift-udev` as a dependency

Add into your Package.swift:

// swift-tools-version: 6.1
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    /// ... other fields
    dependencies: [
        .package(url: "https://github.com/D4yvid/swift-udev", from: "1.0.0"),
    ],

    targets: [
        .target( /// Can be `executableTarget`
            name: "<udev-needed-target>",
            dependencies: [
                /// Other dependencies

                .product(name: "UDev", package: "swift-udev"),
            ],
        ),

        /// ... other targets
    ]
)

Testing

You can run swift test to test if the library is working properly in your system. The tests will enumerate all hardware in your system, USB devices, etc. See Tests/

$ swift test

Package Metadata

Repository: D4yvid/swift-udev

Stars: 1

Forks: 0

Open issues: 0

Default branch: stable

Primary language: swift

License: MIT

README: README.md