WIP: usbredir rust bindings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Just to let you know that I started a usbredir binding to Rust: https://gitlab.freedesktop.org/elmarco/usbredir-rs

Atm, it compiles with a custom rusb. I have some MR there (https://github.com/a1ien/rusb/pull/97 & https://github.com/a1ien/rusb/pull/101)

See the example: https://gitlab.freedesktop.org/elmarco/usbredir-rs/-/blob/main/usbredirhost/examples/usbredir.rs

Atm, I pass an open fd with bash for testing, ex:
exec 3<>/dev/tcp/localhost/7777
target/debug/examples/usbredir '1050:0407' --fd 3

Next, it could be extended this with [--tcp host:port], [--unix path], [-l|--listen]. Then I suppose it will be close to https://gitlab.freedesktop.org/spice/usbredir/-/blob/master/tools/usbredirect.c

(Note that the Rust code doesn't use poll(), since it isn't portable. See https://libusb.sourceforge.io/api-1.0/group__libusb__poll.html#libusb_pollmain. The libusb/usbredir APIs don't make it easy to handle events..)

Marc-André Lureau

[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]