#wayland-protocol #bindings #wayland-client #protocols #api-bindings #extension #libwayland

sys wayland-sys

FFI bindings to the various libwayland-*.so libraries. You should only need this crate if you are working on custom wayland protocol extensions. Look at the crate wayland-client for usable bindings.

144 releases

0.31.5 Sep 4, 2024
0.31.4 Jul 16, 2024
0.31.2 May 31, 2024
0.31.1 Jul 13, 2023
0.2.0 Nov 9, 2015

#65 in Network programming

Download history 127643/week @ 2024-07-20 118680/week @ 2024-07-27 117358/week @ 2024-08-03 144213/week @ 2024-08-10 121739/week @ 2024-08-17 138864/week @ 2024-08-24 129804/week @ 2024-08-31 132855/week @ 2024-09-07 124350/week @ 2024-09-14 136900/week @ 2024-09-21 141095/week @ 2024-09-28 125630/week @ 2024-10-05 132164/week @ 2024-10-12 134531/week @ 2024-10-19 137537/week @ 2024-10-26 112367/week @ 2024-11-02

536,075 downloads per month
Used in 1,163 crates (20 directly)

MIT license

34KB
577 lines

crates.io docs.rs Continuous Integration codecov

wayland-sys

This crate provides raw bindings to the system libwayland-*.so libraries. If you are looking for a Rust API over the Wayland protocol, see the wayland-client or wayland-server crates instead.

Bindings to the different libraries are enabled by the different cargo features:

  • client for bindings to libwayland-client.so
  • server for bindings to libwayland-server.so
  • cursor for bindings to libwayland-cursor.so
  • egl for bindings to libwayland-egl.so

Furthermore, the dlopen cargo feature will switch the library to a mode where, instead of directly linking to these system libraries, it'll instead try to open them at runtime. This allows to create binaries that can gracefully handle being run on non-Wayland environments. In that case the crate should be used with its provided ffi_dispatch!() macro, to support both modes seamlessly.

Dependencies

~0.2–4.5MB