diff options
author | Jan Beich <jbeich@FreeBSD.org> | 2023-10-08 05:28:38 +0000 |
---|---|---|
committer | Jan Beich <jbeich@FreeBSD.org> | 2023-10-08 17:13:11 +0000 |
commit | 9c96a7ef7ceddb289cb70dcd45d6700d61a54621 (patch) | |
tree | 80d9ca5dcf660d4d22ef1b80638911e80333a8b0 /x11/xdg-desktop-portal-luminous | |
parent | a78610c737b73aaace15261a51d66463307d5c7a (diff) | |
download | ports-9c96a7ef7ceddb289cb70dcd45d6700d61a54621.tar.gz ports-9c96a7ef7ceddb289cb70dcd45d6700d61a54621.zip |
x11/xdg-desktop-portal-luminous: add new port
An alternative to xdg-desktop-portal-wlr for wlroots compositors.
This project is a stand alone binary and does not depend on grim.
libwayshot is used as the screencopy backend to enable screenshots.
https://github.com/waycrate/xdg-desktop-portal-luminous
Diffstat (limited to 'x11/xdg-desktop-portal-luminous')
-rw-r--r-- | x11/xdg-desktop-portal-luminous/Makefile | 47 | ||||
-rw-r--r-- | x11/xdg-desktop-portal-luminous/Makefile.crates | 523 | ||||
-rw-r--r-- | x11/xdg-desktop-portal-luminous/distinfo | 1049 | ||||
-rw-r--r-- | x11/xdg-desktop-portal-luminous/files/patch-drm-sys | 6727 | ||||
-rw-r--r-- | x11/xdg-desktop-portal-luminous/files/patch-pipewire-i386 | 53 | ||||
-rw-r--r-- | x11/xdg-desktop-portal-luminous/files/patch-pipewire_init | 59 | ||||
-rw-r--r-- | x11/xdg-desktop-portal-luminous/pkg-descr | 3 |
7 files changed, 8461 insertions, 0 deletions
diff --git a/x11/xdg-desktop-portal-luminous/Makefile b/x11/xdg-desktop-portal-luminous/Makefile new file mode 100644 index 000000000000..74fbac64fb07 --- /dev/null +++ b/x11/xdg-desktop-portal-luminous/Makefile @@ -0,0 +1,47 @@ +PORTNAME= xdg-desktop-portal-luminous +DISTVERSIONPREFIX= v +DISTVERSION= 0.1.1 +CATEGORIES= x11 wayland + +MAINTAINER= jbeich@FreeBSD.org +COMMENT= xdg-desktop-portal backend for wlroots +WWW= https://github.com/waycrate/xdg-desktop-portal-luminous + +LICENSE= BSD2CLAUSE +LICENSE_FILE= ${WRKSRC}/LICENSE + +BROKEN= https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273258 +BROKEN_FreeBSD_12= ld: error: undefined symbol: memfd_create + +LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire \ + libxkbcommon.so:x11/libxkbcommon +RUN_DEPENDS= slurp:x11/slurp + +USES= cargo llvm meson pkgconfig +USE_GITHUB= yes +GH_ACCOUNT= waycrate +MAKE_ENV= ${CARGO_ENV} +CARGO_BUILD= no +CARGO_INSTALL= no +CARGO_TEST= no +PLIST_FILES= lib/systemd/user/${PORTNAME}.service \ + libexec/${PORTNAME} \ + share/dbus-1/services/org.freedesktop.impl.portal.desktop.luminous.service \ + share/xdg-desktop-portal/portals/luminous.portal + +post-patch: + @${REINPLACE_CMD} -e 's,"llvm-config,"${LLVM_CONFIG},' \ + ${WRKSRC_crate_clang-sys}/build/common.rs \ + ${WRKSRC_crate_clang-sys}/src/support.rs +# Make each cargo subcommand very verbose +# Add explicit <triple> subdir for --target from USES=cargo +# Adjust for CARGO_TARGET_DIR outside of meson.global_source_root() + @${REINPLACE_CMD} -e "/cargo.*build/s/$$/ '--verbose', '--verbose',/" \ + -e "/cp/s,'target','..' / & / '${CARGO_BUILD_TARGET}'," \ + ${WRKSRC}/meson.build +# XXX Drop after deskutils/xdg-desktop-portal >= 1.17.0 update +# https://github.com/flatpak/xdg-desktop-portal/commit/939f0b0fcec6 + @${ECHO_CMD} 'UseIn=wlroots;sway;Wayfire;river;phosh;Hyprland;' \ + >>${WRKSRC}/misc/luminous.portal + +.include <bsd.port.mk> diff --git a/x11/xdg-desktop-portal-luminous/Makefile.crates b/x11/xdg-desktop-portal-luminous/Makefile.crates new file mode 100644 index 000000000000..72dcab54c1ef --- /dev/null +++ b/x11/xdg-desktop-portal-luminous/Makefile.crates @@ -0,0 +1,523 @@ +CARGO_CRATES= ab_glyph-0.2.22 \ + ab_glyph_rasterizer-0.1.8 \ + accesskit-0.11.2 \ + accesskit_consumer-0.15.2 \ + accesskit_macos-0.9.0 \ + accesskit_unix-0.5.2 \ + accesskit_windows-0.14.3 \ + accesskit_winit-0.14.4 \ + addr2line-0.21.0 \ + adler-1.0.2 \ + ahash-0.8.3 \ + aho-corasick-1.1.1 \ + android-activity-0.4.3 \ + android-properties-0.2.2 \ + anyhow-1.0.75 \ + arrayref-0.3.7 \ + arrayvec-0.7.4 \ + as-raw-xcb-connection-1.0.0 \ + async-broadcast-0.5.1 \ + async-channel-1.9.0 \ + async-executor-1.5.4 \ + async-fs-1.6.0 \ + async-io-1.13.0 \ + async-lock-2.8.0 \ + async-process-1.8.1 \ + async-recursion-1.0.5 \ + async-signal-0.2.3 \ + async-task-4.4.1 \ + async-trait-0.1.73 \ + atomic-polyfill-1.0.3 \ + atomic-waker-1.1.2 \ + atspi-0.10.1 \ + atspi-macros-0.2.0 \ + auto_enums-0.8.2 \ + autocfg-1.1.0 \ + backtrace-0.3.69 \ + base64-0.21.4 \ + bindgen-0.66.1 \ + bindgen-0.68.1 \ + bit_field-0.10.2 \ + bitflags-1.3.2 \ + bitflags-2.4.0 \ + block-0.1.6 \ + block-buffer-0.10.4 \ + block-sys-0.1.0-beta.1 \ + block2-0.2.0-alpha.6 \ + blocking-1.4.1 \ + bumpalo-3.14.0 \ + by_address-1.1.0 \ + bytemuck-1.14.0 \ + bytemuck_derive-1.5.0 \ + byteorder-1.5.0 \ + bytes-1.5.0 \ + calloop-0.10.6 \ + calloop-0.11.0 \ + cc-1.0.83 \ + cexpr-0.6.0 \ + cfg-expr-0.15.5 \ + cfg-if-1.0.0 \ + cfg_aliases-0.1.1 \ + cgl-0.3.2 \ + clang-sys-1.6.1 \ + clipboard-win-3.1.1 \ + clru-0.6.1 \ + cocoa-0.24.1 \ + cocoa-0.25.0 \ + cocoa-foundation-0.1.2 \ + codemap-0.1.3 \ + codemap-diagnostic-0.1.2 \ + color_quant-1.1.0 \ + concurrent-queue-2.3.0 \ + const-field-offset-0.1.3 \ + const-field-offset-macro-0.1.3 \ + convert_case-0.4.0 \ + convert_case-0.6.0 \ + cookie-factory-0.3.2 \ + copypasta-0.8.2 \ + core-foundation-0.9.3 \ + core-foundation-sys-0.8.4 \ + core-graphics-0.22.3 \ + core-graphics-0.23.1 \ + core-graphics-types-0.1.2 \ + core-text-19.2.0 \ + countme-3.0.1 \ + cpp-0.5.9 \ + cpp_build-0.5.9 \ + cpp_common-0.5.9 \ + cpp_macros-0.5.9 \ + cpufeatures-0.2.9 \ + crc32fast-1.3.2 \ + critical-section-1.1.2 \ + crossbeam-channel-0.5.8 \ + crossbeam-deque-0.8.3 \ + crossbeam-epoch-0.9.15 \ + crossbeam-utils-0.8.16 \ + crunchy-0.2.2 \ + crypto-common-0.1.6 \ + css-color-parser2-1.0.1 \ + csscolorparser-0.6.2 \ + ctor-0.2.5 \ + data-url-0.2.0 \ + derivative-2.2.0 \ + derive_more-0.99.17 \ + derive_utils-0.13.2 \ + digest-0.10.7 \ + dispatch-0.2.0 \ + dlib-0.5.2 \ + downcast-rs-1.2.0 \ + drm-0.9.0 \ + drm-ffi-0.5.0 \ + drm-fourcc-2.2.0 \ + drm-sys-0.4.0 \ + dunce-1.0.4 \ + dwrote-0.11.0 \ + either-1.9.0 \ + enumflags2-0.7.8 \ + enumflags2_derive-0.7.8 \ + equivalent-1.0.1 \ + errno-0.3.4 \ + errno-dragonfly-0.1.2 \ + euclid-0.22.9 \ + event-listener-2.5.3 \ + event-listener-3.0.0 \ + exr-1.71.0 \ + fastrand-1.9.0 \ + fastrand-2.0.1 \ + fdeflate-0.3.0 \ + femtovg-0.7.1 \ + field-offset-0.3.6 \ + filetime-0.2.22 \ + flate2-1.0.27 \ + float-cmp-0.9.0 \ + flume-0.11.0 \ + fnv-1.0.7 \ + fontconfig-parser-0.5.3 \ + fontdb-0.14.1 \ + fontdue-0.7.3 \ + foreign-types-0.3.2 \ + foreign-types-0.5.0 \ + foreign-types-macros-0.2.3 \ + foreign-types-shared-0.1.1 \ + foreign-types-shared-0.3.1 \ + form_urlencoded-1.2.0 \ + fsevent-sys-4.1.0 \ + futures-0.3.28 \ + futures-channel-0.3.28 \ + futures-core-0.3.28 \ + futures-executor-0.3.28 \ + futures-io-0.3.28 \ + futures-lite-1.13.0 \ + futures-macro-0.3.28 \ + futures-sink-0.3.28 \ + futures-task-0.3.28 \ + futures-util-0.3.28 \ + gbm-0.12.0 \ + gbm-sys-0.2.2 \ + generational-arena-0.2.9 \ + generic-array-0.14.7 \ + gethostname-0.2.3 \ + gethostname-0.3.0 \ + getrandom-0.2.10 \ + gif-0.12.0 \ + gimli-0.28.0 \ + gl_generator-0.14.0 \ + glob-0.3.1 \ + glow-0.12.3 \ + glutin-0.30.10 \ + glutin-winit-0.3.0 \ + glutin_egl_sys-0.5.1 \ + glutin_glx_sys-0.4.0 \ + glutin_wgl_sys-0.4.0 \ + half-2.2.1 \ + hashbrown-0.12.3 \ + hashbrown-0.13.2 \ + hashbrown-0.14.1 \ + heck-0.4.1 \ + hermit-abi-0.3.3 \ + hex-0.4.3 \ + home-0.5.5 \ + i-slint-backend-linuxkms-1.2.2 \ + i-slint-backend-qt-1.2.2 \ + i-slint-backend-selector-1.2.2 \ + i-slint-backend-winit-1.2.2 \ + i-slint-common-1.2.2 \ + i-slint-compiler-1.2.2 \ + i-slint-core-1.2.2 \ + i-slint-core-macros-1.2.2 \ + i-slint-renderer-femtovg-1.2.2 \ + i-slint-renderer-skia-1.2.2 \ + idna-0.4.0 \ + image-0.24.7 \ + imagesize-0.12.0 \ + imgref-1.9.4 \ + indexmap-2.0.2 \ + inotify-0.9.6 \ + inotify-sys-0.1.5 \ + input-0.8.3 \ + input-sys-1.17.0 \ + instant-0.1.12 \ + integer-sqrt-0.1.5 \ + io-lifetimes-1.0.11 \ + itertools-0.11.0 \ + itoa-1.0.9 \ + jni-sys-0.3.0 \ + jobserver-0.1.26 \ + jpeg-decoder-0.3.0 \ + js-sys-0.3.64 \ + khronos_api-3.1.0 \ + kqueue-1.0.8 \ + kqueue-sys-1.0.4 \ + kurbo-0.9.5 \ + lazy-bytes-cast-5.0.1 \ + lazy_static-1.4.0 \ + lazycell-1.3.0 \ + lebe-0.5.2 \ + libc-0.2.149 \ + libloading-0.7.4 \ + libloading-0.8.1 \ + libm-0.2.8 \ + libseat-0.2.1 \ + libseat-sys-0.1.7 \ + libspa-0.7.2 \ + libspa-sys-0.7.2 \ + libudev-sys-0.1.4 \ + libwayshot-0.3.0 \ + linked-hash-map-0.5.6 \ + linked_hash_set-0.1.4 \ + linux-raw-sys-0.3.8 \ + linux-raw-sys-0.4.8 \ + lock_api-0.4.10 \ + log-0.4.20 \ + lru-0.10.1 \ + lyon_algorithms-1.0.3 \ + lyon_extra-1.0.1 \ + lyon_geom-1.0.4 \ + lyon_path-1.0.4 \ + malloc_buf-0.0.6 \ + memchr-2.6.4 \ + memmap2-0.5.10 \ + memmap2-0.6.2 \ + memmap2-0.7.1 \ + memmap2-0.9.0 \ + memoffset-0.6.5 \ + memoffset-0.7.1 \ + memoffset-0.9.0 \ + metal-0.24.0 \ + minimal-lexical-0.2.1 \ + miniz_oxide-0.7.1 \ + mio-0.8.8 \ + ndk-0.7.0 \ + ndk-context-0.1.1 \ + ndk-sys-0.4.1+23.1.7779620 \ + nix-0.24.3 \ + nix-0.25.1 \ + nix-0.26.4 \ + nix-0.27.1 \ + nom-7.1.3 \ + notify-6.1.1 \ + nu-ansi-term-0.46.0 \ + num-integer-0.1.45 \ + num-rational-0.4.1 \ + num-traits-0.2.17 \ + num_cpus-1.16.0 \ + num_enum-0.5.11 \ + num_enum-0.6.1 \ + num_enum-0.7.0 \ + num_enum_derive-0.5.11 \ + num_enum_derive-0.6.1 \ + num_enum_derive-0.7.0 \ + objc-0.2.7 \ + objc-foundation-0.1.1 \ + objc-sys-0.2.0-beta.2 \ + objc2-0.3.0-beta.3.patch-leaks.3 \ + objc2-encode-2.0.0-pre.2 \ + objc_exception-0.1.2 \ + objc_id-0.1.1 \ + object-0.32.1 \ + once_cell-1.18.0 \ + orbclient-0.3.46 \ + ordered-stream-0.2.0 \ + overload-0.1.1 \ + owned_ttf_parser-0.19.0 \ + parking-2.1.1 \ + parking_lot-0.12.1 \ + parking_lot_core-0.9.8 \ + paste-1.0.14 \ + peeking_take_while-0.1.2 \ + percent-encoding-2.3.0 \ + phf-0.11.2 \ + phf_generator-0.11.2 \ + phf_macros-0.11.2 \ + phf_shared-0.11.2 \ + pico-args-0.5.0 \ + pin-project-1.1.3 \ + pin-project-internal-1.1.3 \ + pin-project-lite-0.2.13 \ + pin-utils-0.1.0 \ + pin-weak-1.1.0 \ + piper-0.2.1 \ + pipewire-0.7.2 \ + pipewire-sys-0.7.2 \ + pkg-config-0.3.27 \ + png-0.17.10 \ + polling-2.8.0 \ + portable-atomic-1.4.3 \ + ppv-lite86-0.2.17 \ + prettyplease-0.2.15 \ + proc-macro-crate-1.3.1 \ + proc-macro2-1.0.68 \ + qoi-0.4.1 \ + qttypes-0.2.9 \ + quick-xml-0.28.2 \ + quick-xml-0.30.0 \ + quote-1.0.33 \ + rand-0.8.5 \ + rand_chacha-0.3.1 \ + rand_core-0.6.4 \ + raw-window-handle-0.5.2 \ + rayon-1.8.0 \ + rayon-core-1.12.0 \ + rctree-0.5.0 \ + redox_syscall-0.3.5 \ + regex-1.9.6 \ + regex-automata-0.3.9 \ + regex-syntax-0.7.5 \ + resvg-0.34.1 \ + rgb-0.8.36 \ + ring-0.16.20 \ + rowan-0.15.13 \ + roxmltree-0.18.1 \ + rustc-demangle-0.1.23 \ + rustc-hash-1.1.0 \ + rustc_version-0.4.0 \ + rustix-0.37.24 \ + rustix-0.38.17 \ + rustls-0.21.7 \ + rustls-webpki-0.101.6 \ + rustversion-1.0.14 \ + rustybuzz-0.7.0 \ + ryu-1.0.15 \ + same-file-1.0.6 \ + scoped-tls-1.0.1 \ + scoped-tls-hkt-0.1.4 \ + scopeguard-1.2.0 \ + sct-0.7.0 \ + sctk-adwaita-0.5.4 \ + semver-1.0.19 \ + send_wrapper-0.6.0 \ + serde-1.0.188 \ + serde_derive-1.0.188 \ + serde_json-1.0.107 \ + serde_repr-0.1.16 \ + serde_spanned-0.6.3 \ + sha1-0.10.6 \ + sharded-slab-0.1.7 \ + shlex-1.2.0 \ + signal-hook-registry-1.4.1 \ + simd-adler32-0.3.7 \ + simplecss-0.2.1 \ + siphasher-0.3.11 \ + skia-bindings-0.66.3 \ + skia-safe-0.66.3 \ + slab-0.4.9 \ + slint-1.2.2 \ + slint-build-1.2.2 \ + slint-macros-1.2.2 \ + slotmap-1.0.6 \ + smallvec-1.11.1 \ + smithay-client-toolkit-0.16.1 \ + smithay-clipboard-0.6.6 \ + smol_str-0.2.0 \ + socket2-0.4.9 \ + socket2-0.5.4 \ + softbuffer-0.3.1 \ + spin-0.5.2 \ + spin-0.9.8 \ + spin_on-0.1.1 \ + stable_deref_trait-1.2.0 \ + static_assertions-1.1.0 \ + strict-num-0.1.1 \ + strum-0.25.0 \ + strum_macros-0.25.2 \ + svgtypes-0.11.0 \ + syn-1.0.109 \ + syn-2.0.38 \ + system-deps-6.1.2 \ + tar-0.4.40 \ + target-lexicon-0.12.11 \ + tempfile-3.8.0 \ + termcolor-1.3.0 \ + text-size-1.1.1 \ + thiserror-1.0.49 \ + thiserror-impl-1.0.49 \ + thread_local-1.1.7 \ + tiff-0.9.0 \ + tiny-skia-0.8.4 \ + tiny-skia-0.10.0 \ + tiny-skia-path-0.8.4 \ + tiny-skia-path-0.10.0 \ + tiny-xlib-0.2.2 \ + tinyvec-1.6.0 \ + tinyvec_macros-0.1.1 \ + tokio-1.32.0 \ + tokio-macros-2.1.0 \ + toml-0.7.8 \ + toml-0.8.2 \ + toml_datetime-0.6.3 \ + toml_edit-0.19.15 \ + toml_edit-0.20.2 \ + tracing-0.1.37 \ + tracing-attributes-0.1.26 \ + tracing-core-0.1.31 \ + tracing-log-0.1.3 \ + tracing-subscriber-0.3.17 \ + ttf-parser-0.15.2 \ + ttf-parser-0.18.1 \ + ttf-parser-0.19.2 \ + typenum-1.17.0 \ + udev-0.7.0 \ + uds_windows-1.0.2 \ + unicode-bidi-0.3.13 \ + unicode-bidi-mirroring-0.1.0 \ + unicode-ccc-0.1.2 \ + unicode-general-category-0.6.0 \ + unicode-ident-1.0.12 \ + unicode-linebreak-0.1.5 \ + unicode-normalization-0.1.22 \ + unicode-script-0.5.5 \ + unicode-segmentation-1.10.1 \ + unicode-vo-0.1.0 \ + unicode-xid-0.2.4 \ + untrusted-0.7.1 \ + ureq-2.8.0 \ + url-2.4.1 \ + usvg-0.34.1 \ + usvg-parser-0.34.0 \ + usvg-text-layout-0.34.0 \ + usvg-tree-0.34.0 \ + valuable-0.1.0 \ + vec_map-0.8.2 \ + version-compare-0.1.1 \ + version_check-0.9.4 \ + vtable-0.1.11 \ + vtable-macro-0.1.10 \ + waker-fn-1.1.1 \ + walkdir-2.4.0 \ + wasi-0.11.0+wasi-snapshot-preview1 \ + wasm-bindgen-0.2.87 \ + wasm-bindgen-backend-0.2.87 \ + wasm-bindgen-macro-0.2.87 \ + wasm-bindgen-macro-support-0.2.87 \ + wasm-bindgen-shared-0.2.87 \ + wayland-backend-0.1.2 \ + wayland-backend-0.3.2 \ + wayland-client-0.29.5 \ + wayland-client-0.30.2 \ + wayland-client-0.31.1 \ + wayland-commons-0.29.5 \ + wayland-cursor-0.29.5 \ + wayland-protocols-0.29.5 \ + wayland-protocols-0.31.0 \ + wayland-protocols-misc-0.2.0 \ + wayland-protocols-wlr-0.2.0 \ + wayland-scanner-0.29.5 \ + wayland-scanner-0.30.1 \ + wayland-scanner-0.31.0 \ + wayland-sys-0.29.5 \ + wayland-sys-0.30.1 \ + wayland-sys-0.31.1 \ + web-sys-0.3.64 \ + webpki-roots-0.25.2 \ + weezl-0.1.7 \ + which-4.4.2 \ + winapi-0.3.9 \ + winapi-i686-pc-windows-gnu-0.4.0 \ + winapi-util-0.1.6 \ + winapi-wsapoll-0.1.1 \ + winapi-x86_64-pc-windows-gnu-0.4.0 \ + windows-0.48.0 \ + windows-implement-0.48.0 \ + windows-interface-0.48.0 \ + windows-sys-0.45.0 \ + windows-sys-0.48.0 \ + windows-targets-0.42.2 \ + windows-targets-0.48.5 \ + windows_aarch64_gnullvm-0.42.2 \ + windows_aarch64_gnullvm-0.48.5 \ + windows_aarch64_msvc-0.42.2 \ + windows_aarch64_msvc-0.48.5 \ + windows_i686_gnu-0.42.2 \ + windows_i686_gnu-0.48.5 \ + windows_i686_msvc-0.42.2 \ + windows_i686_msvc-0.48.5 \ + windows_x86_64_gnu-0.42.2 \ + windows_x86_64_gnu-0.48.5 \ + windows_x86_64_gnullvm-0.42.2 \ + windows_x86_64_gnullvm-0.48.5 \ + windows_x86_64_msvc-0.42.2 \ + windows_x86_64_msvc-0.48.5 \ + winit-0.28.7 \ + winnow-0.5.16 \ + wio-0.2.2 \ + x11-clipboard-0.7.1 \ + x11-dl-2.21.0 \ + x11rb-0.10.1 \ + x11rb-0.12.0 \ + x11rb-protocol-0.10.0 \ + x11rb-protocol-0.12.0 \ + xattr-1.0.1 \ + xcursor-0.3.4 \ + xdg-home-1.0.0 \ + xkbcommon-0.6.0 \ + xkeysym-0.2.0 \ + xml-rs-0.8.19 \ + xmlparser-0.13.6 \ + xmlwriter-0.1.0 \ + zbus-3.14.1 \ + zbus_macros-3.14.1 \ + zbus_names-2.6.0 \ + zune-inflate-0.2.54 \ + zvariant-3.15.0 \ + zvariant_derive-3.15.0 \ + zvariant_utils-1.0.1 diff --git a/x11/xdg-desktop-portal-luminous/distinfo b/x11/xdg-desktop-portal-luminous/distinfo new file mode 100644 index 000000000000..cd72d7bd8351 --- /dev/null +++ b/x11/xdg-desktop-portal-luminous/distinfo @@ -0,0 +1,1049 @@ +TIMESTAMP = 1696742918 +SHA256 (rust/crates/ab_glyph-0.2.22.crate) = b1061f3ff92c2f65800df1f12fc7b4ff44ee14783104187dd04dfee6f11b0fd2 +SIZE (rust/crates/ab_glyph-0.2.22.crate) = 18440 +SHA256 (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046 +SIZE (rust/crates/ab_glyph_rasterizer-0.1.8.crate) = 11010 +SHA256 (rust/crates/accesskit-0.11.2.crate) = 76eb1adf08c5bcaa8490b9851fd53cca27fa9880076f178ea9d29f05196728a8 +SIZE (rust/crates/accesskit-0.11.2.crate) = 27223 +SHA256 (rust/crates/accesskit_consumer-0.15.2.crate) = 04bb4d9e4772fe0d47df57d0d5dbe5d85dd05e2f37ae1ddb6b105e76be58fb00 +SIZE (rust/crates/accesskit_consumer-0.15.2.crate) = 24995 +SHA256 (rust/crates/accesskit_macos-0.9.0.crate) = 134d0acf6acb667c89d3332999b1a5df4edbc8d6113910f392ebb73f2b03bb56 +SIZE (rust/crates/accesskit_macos-0.9.0.crate) = 17382 +SHA256 (rust/crates/accesskit_unix-0.5.2.crate) = e084cb5168790c0c112626175412dc5ad127083441a8248ae49ddf6725519e83 +SIZE (rust/crates/accesskit_unix-0.5.2.crate) = 17111 +SHA256 (rust/crates/accesskit_windows-0.14.3.crate) = 9eac0a7f2d7cd7a93b938af401d3d8e8b7094217989a7c25c55a953023436e31 +SIZE (rust/crates/accesskit_windows-0.14.3.crate) = 39348 +SHA256 (rust/crates/accesskit_winit-0.14.4.crate) = 825d23acee1bd6d25cbaa3ca6ed6e73faf24122a774ec33d52c5c86c6ab423c0 +SIZE (rust/crates/accesskit_winit-0.14.4.crate) = 21280 +SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb +SIZE (rust/crates/addr2line-0.21.0.crate) = 40807 +SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe +SIZE (rust/crates/adler-1.0.2.crate) = 12778 +SHA256 (rust/crates/ahash-0.8.3.crate) = 2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f +SIZE (rust/crates/ahash-0.8.3.crate) = 42416 +SHA256 (rust/crates/aho-corasick-1.1.1.crate) = ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab +SIZE (rust/crates/aho-corasick-1.1.1.crate) = 182812 +SHA256 (rust/crates/android-activity-0.4.3.crate) = 64529721f27c2314ced0890ce45e469574a73e5e6fdd6e9da1860eb29285f5e0 +SIZE (rust/crates/android-activity-0.4.3.crate) = 238185 +SHA256 (rust/crates/android-properties-0.2.2.crate) = fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04 +SIZE (rust/crates/android-properties-0.2.2.crate) = 4563 +SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6 +SIZE (rust/crates/anyhow-1.0.75.crate) = 43901 +SHA256 (rust/crates/arrayref-0.3.7.crate) = 6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545 +SIZE (rust/crates/arrayref-0.3.7.crate) = 9620 +SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711 +SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856 +SHA256 (rust/crates/as-raw-xcb-connection-1.0.0.crate) = 2d5f312b0a56c5cdf967c0aeb67f6289603354951683bc97ddc595ab974ba9aa +SIZE (rust/crates/as-raw-xcb-connection-1.0.0.crate) = 2030 +SHA256 (rust/crates/async-broadcast-0.5.1.crate) = 7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b +SIZE (rust/crates/async-broadcast-0.5.1.crate) = 20134 +SHA256 (rust/crates/async-channel-1.9.0.crate) = 81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35 +SIZE (rust/crates/async-channel-1.9.0.crate) = 13664 +SHA256 (rust/crates/async-executor-1.5.4.crate) = 2c1da3ae8dabd9c00f453a329dfe1fb28da3c0a72e2478cdcd93171740c20499 +SIZE (rust/crates/async-executor-1.5.4.crate) = 21325 +SHA256 (rust/crates/async-fs-1.6.0.crate) = 279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06 +SIZE (rust/crates/async-fs-1.6.0.crate) = 16506 +SHA256 (rust/crates/async-io-1.13.0.crate) = 0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af +SIZE (rust/crates/async-io-1.13.0.crate) = 37191 +SHA256 (rust/crates/async-lock-2.8.0.crate) = 287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b +SIZE (rust/crates/async-lock-2.8.0.crate) = 29944 +SHA256 (rust/crates/async-process-1.8.1.crate) = ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88 +SIZE (rust/crates/async-process-1.8.1.crate) = 22758 +SHA256 (rust/crates/async-recursion-1.0.5.crate) = 5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0 +SIZE (rust/crates/async-recursion-1.0.5.crate) = 11890 +SHA256 (rust/crates/async-signal-0.2.3.crate) = 1079d27511f6c038736279421774ef4ad4bdd2e300825f4a48c4cc463a57cedf +SIZE (rust/crates/async-signal-0.2.3.crate) = 13063 +SHA256 (rust/crates/async-task-4.4.1.crate) = b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921 +SIZE (rust/crates/async-task-4.4.1.crate) = 36349 +SHA256 (rust/crates/async-trait-0.1.73.crate) = bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0 +SIZE (rust/crates/async-trait-0.1.73.crate) = 28654 +SHA256 (rust/crates/atomic-polyfill-1.0.3.crate) = 8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4 +SIZE (rust/crates/atomic-polyfill-1.0.3.crate) = 11581 +SHA256 (rust/crates/atomic-waker-1.1.2.crate) = 1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0 +SIZE (rust/crates/atomic-waker-1.1.2.crate) = 12422 +SHA256 (rust/crates/atspi-0.10.1.crate) = 674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa +SIZE (rust/crates/atspi-0.10.1.crate) = 55562 +SHA256 (rust/crates/atspi-macros-0.2.0.crate) = 97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768 +SIZE (rust/crates/atspi-macros-0.2.0.crate) = 3306 +SHA256 (rust/crates/auto_enums-0.8.2.crate) = dd4ba50b181a898ce52142184e3a46641002b3b190bf5ef827eb3c578fad4b70 +SIZE (rust/crates/auto_enums-0.8.2.crate) = 50765 +SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa +SIZE (rust/crates/autocfg-1.1.0.crate) = 13272 +SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837 +SIZE (rust/crates/backtrace-0.3.69.crate) = 77299 +SHA256 (rust/crates/base64-0.21.4.crate) = 9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2 +SIZE (rust/crates/base64-0.21.4.crate) = 77029 +SHA256 (rust/crates/bindgen-0.66.1.crate) = f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7 +SIZE (rust/crates/bindgen-0.66.1.crate) = 218860 +SHA256 (rust/crates/bindgen-0.68.1.crate) = 726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078 +SIZE (rust/crates/bindgen-0.68.1.crate) = 218997 +SHA256 (rust/crates/bit_field-0.10.2.crate) = dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61 +SIZE (rust/crates/bit_field-0.10.2.crate) = 10568 +SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a +SIZE (rust/crates/bitflags-1.3.2.crate) = 23021 +SHA256 (rust/crates/bitflags-2.4.0.crate) = b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635 +SIZE (rust/crates/bitflags-2.4.0.crate) = 36954 +SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a +SIZE (rust/crates/block-0.1.6.crate) = 4077 +SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71 +SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538 +SHA256 (rust/crates/block-sys-0.1.0-beta.1.crate) = 0fa55741ee90902547802152aaf3f8e5248aab7e21468089560d4c8840561146 +SIZE (rust/crates/block-sys-0.1.0-beta.1.crate) = 9039 +SHA256 (rust/crates/block2-0.2.0-alpha.6.crate) = 8dd9e63c1744f755c2f60332b88de39d341e5e86239014ad839bd71c106dec42 +SIZE (rust/crates/block2-0.2.0-alpha.6.crate) = 10639 +SHA256 (rust/crates/blocking-1.4.1.crate) = 8c36a4d0d48574b3dd360b4b7d95cc651d2b6557b6402848a27d4b228a473e2a +SIZE (rust/crates/blocking-1.4.1.crate) = 17205 +SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec +SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400 +SHA256 (rust/crates/by_address-1.1.0.crate) = bf8dba2868114ed769a1f2590fc9ae5eb331175b44313b6c9b922f8f7ca813d0 +SIZE (rust/crates/by_address-1.1.0.crate) = 8165 +SHA256 (rust/crates/bytemuck-1.14.0.crate) = 374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6 +SIZE (rust/crates/bytemuck-1.14.0.crate) = 44933 +SHA256 (rust/crates/bytemuck_derive-1.5.0.crate) = 965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1 +SIZE (rust/crates/bytemuck_derive-1.5.0.crate) = 17323 +SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b +SIZE (rust/crates/byteorder-1.5.0.crate) = 23288 +SHA256 (rust/crates/bytes-1.5.0.crate) = a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223 +SIZE (rust/crates/bytes-1.5.0.crate) = 58909 +SHA256 (rust/crates/calloop-0.10.6.crate) = 52e0d00eb1ea24371a97d2da6201c6747a633dc6dc1988ef503403b4c59504a8 +SIZE (rust/crates/calloop-0.10.6.crate) = 53711 +SHA256 (rust/crates/calloop-0.11.0.crate) = dea4bfce4c7fbd71e5bb8a7063b6cc7eed48c6d29ee9a08332a59e5d9d93e5c4 +SIZE (rust/crates/calloop-0.11.0.crate) = 60134 +SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0 +SIZE (rust/crates/cc-1.0.83.crate) = 68343 +SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766 +SIZE (rust/crates/cexpr-0.6.0.crate) = 17966 +SHA256 (rust/crates/cfg-expr-0.15.5.crate) = 03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3 +SIZE (rust/crates/cfg-expr-0.15.5.crate) = 41639 +SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd +SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934 +SHA256 (rust/crates/cfg_aliases-0.1.1.crate) = fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e +SIZE (rust/crates/cfg_aliases-0.1.1.crate) = 6009 +SHA256 (rust/crates/cgl-0.3.2.crate) = 0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff +SIZE (rust/crates/cgl-0.3.2.crate) = 7557 +SHA256 (rust/crates/clang-sys-1.6.1.crate) = c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f +SIZE (rust/crates/clang-sys-1.6.1.crate) = 41346 +SHA256 (rust/crates/clipboard-win-3.1.1.crate) = 9fdf5e01086b6be750428ba4a40619f847eb2e95756eee84b18e06e5f0b50342 +SIZE (rust/crates/clipboard-win-3.1.1.crate) = 11964 +SHA256 (rust/crates/clru-0.6.1.crate) = b8191fa7302e03607ff0e237d4246cc043ff5b3cb9409d995172ba3bea16b807 +SIZE (rust/crates/clru-0.6.1.crate) = 16507 +SHA256 (rust/crates/cocoa-0.24.1.crate) = f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a +SIZE (rust/crates/cocoa-0.24.1.crate) = 40445 +SHA256 (rust/crates/cocoa-0.25.0.crate) = f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c +SIZE (rust/crates/cocoa-0.25.0.crate) = 42163 +SHA256 (rust/crates/cocoa-foundation-0.1.2.crate) = 8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7 +SIZE (rust/crates/cocoa-foundation-0.1.2.crate) = 15028 +SHA256 (rust/crates/codemap-0.1.3.crate) = b9e769b5c8c8283982a987c6e948e540254f1058d5a74b8794914d4ef5fc2a24 +SIZE (rust/crates/codemap-0.1.3.crate) = 9483 +SHA256 (rust/crates/codemap-diagnostic-0.1.2.crate) = cc20770be05b566a963bf91505e60412c4a2d016d1ef95c5512823bb085a8122 +SIZE (rust/crates/codemap-diagnostic-0.1.2.crate) = 21541 +SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b +SIZE (rust/crates/color_quant-1.1.0.crate) = 6649 +SHA256 (rust/crates/concurrent-queue-2.3.0.crate) = f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400 +SIZE (rust/crates/concurrent-queue-2.3.0.crate) = 20189 +SHA256 (rust/crates/const-field-offset-0.1.3.crate) = 6304465f16f463cddc572b737c3df93576edd3a6b53f057bd8beeb29f4ef8dfd +SIZE (rust/crates/const-field-offset-0.1.3.crate) = 8163 +SHA256 (rust/crates/const-field-offset-macro-0.1.3.crate) = 57aaaad9185d3bcb3afe63549d8ba60b2fb0ea8dc2da83f62dd56805edf56fd1 +SIZE (rust/crates/const-field-offset-macro-0.1.3.crate) = 4528 +SHA256 (rust/crates/convert_case-0.4.0.crate) = 6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e +SIZE (rust/crates/convert_case-0.4.0.crate) = 8098 +SHA256 (rust/crates/convert_case-0.6.0.crate) = ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca +SIZE (rust/crates/convert_case-0.6.0.crate) = 18675 +SHA256 (rust/crates/cookie-factory-0.3.2.crate) = 396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b +SIZE (rust/crates/cookie-factory-0.3.2.crate) = 14325 +SHA256 (rust/crates/copypasta-0.8.2.crate) = 133fc8675ee3a4ec9aa513584deda9aa0faeda3586b87f7f0f2ba082c66fb172 +SIZE (rust/crates/copypasta-0.8.2.crate) = 13030 +SHA256 (rust/crates/core-foundation-0.9.3.crate) = 194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146 +SIZE (rust/crates/core-foundation-0.9.3.crate) = 27059 +SHA256 (rust/crates/core-foundation-sys-0.8.4.crate) = e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa +SIZE (rust/crates/core-foundation-sys-0.8.4.crate) = 17725 +SHA256 (rust/crates/core-graphics-0.22.3.crate) = 2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb +SIZE (rust/crates/core-graphics-0.22.3.crate) = 29514 +SHA256 (rust/crates/core-graphics-0.23.1.crate) = 970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212 +SIZE (rust/crates/core-graphics-0.23.1.crate) = 30714 +SHA256 (rust/crates/core-graphics-types-0.1.2.crate) = 2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33 +SIZE (rust/crates/core-graphics-types-0.1.2.crate) = 2641 +SHA256 (rust/crates/core-text-19.2.0.crate) = 99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25 +SIZE (rust/crates/core-text-19.2.0.crate) = 18446 +SHA256 (rust/crates/countme-3.0.1.crate) = 7704b5fdd17b18ae31c4c1da5a2e0305a2bf17b5249300a9ee9ed7b72114c636 +SIZE (rust/crates/countme-3.0.1.crate) = 10784 +SHA256 (rust/crates/cpp-0.5.9.crate) = bfa65869ef853e45c60e9828aa08cdd1398cb6e13f3911d9cb2a079b144fcd64 +SIZE (rust/crates/cpp-0.5.9.crate) = 6494 +SHA256 (rust/crates/cpp_build-0.5.9.crate) = 0e361fae2caf9758164b24da3eedd7f7d7451be30d90d8e7b5d2be29a2f0cf5b +SIZE (rust/crates/cpp_build-0.5.9.crate) = 15713 +SHA256 (rust/crates/cpp_common-0.5.9.crate) = 3e1a2532e4ed4ea13031c13bc7bc0dbca4aae32df48e9d77f0d1e743179f2ea1 +SIZE (rust/crates/cpp_common-0.5.9.crate) = 4725 +SHA256 (rust/crates/cpp_macros-0.5.9.crate) = 47ec9cc90633446f779ef481a9ce5a0077107dd5b87016440448d908625a83fd +SIZE (rust/crates/cpp_macros-0.5.9.crate) = 7103 +SHA256 (rust/crates/cpufeatures-0.2.9.crate) = a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1 +SIZE (rust/crates/cpufeatures-0.2.9.crate) = 11895 +SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d +SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661 +SHA256 (rust/crates/critical-section-1.1.2.crate) = 7059fff8937831a9ae6f0fe4d658ffabf58f2ca96aa9dec1c889f936f705f216 +SIZE (rust/crates/critical-section-1.1.2.crate) = 18337 +SHA256 (rust/crates/crossbeam-channel-0.5.8.crate) = a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200 +SIZE (rust/crates/crossbeam-channel-0.5.8.crate) = 90455 +SHA256 (rust/crates/crossbeam-deque-0.8.3.crate) = ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef +SIZE (rust/crates/crossbeam-deque-0.8.3.crate) = 21746 +SHA256 (rust/crates/crossbeam-epoch-0.9.15.crate) = ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7 +SIZE (rust/crates/crossbeam-epoch-0.9.15.crate) = 48553 +SHA256 (rust/crates/crossbeam-utils-0.8.16.crate) = 5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294 +SIZE (rust/crates/crossbeam-utils-0.8.16.crate) = 42508 +SHA256 (rust/crates/crunchy-0.2.2.crate) = 7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7 +SIZE (rust/crates/crunchy-0.2.2.crate) = 2995 +SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3 +SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760 +SHA256 (rust/crates/css-color-parser2-1.0.1.crate) = cf8ed1639f4b56ec6f31d007ff66ce4a13099dce5a9995d48368a30d62bf04bd +SIZE (rust/crates/css-color-parser2-1.0.1.crate) = 8371 +SHA256 (rust/crates/csscolorparser-0.6.2.crate) = eb2a7d3066da2de787b7f032c736763eb7ae5d355f81a68bab2675a96008b0bf +SIZE (rust/crates/csscolorparser-0.6.2.crate) = 16859 +SHA256 (rust/crates/ctor-0.2.5.crate) = 37e366bff8cd32dd8754b0991fb66b279dc48f598c3a18914852a6673deef583 +SIZE (rust/crates/ctor-0.2.5.crate) = 11014 +SHA256 (rust/crates/data-url-0.2.0.crate) = 8d7439c3735f405729d52c3fbbe4de140eaf938a1fe47d227c27f8254d4302a5 +SIZE (rust/crates/data-url-0.2.0.crate) = 20553 +SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b +SIZE (rust/crates/derivative-2.2.0.crate) = 48076 +SHA256 (rust/crates/derive_more-0.99.17.crate) = 4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321 +SIZE (rust/crates/derive_more-0.99.17.crate) = 55771 +SHA256 (rust/crates/derive_utils-0.13.2.crate) = 9abcad25e9720609ccb3dcdb795d845e37d8ce34183330a9f48b03a1a71c8e21 +SIZE (rust/crates/derive_utils-0.13.2.crate) = 13714 +SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292 +SIZE (rust/crates/digest-0.10.7.crate) = 19557 +SHA256 (rust/crates/dispatch-0.2.0.crate) = bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b +SIZE (rust/crates/dispatch-0.2.0.crate) = 10229 +SHA256 (rust/crates/dlib-0.5.2.crate) = 330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412 +SIZE (rust/crates/dlib-0.5.2.crate) = 5806 +SHA256 (rust/crates/downcast-rs-1.2.0.crate) = 9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650 +SIZE (rust/crates/downcast-rs-1.2.0.crate) = 11670 +SHA256 (rust/crates/drm-0.9.0.crate) = edf9159ef4bcecd0c5e4cbeb573b8d0037493403d542780dba5d840bbf9df56f +SIZE (rust/crates/drm-0.9.0.crate) = 46379 +SHA256 (rust/crates/drm-ffi-0.5.0.crate) = 1352481b7b90e27a8a1bf8ef6b33cf18b98dba7c410e75c24bb3eef2f0d8d525 +SIZE (rust/crates/drm-ffi-0.5.0.crate) = 7824 +SHA256 (rust/crates/drm-fourcc-2.2.0.crate) = 0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4 +SIZE (rust/crates/drm-fourcc-2.2.0.crate) = 12192 +SHA256 (rust/crates/drm-sys-0.4.0.crate) = 1369f1679d6b706d234c4c1e0613c415c2c74b598a09ad28080ba2474b72e42d +SIZE (rust/crates/drm-sys-0.4.0.crate) = 53943 +SHA256 (rust/crates/dunce-1.0.4.crate) = 56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b +SIZE (rust/crates/dunce-1.0.4.crate) = 8034 +SHA256 (rust/crates/dwrote-0.11.0.crate) = 439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b +SIZE (rust/crates/dwrote-0.11.0.crate) = 21715 +SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07 +SIZE (rust/crates/either-1.9.0.crate) = 16660 +SHA256 (rust/crates/enumflags2-0.7.8.crate) = 5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939 +SIZE (rust/crates/enumflags2-0.7.8.crate) = 15374 +SHA256 (rust/crates/enumflags2_derive-0.7.8.crate) = f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246 +SIZE (rust/crates/enumflags2_derive-0.7.8.crate) = 7901 +SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5 +SIZE (rust/crates/equivalent-1.0.1.crate) = 6615 +SHA256 (rust/crates/errno-0.3.4.crate) = add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480 +SIZE (rust/crates/errno-0.3.4.crate) = 10589 +SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf +SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810 +SHA256 (rust/crates/euclid-0.22.9.crate) = 87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787 +SIZE (rust/crates/euclid-0.22.9.crate) = 76671 +SHA256 (rust/crates/event-listener-2.5.3.crate) = 0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0 +SIZE (rust/crates/event-listener-2.5.3.crate) = 15392 +SHA256 (rust/crates/event-listener-3.0.0.crate) = 29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325 +SIZE (rust/crates/event-listener-3.0.0.crate) = 37110 +SHA256 (rust/crates/exr-1.71.0.crate) = 832a761f35ab3e6664babfbdc6cef35a4860e816ec3916dcfd0882954e98a8a8 +SIZE (rust/crates/exr-1.71.0.crate) = 244198 +SHA256 (rust/crates/fastrand-1.9.0.crate) = e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be +SIZE (rust/crates/fastrand-1.9.0.crate) = 11910 +SHA256 (rust/crates/fastrand-2.0.1.crate) = 25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5 +SIZE (rust/crates/fastrand-2.0.1.crate) = 14664 +SHA256 (rust/crates/fdeflate-0.3.0.crate) = d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10 +SIZE (rust/crates/fdeflate-0.3.0.crate) = 21790 +SHA256 (rust/crates/femtovg-0.7.1.crate) = 5a3a2d0ff0df09856a5c1c89cc83863a1f0f994c55452186621bb57a01f270b3 +SIZE (rust/crates/femtovg-0.7.1.crate) = 81739 +SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f +SIZE (rust/crates/field-offset-0.3.6.crate) = 10032 +SHA256 (rust/crates/filetime-0.2.22.crate) = d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0 +SIZE (rust/crates/filetime-0.2.22.crate) = 15029 +SHA256 (rust/crates/flate2-1.0.27.crate) = c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010 +SIZE (rust/crates/flate2-1.0.27.crate) = 73460 +SHA256 (rust/crates/float-cmp-0.9.0.crate) = 98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4 +SIZE (rust/crates/float-cmp-0.9.0.crate) = 10102 +SHA256 (rust/crates/flume-0.11.0.crate) = 55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181 +SIZE (rust/crates/flume-0.11.0.crate) = 67502 +SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1 +SIZE (rust/crates/fnv-1.0.7.crate) = 11266 +SHA256 (rust/crates/fontconfig-parser-0.5.3.crate) = 674e258f4b5d2dcd63888c01c68413c51f565e8af99d2f7701c7b81d79ef41c4 +SIZE (rust/crates/fontconfig-parser-0.5.3.crate) = 38070 +SHA256 (rust/crates/fontdb-0.14.1.crate) = af8d8cbea8f21307d7e84bca254772981296f058a1d36b461bf4d83a7499fc9e +SIZE (rust/crates/fontdb-0.14.1.crate) = 107231 +SHA256 (rust/crates/fontdue-0.7.3.crate) = 0793f5137567643cf65ea42043a538804ff0fbf288649e2141442b602d81f9bc +SIZE (rust/crates/fontdue-0.7.3.crate) = 139614 +SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1 +SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504 +SHA256 (rust/crates/foreign-types-0.5.0.crate) = d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965 +SIZE (rust/crates/foreign-types-0.5.0.crate) = 7824 +SHA256 (rust/crates/foreign-types-macros-0.2.3.crate) = 1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742 +SIZE (rust/crates/foreign-types-macros-0.2.3.crate) = 7635 +SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b +SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672 +SHA256 (rust/crates/foreign-types-shared-0.3.1.crate) = aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b +SIZE (rust/crates/foreign-types-shared-0.3.1.crate) = 6006 +SHA256 (rust/crates/form_urlencoded-1.2.0.crate) = a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652 +SIZE (rust/crates/form_urlencoded-1.2.0.crate) = 8923 +SHA256 (rust/crates/fsevent-sys-4.1.0.crate) = 76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2 +SIZE (rust/crates/fsevent-sys-4.1.0.crate) = 4620 +SHA256 (rust/crates/futures-0.3.28.crate) = 23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40 +SIZE (rust/crates/futures-0.3.28.crate) = 53229 +SHA256 (rust/crates/futures-channel-0.3.28.crate) = 955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2 +SIZE (rust/crates/futures-channel-0.3.28.crate) = 32281 +SHA256 (rust/crates/futures-core-0.3.28.crate) = 4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c +SIZE (rust/crates/futures-core-0.3.28.crate) = 14780 +SHA256 (rust/crates/futures-executor-0.3.28.crate) = ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0 +SIZE (rust/crates/futures-executor-0.3.28.crate) = 17743 +SHA256 (rust/crates/futures-io-0.3.28.crate) = 4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964 +SIZE (rust/crates/futures-io-0.3.28.crate) = 8910 +SHA256 (rust/crates/futures-lite-1.13.0.crate) = 49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce +SIZE (rust/crates/futures-lite-1.13.0.crate) = 37058 +SHA256 (rust/crates/futures-macro-0.3.28.crate) = 89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72 +SIZE (rust/crates/futures-macro-0.3.28.crate) = 11272 +SHA256 (rust/crates/futures-sink-0.3.28.crate) = f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e +SIZE (rust/crates/futures-sink-0.3.28.crate) = 7852 +SHA256 (rust/crates/futures-task-0.3.28.crate) = 76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65 +SIZE (rust/crates/futures-task-0.3.28.crate) = 11848 +SHA256 (rust/crates/futures-util-0.3.28.crate) = 26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533 +SIZE (rust/crates/futures-util-0.3.28.crate) = 158510 +SHA256 (rust/crates/gbm-0.12.0.crate) = f2ec389cda876966cf824111bf6e533fb934c711d473498279964a990853b3c6 +SIZE (rust/crates/gbm-0.12.0.crate) = 11856 +SHA256 (rust/crates/gbm-sys-0.2.2.crate) = b63eba9b9b7a231514482deb08759301c9f9f049ac6869403f381834ebfeaf67 +SIZE (rust/crates/gbm-sys-0.2.2.crate) = 9268 +SHA256 (rust/crates/generational-arena-0.2.9.crate) = 877e94aff08e743b651baaea359664321055749b398adff8740a7399af7796e7 +SIZE (rust/crates/generational-arena-0.2.9.crate) = 21409 +SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a +SIZE (rust/crates/generic-array-0.14.7.crate) = 15950 +SHA256 (rust/crates/gethostname-0.2.3.crate) = c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e +SIZE (rust/crates/gethostname-0.2.3.crate) = 8174 +SHA256 (rust/crates/gethostname-0.3.0.crate) = bb65d4ba3173c56a500b555b532f72c42e8d1fe64962b518897f8959fae2c177 +SIZE (rust/crates/gethostname-0.3.0.crate) = 8440 +SHA256 (rust/crates/getrandom-0.2.10.crate) = be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427 +SIZE (rust/crates/getrandom-0.2.10.crate) = 34955 +SHA256 (rust/crates/gif-0.12.0.crate) = 80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045 +SIZE (rust/crates/gif-0.12.0.crate) = 634734 +SHA256 (rust/crates/gimli-0.28.0.crate) = 6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0 +SIZE (rust/crates/gimli-0.28.0.crate) = 269277 +SHA256 (rust/crates/gl_generator-0.14.0.crate) = 1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d +SIZE (rust/crates/gl_generator-0.14.0.crate) = 22330 +SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b +SIZE (rust/crates/glob-0.3.1.crate) = 18880 +SHA256 (rust/crates/glow-0.12.3.crate) = ca0fe580e4b60a8ab24a868bc08e2f03cbcb20d3d676601fa909386713333728 +SIZE (rust/crates/glow-0.12.3.crate) = 149996 +SHA256 (rust/crates/glutin-0.30.10.crate) = 8fc93b03242719b8ad39fb26ed2b01737144ce7bd4bfc7adadcef806596760fe +SIZE (rust/crates/glutin-0.30.10.crate) = 65694 +SHA256 (rust/crates/glutin-winit-0.3.0.crate) = 629a873fc04062830bfe8f97c03773bcd7b371e23bcc465d0a61448cd1588fa4 +SIZE (rust/crates/glutin-winit-0.3.0.crate) = 5408 +SHA256 (rust/crates/glutin_egl_sys-0.5.1.crate) = af784eb26c5a68ec85391268e074f0aa618c096eadb5d6330b0911cf34fe57c5 +SIZE (rust/crates/glutin_egl_sys-0.5.1.crate) = 6258 +SHA256 (rust/crates/glutin_glx_sys-0.4.0.crate) = 1b53cb5fe568964aa066a3ba91eac5ecbac869fb0842cd0dc9e412434f1a1494 +SIZE (rust/crates/glutin_glx_sys-0.4.0.crate) = 5905 +SHA256 (rust/crates/glutin_wgl_sys-0.4.0.crate) = ef89398e90033fc6bc65e9bd42fd29bbbfd483bda5b56dc5562f455550618165 +SIZE (rust/crates/glutin_wgl_sys-0.4.0.crate) = 5477 +SHA256 (rust/crates/half-2.2.1.crate) = 02b4af3693f1b705df946e9fe5631932443781d0aabb423b62fcd4d73f6d2fd0 +SIZE (rust/crates/half-2.2.1.crate) = 47021 +SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888 +SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968 +SHA256 (rust/crates/hashbrown-0.13.2.crate) = 43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e +SIZE (rust/crates/hashbrown-0.13.2.crate) = 105265 +SHA256 (rust/crates/hashbrown-0.14.1.crate) = 7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12 +SIZE (rust/crates/hashbrown-0.14.1.crate) = 127570 +SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8 +SIZE (rust/crates/heck-0.4.1.crate) = 11567 +SHA256 (rust/crates/hermit-abi-0.3.3.crate) = d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7 +SIZE (rust/crates/hermit-abi-0.3.3.crate) = 14253 +SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70 +SIZE (rust/crates/hex-0.4.3.crate) = 13299 +SHA256 (rust/crates/home-0.5.5.crate) = 5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb +SIZE (rust/crates/home-0.5.5.crate) = 8557 +SHA256 (rust/crates/i-slint-backend-linuxkms-1.2.2.crate) = 0e321d0f8d12509ec2ed5b5aba4996922606686ac3d86d70ba126cba1b4e4563 +SIZE (rust/crates/i-slint-backend-linuxkms-1.2.2.crate) = 32348 +SHA256 (rust/crates/i-slint-backend-qt-1.2.2.crate) = 0f1ce3687c329341842f79c31c95d7bcf49b6fda7fd19b09e0b5d7fb33b9d6b2 +SIZE (rust/crates/i-slint-backend-qt-1.2.2.crate) = 106103 +SHA256 (rust/crates/i-slint-backend-selector-1.2.2.crate) = e7382cc01e9c9ef607debe1e4af7e1c6af78720a258fd18d8e32761b8593c5db +SIZE (rust/crates/i-slint-backend-selector-1.2.2.crate) = 20745 +SHA256 (rust/crates/i-slint-backend-winit-1.2.2.crate) = f8c0f3f01e2c678d24b81914a38e53d3b660a0ef13831acb59c71bd7c95ed0cb +SIZE (rust/crates/i-slint-backend-winit-1.2.2.crate) = 48605 +SHA256 (rust/crates/i-slint-common-1.2.2.crate) = e7daf484e68bf27e06b7501767c6e66063c0f85948e57a6de679b53d2d9d2044 +SIZE (rust/crates/i-slint-common-1.2.2.crate) = 411078 +SHA256 (rust/crates/i-slint-compiler-1.2.2.crate) = 8b99172cc43ca17a78e96e3f8f13699d9fc1c00474d2d87bc57c0f7e816c4a48 +SIZE (rust/crates/i-slint-compiler-1.2.2.crate) = 357190 +SHA256 (rust/crates/i-slint-core-1.2.2.crate) = b62e590bb3d6009447a52760e9343c25a3bf7a8a7b0ad7ab5a77c5324fcaa957 +SIZE (rust/crates/i-slint-core-1.2.2.crate) = 223076 +SHA256 (rust/crates/i-slint-core-macros-1.2.2.crate) = 62a416f1e9fc42c2bf1f171e5be38a8155850fcd390fce300869bcc9d6c9c117 +SIZE (rust/crates/i-slint-core-macros-1.2.2.crate) = 20466 +SHA256 (rust/crates/i-slint-renderer-femtovg-1.2.2.crate) = 9e99a941fca00b96a7756d56e4bc5e2876283f34c693eabc73585c0b91ab84f0 +SIZE (rust/crates/i-slint-renderer-femtovg-1.2.2.crate) = 44920 +SHA256 (rust/crates/i-slint-renderer-skia-1.2.2.crate) = 9f617268cfee53e1fa3fcab8f6ab2775deacfce74057386c4ad39ef2647f8db6 +SIZE (rust/crates/i-slint-renderer-skia-1.2.2.crate) = 46324 +SHA256 (rust/crates/idna-0.4.0.crate) = 7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c +SIZE (rust/crates/idna-0.4.0.crate) = 271429 +SHA256 (rust/crates/image-0.24.7.crate) = 6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711 +SIZE (rust/crates/image-0.24.7.crate) = 290618 +SHA256 (rust/crates/imagesize-0.12.0.crate) = 029d73f573d8e8d63e6d5020011d3255b28c3ba85d6cf870a07184ed23de9284 +SIZE (rust/crates/imagesize-0.12.0.crate) = 15747 +SHA256 (rust/crates/imgref-1.9.4.crate) = b2cf49df1085dcfb171460e4592597b84abe50d900fb83efb6e41b20fefd6c2c +SIZE (rust/crates/imgref-1.9.4.crate) = 61486 +SHA256 (rust/crates/indexmap-2.0.2.crate) = 8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897 +SIZE (rust/crates/indexmap-2.0.2.crate) = 64274 +SHA256 (rust/crates/inotify-0.9.6.crate) = f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff +SIZE (rust/crates/inotify-0.9.6.crate) = 22971 +SHA256 (rust/crates/inotify-sys-0.1.5.crate) = e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb +SIZE (rust/crates/inotify-sys-0.1.5.crate) = 6965 +SHA256 (rust/crates/input-0.8.3.crate) = e6e74cd82cedcd66db78742a8337bdc48f188c4d2c12742cbc5cd85113f0b059 +SIZE (rust/crates/input-0.8.3.crate) = 40583 +SHA256 (rust/crates/input-sys-1.17.0.crate) = 05f6c2a17e8aba7217660e32863af87b0febad811d4b8620ef76b386603fddc2 +SIZE (rust/crates/input-sys-1.17.0.crate) = 1143715 +SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c +SIZE (rust/crates/instant-0.1.12.crate) = 6128 +SHA256 (rust/crates/integer-sqrt-0.1.5.crate) = 276ec31bcb4a9ee45f58bec6f9ec700ae4cf4f4f8f2fa7e06cb406bd5ffdd770 +SIZE (rust/crates/integer-sqrt-0.1.5.crate) = 2609 +SHA256 (rust/crates/io-lifetimes-1.0.11.crate) = eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2 +SIZE (rust/crates/io-lifetimes-1.0.11.crate) = 37346 +SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57 +SIZE (rust/crates/itertools-0.11.0.crate) = 125074 +SHA256 (rust/crates/itoa-1.0.9.crate) = af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38 +SIZE (rust/crates/itoa-1.0.9.crate) = 10492 +SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130 +SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232 +SHA256 (rust/crates/jobserver-0.1.26.crate) = 936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2 +SIZE (rust/crates/jobserver-0.1.26.crate) = 22645 +SHA256 (rust/crates/jpeg-decoder-0.3.0.crate) = bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e +SIZE (rust/crates/jpeg-decoder-0.3.0.crate) = 742671 +SHA256 (rust/crates/js-sys-0.3.64.crate) = c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a +SIZE (rust/crates/js-sys-0.3.64.crate) = 80313 +SHA256 (rust/crates/khronos_api-3.1.0.crate) = e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc +SIZE (rust/crates/khronos_api-3.1.0.crate) = 599718 +SHA256 (rust/crates/kqueue-1.0.8.crate) = 7447f1ca1b7b563588a205fe93dea8df60fd981423a768bc1c0ded35ed147d0c +SIZE (rust/crates/kqueue-1.0.8.crate) = 12642 +SHA256 (rust/crates/kqueue-sys-1.0.4.crate) = ed9625ffda8729b85e45cf04090035ac368927b8cebc34898e7c120f52e4838b +SIZE (rust/crates/kqueue-sys-1.0.4.crate) = 7160 +SHA256 (rust/crates/kurbo-0.9.5.crate) = bd85a5776cd9500c2e2059c8c76c3b01528566b7fcbaf8098b55a33fc298849b +SIZE (rust/crates/kurbo-0.9.5.crate) = 108513 +SHA256 (rust/crates/lazy-bytes-cast-5.0.1.crate) = 10257499f089cd156ad82d0a9cd57d9501fa2c989068992a97eb3c27836f206b +SIZE (rust/crates/lazy-bytes-cast-5.0.1.crate) = 4354 +SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646 +SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443 +SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55 +SIZE (rust/crates/lazycell-1.3.0.crate) = 12502 +SHA256 (rust/crates/lebe-0.5.2.crate) = 03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8 +SIZE (rust/crates/lebe-0.5.2.crate) = 8422 +SHA256 (rust/crates/libc-0.2.149.crate) = a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b +SIZE (rust/crates/libc-0.2.149.crate) = 715592 +SHA256 (rust/crates/libloading-0.7.4.crate) = b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f +SIZE (rust/crates/libloading-0.7.4.crate) = 27580 +SHA256 (rust/crates/libloading-0.8.1.crate) = c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161 +SIZE (rust/crates/libloading-0.8.1.crate) = 27893 +SHA256 (rust/crates/libm-0.2.8.crate) = 4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058 +SIZE (rust/crates/libm-0.2.8.crate) = 113450 +SHA256 (rust/crates/libseat-0.2.1.crate) = 54a0adf8d8607a73a5b74cbe4132f57cb349e4bf860103cd089461bbcbc9907e +SIZE (rust/crates/libseat-0.2.1.crate) = 6620 +SHA256 (rust/crates/libseat-sys-0.1.7.crate) = 3671cb5e03871f1d6bf0b3b5daa9275549e348fa6359e0f9adb910ca163d4c34 +SIZE (rust/crates/libseat-sys-0.1.7.crate) = 1955 +SHA256 (rust/crates/libspa-0.7.2.crate) = 0434617020ddca18b86067912970c55410ca654cdafd775480322f50b857a8c4 +SIZE (rust/crates/libspa-0.7.2.crate) = 54357 +SHA256 (rust/crates/libspa-sys-0.7.2.crate) = b3e70ca3f3e70f858ef363046d06178c427b4e0b63d210c95fd87d752679d345 +SIZE (rust/crates/libspa-sys-0.7.2.crate) = 10156 +SHA256 (rust/crates/libudev-sys-0.1.4.crate) = 3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324 +SIZE (rust/crates/libudev-sys-0.1.4.crate) = 6177 +SHA256 (rust/crates/libwayshot-0.3.0.crate) = a2efa01ecfd021b1e7db27f21f4e79b35b048081c9cae9d2f898eddc98444d69 +SIZE (rust/crates/libwayshot-0.3.0.crate) = 9830 +SHA256 (rust/crates/linked-hash-map-0.5.6.crate) = 0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f +SIZE (rust/crates/linked-hash-map-0.5.6.crate) = 15049 +SHA256 (rust/crates/linked_hash_set-0.1.4.crate) = 47186c6da4d81ca383c7c47c1bfc80f4b95f4720514d860a5407aaf4233f9588 +SIZE (rust/crates/linked_hash_set-0.1.4.crate) = 15328 +SHA256 (rust/crates/linux-raw-sys-0.3.8.crate) = ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519 +SIZE (rust/crates/linux-raw-sys-0.3.8.crate) = 1013776 +SHA256 (rust/crates/linux-raw-sys-0.4.8.crate) = 3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db +SIZE (rust/crates/linux-raw-sys-0.4.8.crate) = 1407619 +SHA256 (rust/crates/lock_api-0.4.10.crate) = c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16 +SIZE (rust/crates/lock_api-0.4.10.crate) = 26713 +SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f +SIZE (rust/crates/log-0.4.20.crate) = 38307 +SHA256 (rust/crates/lru-0.10.1.crate) = 718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670 +SIZE (rust/crates/lru-0.10.1.crate) = 14160 +SHA256 (rust/crates/lyon_algorithms-1.0.3.crate) = 00a0349cd8f0270781bb93a824b63df6178e3b4a27794e7be3ce3763f5a44d6e +SIZE (rust/crates/lyon_algorithms-1.0.3.crate) = 32030 +SHA256 (rust/crates/lyon_extra-1.0.1.crate) = b9ce2ae38f2480094ec1f0d5df51a75581fa84f0e8f32a0edb1d264630c99f3b +SIZE (rust/crates/lyon_extra-1.0.1.crate) = 10299 +SHA256 (rust/crates/lyon_geom-1.0.4.crate) = 74df1ff0a0147282eb10699537a03baa7d31972b58984a1d44ce0624043fe8ad +SIZE (rust/crates/lyon_geom-1.0.4.crate) = 52457 +SHA256 (rust/crates/lyon_path-1.0.4.crate) = ca507745ba7ccbc76e5c44e7b63b1a29d2b0d6126f375806a5bbaf657c7d6c45 +SIZE (rust/crates/lyon_path-1.0.4.crate) = 35616 +SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb +SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239 +SHA256 (rust/crates/memchr-2.6.4.crate) = f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167 +SIZE (rust/crates/memchr-2.6.4.crate) = 94439 +SHA256 (rust/crates/memmap2-0.5.10.crate) = 83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327 +SIZE (rust/crates/memmap2-0.5.10.crate) = 26847 +SHA256 (rust/crates/memmap2-0.6.2.crate) = 6d28bba84adfe6646737845bc5ebbfa2c08424eb1c37e94a1fd2a82adb56a872 +SIZE (rust/crates/memmap2-0.6.2.crate) = 27221 +SHA256 (rust/crates/memmap2-0.7.1.crate) = f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6 +SIZE (rust/crates/memmap2-0.7.1.crate) = 30741 +SHA256 (rust/crates/memmap2-0.9.0.crate) = deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375 +SIZE (rust/crates/memmap2-0.9.0.crate) = 31529 +SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce +SIZE (rust/crates/memoffset-0.6.5.crate) = 7686 +SHA256 (rust/crates/memoffset-0.7.1.crate) = 5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4 +SIZE (rust/crates/memoffset-0.7.1.crate) = 8556 +SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c +SIZE (rust/crates/memoffset-0.9.0.crate) = 9033 +SHA256 (rust/crates/metal-0.24.0.crate) = de11355d1f6781482d027a3b4d4de7825dcedb197bf573e0596d00008402d060 +SIZE (rust/crates/metal-0.24.0.crate) = 684270 +SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a +SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841 +SHA256 (rust/crates/miniz_oxide-0.7.1.crate) = e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7 +SIZE (rust/crates/miniz_oxide-0.7.1.crate) = 55194 +SHA256 (rust/crates/mio-0.8.8.crate) = 927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2 +SIZE (rust/crates/mio-0.8.8.crate) = 94264 +SHA256 (rust/crates/ndk-0.7.0.crate) = 451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0 +SIZE (rust/crates/ndk-0.7.0.crate) = 54683 +SHA256 (rust/crates/ndk-context-0.1.1.crate) = 27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b +SIZE (rust/crates/ndk-context-0.1.1.crate) = 2205 +SHA256 (rust/crates/ndk-sys-0.4.1+23.1.7779620.crate) = 3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3 +SIZE (rust/crates/ndk-sys-0.4.1+23.1.7779620.crate) = 291699 +SHA256 (rust/crates/nix-0.24.3.crate) = fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069 +SIZE (rust/crates/nix-0.24.3.crate) = 266843 +SHA256 (rust/crates/nix-0.25.1.crate) = f346ff70e7dbfd675fe90590b92d59ef2de15a8779ae305ebcbfd3f0caf59be4 +SIZE (rust/crates/nix-0.25.1.crate) = 272312 +SHA256 (rust/crates/nix-0.26.4.crate) = 598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b +SIZE (rust/crates/nix-0.26.4.crate) = 279099 +SHA256 (rust/crates/nix-0.27.1.crate) = 2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053 +SIZE (rust/crates/nix-0.27.1.crate) = 286494 +SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a +SIZE (rust/crates/nom-7.1.3.crate) = 117570 +SHA256 (rust/crates/notify-6.1.1.crate) = 6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d +SIZE (rust/crates/notify-6.1.1.crate) = 40117 +SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84 +SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311 +SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9 +SIZE (rust/crates/num-integer-0.1.45.crate) = 22529 +SHA256 (rust/crates/num-rational-0.4.1.crate) = 0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0 +SIZE (rust/crates/num-rational-0.4.1.crate) = 27889 +SHA256 (rust/crates/num-traits-0.2.17.crate) = 39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c +SIZE (rust/crates/num-traits-0.2.17.crate) = 50190 +SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43 +SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713 +SHA256 (rust/crates/num_enum-0.5.11.crate) = 1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9 +SIZE (rust/crates/num_enum-0.5.11.crate) = 16772 +SHA256 (rust/crates/num_enum-0.6.1.crate) = 7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1 +SIZE (rust/crates/num_enum-0.6.1.crate) = 17911 +SHA256 (rust/crates/num_enum-0.7.0.crate) = 70bf6736f74634d299d00086f02986875b3c2d924781a6a2cb6c201e73da0ceb +SIZE (rust/crates/num_enum-0.7.0.crate) = 18578 +SHA256 (rust/crates/num_enum_derive-0.5.11.crate) = dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799 +SIZE (rust/crates/num_enum_derive-0.5.11.crate) = 15552 +SHA256 (rust/crates/num_enum_derive-0.6.1.crate) = 96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6 +SIZE (rust/crates/num_enum_derive-0.6.1.crate) = 15403 +SHA256 (rust/crates/num_enum_derive-0.7.0.crate) = 56ea360eafe1022f7cc56cd7b869ed57330fb2453d0c7831d99b74c65d2f5597 +SIZE (rust/crates/num_enum_derive-0.7.0.crate) = 17076 +SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1 +SIZE (rust/crates/objc-0.2.7.crate) = 22036 +SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9 +SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063 +SHA256 (rust/crates/objc-sys-0.2.0-beta.2.crate) = df3b9834c1e95694a05a828b59f55fa2afec6288359cda67146126b3f90a55d7 +SIZE (rust/crates/objc-sys-0.2.0-beta.2.crate) = 19364 +SHA256 (rust/crates/objc2-0.3.0-beta.3.patch-leaks.3.crate) = 7e01640f9f2cb1220bbe80325e179e532cb3379ebcd1bf2279d703c19fe3a468 +SIZE (rust/crates/objc2-0.3.0-beta.3.patch-leaks.3.crate) = 156792 +SHA256 (rust/crates/objc2-encode-2.0.0-pre.2.crate) = abfcac41015b00a120608fdaa6938c44cb983fee294351cc4bac7638b4e50512 +SIZE (rust/crates/objc2-encode-2.0.0-pre.2.crate) = 20836 +SHA256 (rust/crates/objc_exception-0.1.2.crate) = ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4 +SIZE (rust/crates/objc_exception-0.1.2.crate) = 2251 +SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b +SIZE (rust/crates/objc_id-0.1.1.crate) = 3258 +SHA256 (rust/crates/object-0.32.1.crate) = 9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0 +SIZE (rust/crates/object-0.32.1.crate) = 275463 +SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d +SIZE (rust/crates/once_cell-1.18.0.crate) = 32969 +SHA256 (rust/crates/orbclient-0.3.46.crate) = 8378ac0dfbd4e7895f2d2c1f1345cab3836910baf3a300b000d04250f0c8428f +SIZE (rust/crates/orbclient-0.3.46.crate) = 1324549 +SHA256 (rust/crates/ordered-stream-0.2.0.crate) = 9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50 +SIZE (rust/crates/ordered-stream-0.2.0.crate) = 19077 +SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39 +SIZE (rust/crates/overload-0.1.1.crate) = 24439 +SHA256 (rust/crates/owned_ttf_parser-0.19.0.crate) = 706de7e2214113d63a8238d1910463cfce781129a6f263d13fdb09ff64355ba4 +SIZE (rust/crates/owned_ttf_parser-0.19.0.crate) = 150704 +SHA256 (rust/crates/parking-2.1.1.crate) = e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067 +SIZE (rust/crates/parking-2.1.1.crate) = 9583 +SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f +SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967 +SHA256 (rust/crates/parking_lot_core-0.9.8.crate) = 93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447 +SIZE (rust/crates/parking_lot_core-0.9.8.crate) = 32383 +SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c +SIZE (rust/crates/paste-1.0.14.crate) = 18157 +SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099 +SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697 +SHA256 (rust/crates/percent-encoding-2.3.0.crate) = 9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94 +SIZE (rust/crates/percent-encoding-2.3.0.crate) = 10196 +SHA256 (rust/crates/phf-0.11.2.crate) = ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc +SIZE (rust/crates/phf-0.11.2.crate) = 21569 +SHA256 (rust/crates/phf_generator-0.11.2.crate) = 48e4cc64c2ad9ebe670cb8fd69dd50ae301650392e81c05f9bfcb2d5bdbc24b0 +SIZE (rust/crates/phf_generator-0.11.2.crate) = 14190 +SHA256 (rust/crates/phf_macros-0.11.2.crate) = 3444646e286606587e49f3bcf1679b8cef1dc2c5ecc29ddacaffc305180d464b +SIZE (rust/crates/phf_macros-0.11.2.crate) = 4748 +SHA256 (rust/crates/phf_shared-0.11.2.crate) = 90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b +SIZE (rust/crates/phf_shared-0.11.2.crate) = 14284 +SHA256 (rust/crates/pico-args-0.5.0.crate) = 5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315 +SIZE (rust/crates/pico-args-0.5.0.crate) = 11545 +SHA256 (rust/crates/pin-project-1.1.3.crate) = fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422 +SIZE (rust/crates/pin-project-1.1.3.crate) = 57740 +SHA256 (rust/crates/pin-project-internal-1.1.3.crate) = 4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405 +SIZE (rust/crates/pin-project-internal-1.1.3.crate) = 27824 +SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58 +SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141 +SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184 +SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580 +SHA256 (rust/crates/pin-weak-1.1.0.crate) = b330c9d1b92dfe68442ca20b009c717d5f0b1e3cf4965e62f704c3c6e95a1305 +SIZE (rust/crates/pin-weak-1.1.0.crate) = 4099 +SHA256 (rust/crates/piper-0.2.1.crate) = 668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4 +SIZE (rust/crates/piper-0.2.1.crate) = 15878 +SHA256 (rust/crates/pipewire-0.7.2.crate) = a2d009c8dd65e890b515a71950f7e4c801523b8894ff33863a40830bf762e9e9 +SIZE (rust/crates/pipewire-0.7.2.crate) = 46643 +SHA256 (rust/crates/pipewire-sys-0.7.2.crate) = 890c084e7b737246cb4799c86b71a0e4da536031ff7473dd639eba9f95039f64 +SIZE (rust/crates/pipewire-sys-0.7.2.crate) = 3009 +SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964 +SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838 +SHA256 (rust/crates/png-0.17.10.crate) = dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64 +SIZE (rust/crates/png-0.17.10.crate) = 89384 +SHA256 (rust/crates/polling-2.8.0.crate) = 4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce +SIZE (rust/crates/polling-2.8.0.crate) = 43554 +SHA256 (rust/crates/portable-atomic-1.4.3.crate) = 31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b +SIZE (rust/crates/portable-atomic-1.4.3.crate) = 126291 +SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de +SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242 +SHA256 (rust/crates/prettyplease-0.2.15.crate) = ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d +SIZE (rust/crates/prettyplease-0.2.15.crate) = 57034 +SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919 +SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678 +SHA256 (rust/crates/proc-macro2-1.0.68.crate) = 5b1106fec09662ec6dd98ccac0f81cef56984d0b49f75c92d8cbad76e20c005c +SIZE (rust/crates/proc-macro2-1.0.68.crate) = 43783 +SHA256 (rust/crates/qoi-0.4.1.crate) = 7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001 +SIZE (rust/crates/qoi-0.4.1.crate) = 71135 +SHA256 (rust/crates/qttypes-0.2.9.crate) = 116e96ef85a287acd172c5ed017ef56ee1d9e4f016558e8fc1625925f3f77468 +SIZE (rust/crates/qttypes-0.2.9.crate) = 26097 +SHA256 (rust/crates/quick-xml-0.28.2.crate) = 0ce5e73202a820a31f8a0ee32ada5e21029c81fd9e3ebf668a40832e4219d9d1 +SIZE (rust/crates/quick-xml-0.28.2.crate) = 156462 +SHA256 (rust/crates/quick-xml-0.30.0.crate) = eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956 +SIZE (rust/crates/quick-xml-0.30.0.crate) = 161923 +SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae +SIZE (rust/crates/quote-1.0.33.crate) = 28090 +SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404 +SIZE (rust/crates/rand-0.8.5.crate) = 87113 +SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88 +SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251 +SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c +SIZE (rust/crates/rand_core-0.6.4.crate) = 22666 +SHA256 (rust/crates/raw-window-handle-0.5.2.crate) = f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9 +SIZE (rust/crates/raw-window-handle-0.5.2.crate) = 17063 +SHA256 (rust/crates/rayon-1.8.0.crate) = 9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1 +SIZE (rust/crates/rayon-1.8.0.crate) = 170172 +SHA256 (rust/crates/rayon-core-1.12.0.crate) = 5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed +SIZE (rust/crates/rayon-core-1.12.0.crate) = 70081 +SHA256 (rust/crates/rctree-0.5.0.crate) = 3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f +SIZE (rust/crates/rctree-0.5.0.crate) = 8298 +SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29 +SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404 +SHA256 (rust/crates/regex-1.9.6.crate) = ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff +SIZE (rust/crates/regex-1.9.6.crate) = 254981 +SHA256 (rust/crates/regex-automata-0.3.9.crate) = 59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9 +SIZE (rust/crates/regex-automata-0.3.9.crate) = 610489 +SHA256 (rust/crates/regex-syntax-0.7.5.crate) = dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da +SIZE (rust/crates/regex-syntax-0.7.5.crate) = 343366 +SHA256 (rust/crates/resvg-0.34.1.crate) = b0e3d65cea36eefb28a020edb6e66341764e00cd4b426e0c1f0599b1adaa78f5 +SIZE (rust/crates/resvg-0.34.1.crate) = 86178 +SHA256 (rust/crates/rgb-0.8.36.crate) = 20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59 +SIZE (rust/crates/rgb-0.8.36.crate) = 16576 +SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc +SIZE (rust/crates/ring-0.16.20.crate) = 5082615 +SHA256 (rust/crates/rowan-0.15.13.crate) = 906057e449592587bf6724f00155bf82a6752c868d78a8fb3aa41f4e6357cfe8 +SIZE (rust/crates/rowan-0.15.13.crate) = 39945 +SHA256 (rust/crates/roxmltree-0.18.1.crate) = 862340e351ce1b271a378ec53f304a5558f7db87f3769dc655a8f6ecbb68b302 +SIZE (rust/crates/roxmltree-0.18.1.crate) = 43040 +SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76 +SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970 +SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2 +SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331 +SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366 +SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175 +SHA256 (rust/crates/rustix-0.37.24.crate) = 4279d76516df406a8bd37e7dff53fd37d1a093f997a3c34a5c21658c126db06d +SIZE (rust/crates/rustix-0.37.24.crate) = 323168 +SHA256 (rust/crates/rustix-0.38.17.crate) = f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7 +SIZE (rust/crates/rustix-0.38.17.crate) = 353766 +SHA256 (rust/crates/rustls-0.21.7.crate) = cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8 +SIZE (rust/crates/rustls-0.21.7.crate) = 283818 +SHA256 (rust/crates/rustls-webpki-0.101.6.crate) = 3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe +SIZE (rust/crates/rustls-webpki-0.101.6.crate) = 168776 +SHA256 (rust/crates/rustversion-1.0.14.crate) = 7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4 +SIZE (rust/crates/rustversion-1.0.14.crate) = 17261 +SHA256 (rust/crates/rustybuzz-0.7.0.crate) = 162bdf42e261bee271b3957691018634488084ef577dddeb6420a9684cab2a6a +SIZE (rust/crates/rustybuzz-0.7.0.crate) = 219739 +SHA256 (rust/crates/ryu-1.0.15.crate) = 1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741 +SIZE (rust/crates/ryu-1.0.15.crate) = 46906 +SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502 +SIZE (rust/crates/same-file-1.0.6.crate) = 10183 +SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294 +SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202 +SHA256 (rust/crates/scoped-tls-hkt-0.1.4.crate) = 3ddc765d3410d9f6c6ca071bf0b67f6b01e3ec4595dc3892f02677e75819dddc +SIZE (rust/crates/scoped-tls-hkt-0.1.4.crate) = 11688 +SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49 +SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619 +SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4 +SIZE (rust/crates/sct-0.7.0.crate) = 27502 +SHA256 (rust/crates/sctk-adwaita-0.5.4.crate) = cda4e97be1fd174ccc2aae81c8b694e803fa99b34e8fd0f057a9d70698e3ed09 +SIZE (rust/crates/sctk-adwaita-0.5.4.crate) = 45888 +SHA256 (rust/crates/semver-1.0.19.crate) = ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0 +SIZE (rust/crates/semver-1.0.19.crate) = 30027 +SHA256 (rust/crates/send_wrapper-0.6.0.crate) = cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73 +SIZE (rust/crates/send_wrapper-0.6.0.crate) = 10519 +SHA256 (rust/crates/serde-1.0.188.crate) = cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e +SIZE (rust/crates/serde-1.0.188.crate) = 76230 +SHA256 (rust/crates/serde_derive-1.0.188.crate) = 4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2 +SIZE (rust/crates/serde_derive-1.0.188.crate) = 55563 +SHA256 (rust/crates/serde_json-1.0.107.crate) = 6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65 +SIZE (rust/crates/serde_json-1.0.107.crate) = 146458 +SHA256 (rust/crates/serde_repr-0.1.16.crate) = 8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00 +SIZE (rust/crates/serde_repr-0.1.16.crate) = 9629 +SHA256 (rust/crates/serde_spanned-0.6.3.crate) = 96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186 +SIZE (rust/crates/serde_spanned-0.6.3.crate) = 7737 +SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba +SIZE (rust/crates/sha1-0.10.6.crate) = 13517 +SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6 +SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227 +SHA256 (rust/crates/shlex-1.2.0.crate) = a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380 +SIZE (rust/crates/shlex-1.2.0.crate) = 6584 +SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1 +SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987 +SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe +SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086 +SHA256 (rust/crates/simplecss-0.2.1.crate) = a11be7c62927d9427e9f40f3444d5499d868648e2edbc4e2116de69e7ec0e89d +SIZE (rust/crates/simplecss-0.2.1.crate) = 19418 +SHA256 (rust/crates/siphasher-0.3.11.crate) = 38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d +SIZE (rust/crates/siphasher-0.3.11.crate) = 10442 +SHA256 (rust/crates/skia-bindings-0.66.3.crate) = 2a42e3db408fbe7beafeadcaf5309c59eb99cc80979cab1b49e2a47539adf8ab +SIZE (rust/crates/skia-bindings-0.66.3.crate) = 200492 +SHA256 (rust/crates/skia-safe-0.66.3.crate) = 6d03680a0ce867756947f2d5fa92078915342f81996c43b61847fed565068f75 +SIZE (rust/crates/skia-safe-0.66.3.crate) = 387214 +SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67 +SIZE (rust/crates/slab-0.4.9.crate) = 17108 +SHA256 (rust/crates/slint-1.2.2.crate) = c9a6f76430dde7dc57d374c37aa3103532813cc275a94b515b5907e91dd19334 +SIZE (rust/crates/slint-1.2.2.crate) = 187144 +SHA256 (rust/crates/slint-build-1.2.2.crate) = c6edc7309a89f14c685086544ea3dbd7668ccdeb03d774f06879f38237e55815 +SIZE (rust/crates/slint-build-1.2.2.crate) = 22475 +SHA256 (rust/crates/slint-macros-1.2.2.crate) = 33f96e5ea0574ac69b773b159d43124f7a329107cf60c11516e63d38c2d8c89c +SIZE (rust/crates/slint-macros-1.2.2.crate) = 22766 +SHA256 (rust/crates/slotmap-1.0.6.crate) = e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342 +SIZE (rust/crates/slotmap-1.0.6.crate) = 58954 +SHA256 (rust/crates/smallvec-1.11.1.crate) = 942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a +SIZE (rust/crates/smallvec-1.11.1.crate) = 34831 +SHA256 (rust/crates/smithay-client-toolkit-0.16.1.crate) = 870427e30b8f2cbe64bf43ec4b86e88fe39b0a84b3f15efd9c9c2d020bc86eb9 +SIZE (rust/crates/smithay-client-toolkit-0.16.1.crate) = 131081 +SHA256 (rust/crates/smithay-clipboard-0.6.6.crate) = 0a345c870a1fae0b1b779085e81b51e614767c239e93503588e54c5b17f4b0e8 +SIZE (rust/crates/smithay-clipboard-0.6.6.crate) = 16797 +SHA256 (rust/crates/smol_str-0.2.0.crate) = 74212e6bbe9a4352329b2f68ba3130c15a3f26fe88ff22dbdc6cdd58fa85e99c +SIZE (rust/crates/smol_str-0.2.0.crate) = 13467 +SHA256 (rust/crates/socket2-0.4.9.crate) = 64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662 +SIZE (rust/crates/socket2-0.4.9.crate) = 45421 +SHA256 (rust/crates/socket2-0.5.4.crate) = 4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e +SIZE (rust/crates/socket2-0.5.4.crate) = 54663 +SHA256 (rust/crates/softbuffer-0.3.1.crate) = 8bd56fe5e6c6f1881aad2bd37acaef4ac4a3689c970dfcbd87a36a6e60210ec8 +SIZE (rust/crates/softbuffer-0.3.1.crate) = 53655 +SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d +SIZE (rust/crates/spin-0.5.2.crate) = 12004 +SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67 +SIZE (rust/crates/spin-0.9.8.crate) = 38958 +SHA256 (rust/crates/spin_on-0.1.1.crate) = 076e103ed41b9864aa838287efe5f4e3a7a0362dd00671ae62a212e5e4612da2 +SIZE (rust/crates/spin_on-0.1.1.crate) = 7495 +SHA256 (rust/crates/stable_deref_trait-1.2.0.crate) = a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3 +SIZE (rust/crates/stable_deref_trait-1.2.0.crate) = 8054 +SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f +SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480 +SHA256 (rust/crates/strict-num-0.1.1.crate) = 6637bab7722d379c8b41ba849228d680cc12d0a45ba1fa2b48f2a30577a06731 +SIZE (rust/crates/strict-num-0.1.1.crate) = 5104 +SHA256 (rust/crates/strum-0.25.0.crate) = 290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125 +SIZE (rust/crates/strum-0.25.0.crate) = 5539 +SHA256 (rust/crates/strum_macros-0.25.2.crate) = ad8d03b598d3d0fff69bf533ee3ef19b8eeb342729596df84bcc7e1f96ec4059 +SIZE (rust/crates/strum_macros-0.25.2.crate) = 21964 +SHA256 (rust/crates/svgtypes-0.11.0.crate) = ed4b0611e7f3277f68c0fa18e385d9e2d26923691379690039548f867cef02a7 +SIZE (rust/crates/svgtypes-0.11.0.crate) = 35681 +SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237 +SIZE (rust/crates/syn-1.0.109.crate) = 237611 +SHA256 (rust/crates/syn-2.0.38.crate) = e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b +SIZE (rust/crates/syn-2.0.38.crate) = 243284 +SHA256 (rust/crates/system-deps-6.1.2.crate) = 94af52f9402f94aac4948a2518b43359be8d9ce6cd9efc1c4de3b2f7b7e897d6 +SIZE (rust/crates/system-deps-6.1.2.crate) = 24167 +SHA256 (rust/crates/tar-0.4.40.crate) = b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb +SIZE (rust/crates/tar-0.4.40.crate) = 51844 +SHA256 (rust/crates/target-lexicon-0.12.11.crate) = 9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a +SIZE (rust/crates/target-lexicon-0.12.11.crate) = 24594 +SHA256 (rust/crates/tempfile-3.8.0.crate) = cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef +SIZE (rust/crates/tempfile-3.8.0.crate) = 31720 +SHA256 (rust/crates/termcolor-1.3.0.crate) = 6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64 +SIZE (rust/crates/termcolor-1.3.0.crate) = 18799 +SHA256 (rust/crates/text-size-1.1.1.crate) = f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233 +SIZE (rust/crates/text-size-1.1.1.crate) = 12553 +SHA256 (rust/crates/thiserror-1.0.49.crate) = 1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4 +SIZE (rust/crates/thiserror-1.0.49.crate) = 18912 +SHA256 (rust/crates/thiserror-impl-1.0.49.crate) = 10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc +SIZE (rust/crates/thiserror-impl-1.0.49.crate) = 15101 +SHA256 (rust/crates/thread_local-1.1.7.crate) = 3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152 +SIZE (rust/crates/thread_local-1.1.7.crate) = 13585 +SHA256 (rust/crates/tiff-0.9.0.crate) = 6d172b0f4d3fba17ba89811858b9d3d97f928aece846475bbda076ca46736211 +SIZE (rust/crates/tiff-0.9.0.crate) = 1418215 +SHA256 (rust/crates/tiny-skia-0.8.4.crate) = df8493a203431061e901613751931f047d1971337153f96d0e5e363d6dbf6a67 +SIZE (rust/crates/tiny-skia-0.8.4.crate) = 193684 +SHA256 (rust/crates/tiny-skia-0.10.0.crate) = 7db11798945fa5c3e5490c794ccca7c6de86d3afdd54b4eb324109939c6f37bc +SIZE (rust/crates/tiny-skia-0.10.0.crate) = 200442 +SHA256 (rust/crates/tiny-skia-path-0.8.4.crate) = adbfb5d3f3dd57a0e11d12f4f13d4ebbbc1b5c15b7ab0a156d030b21da5f677c +SIZE (rust/crates/tiny-skia-path-0.8.4.crate) = 45814 +SHA256 (rust/crates/tiny-skia-path-0.10.0.crate) = 2f60aa35c89ac2687ace1a2556eaaea68e8c0d47408a2e3e7f5c98a489e7281c +SIZE (rust/crates/tiny-skia-path-0.10.0.crate) = 46740 +SHA256 (rust/crates/tiny-xlib-0.2.2.crate) = d4098d49269baa034a8d1eae9bd63e9fa532148d772121dace3bcd6a6c98eb6d +SIZE (rust/crates/tiny-xlib-0.2.2.crate) = 15775 +SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50 +SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991 +SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20 +SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865 +SHA256 (rust/crates/tokio-1.32.0.crate) = 17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9 +SIZE (rust/crates/tokio-1.32.0.crate) = 725004 +SHA256 (rust/crates/tokio-macros-2.1.0.crate) = 630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e +SIZE (rust/crates/tokio-macros-2.1.0.crate) = 11472 +SHA256 (rust/crates/toml-0.7.8.crate) = dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257 +SIZE (rust/crates/toml-0.7.8.crate) = 49671 +SHA256 (rust/crates/toml-0.8.2.crate) = 185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d +SIZE (rust/crates/toml-0.8.2.crate) = 50425 +SHA256 (rust/crates/toml_datetime-0.6.3.crate) = 7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b +SIZE (rust/crates/toml_datetime-0.6.3.crate) = 10770 +SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421 +SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324 +SHA256 (rust/crates/toml_edit-0.20.2.crate) = 396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338 +SIZE (rust/crates/toml_edit-0.20.2.crate) = 96487 +SHA256 (rust/crates/tracing-0.1.37.crate) = 8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8 +SIZE (rust/crates/tracing-0.1.37.crate) = 73888 +SHA256 (rust/crates/tracing-attributes-0.1.26.crate) = 5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab +SIZE (rust/crates/tracing-attributes-0.1.26.crate) = 32060 +SHA256 (rust/crates/tracing-core-0.1.31.crate) = 0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a +SIZE (rust/crates/tracing-core-0.1.31.crate) = 61263 +SHA256 (rust/crates/tracing-log-0.1.3.crate) = 78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922 +SIZE (rust/crates/tracing-log-0.1.3.crate) = 20549 +SHA256 (rust/crates/tracing-subscriber-0.3.17.crate) = 30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77 +SIZE (rust/crates/tracing-subscriber-0.3.17.crate) = 191711 +SHA256 (rust/crates/ttf-parser-0.15.2.crate) = 7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd +SIZE (rust/crates/ttf-parser-0.15.2.crate) = 136251 +SHA256 (rust/crates/ttf-parser-0.18.1.crate) = 0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633 +SIZE (rust/crates/ttf-parser-0.18.1.crate) = 156167 +SHA256 (rust/crates/ttf-parser-0.19.2.crate) = 49d64318d8311fc2668e48b63969f4343e0a85c4a109aa8460d6672e364b8bd1 +SIZE (rust/crates/ttf-parser-0.19.2.crate) = 158329 +SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825 +SIZE (rust/crates/typenum-1.17.0.crate) = 42849 +SHA256 (rust/crates/udev-0.7.0.crate) = 4ebdbbd670373442a12fe9ef7aeb53aec4147a5a27a00bbc3ab639f08f48191a +SIZE (rust/crates/udev-0.7.0.crate) = 17980 +SHA256 (rust/crates/uds_windows-1.0.2.crate) = ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d +SIZE (rust/crates/uds_windows-1.0.2.crate) = 16206 +SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460 +SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477 +SHA256 (rust/crates/unicode-bidi-mirroring-0.1.0.crate) = 56d12260fb92d52f9008be7e4bca09f584780eb2266dc8fecc6a192bec561694 +SIZE (rust/crates/unicode-bidi-mirroring-0.1.0.crate) = 8241 +SHA256 (rust/crates/unicode-ccc-0.1.2.crate) = cc2520efa644f8268dce4dcd3050eaa7fc044fca03961e9998ac7e2e92b77cf1 +SIZE (rust/crates/unicode-ccc-0.1.2.crate) = 8848 +SHA256 (rust/crates/unicode-general-category-0.6.0.crate) = 2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7 +SIZE (rust/crates/unicode-general-category-0.6.0.crate) = 35177 +SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b +SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168 +SHA256 (rust/crates/unicode-linebreak-0.1.5.crate) = 3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f +SIZE (rust/crates/unicode-linebreak-0.1.5.crate) = 15324 +SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921 +SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604 +SHA256 (rust/crates/unicode-script-0.5.5.crate) = 7d817255e1bed6dfd4ca47258685d14d2bdcfbc64fdc9e3819bd5848057b8ecc +SIZE (rust/crates/unicode-script-0.5.5.crate) = 43874 +SHA256 (rust/crates/unicode-segmentation-1.10.1.crate) = 1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36 +SIZE (rust/crates/unicode-segmentation-1.10.1.crate) = 98416 +SHA256 (rust/crates/unicode-vo-0.1.0.crate) = b1d386ff53b415b7fe27b50bb44679e2cc4660272694b7b6f3326d8480823a94 +SIZE (rust/crates/unicode-vo-0.1.0.crate) = 8084 +SHA256 (rust/crates/unicode-xid-0.2.4.crate) = f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c +SIZE (rust/crates/unicode-xid-0.2.4.crate) = 15352 +SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a +SIZE (rust/crates/untrusted-0.7.1.crate) = 7924 +SHA256 (rust/crates/ureq-2.8.0.crate) = f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3 +SIZE (rust/crates/ureq-2.8.0.crate) = 112867 +SHA256 (rust/crates/url-2.4.1.crate) = 143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5 +SIZE (rust/crates/url-2.4.1.crate) = 78228 +SHA256 (rust/crates/usvg-0.34.1.crate) = d2304b933107198a910c1f3219acb65246f2b148f862703cffd51c6e62156abe +SIZE (rust/crates/usvg-0.34.1.crate) = 28169 +SHA256 (rust/crates/usvg-parser-0.34.0.crate) = 12b940fea80394e3b14cb21c83fa1b8f8a41023c25929bba68bb84a76193ebed +SIZE (rust/crates/usvg-parser-0.34.0.crate) = 65080 +SHA256 (rust/crates/usvg-text-layout-0.34.0.crate) = 69dfd6119f431aa7e969b4a69f9cc8b9ae37b8ae85bb26780ccfa3beaf8b71eb +SIZE (rust/crates/usvg-text-layout-0.34.0.crate) = 21693 +SHA256 (rust/crates/usvg-tree-0.34.0.crate) = 3185eb13b6e3d3cf1817d29612251cc308d5a7e5e6235362e67efe832435c6d9 +SIZE (rust/crates/usvg-tree-0.34.0.crate) = 20369 +SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d +SIZE (rust/crates/valuable-0.1.0.crate) = 27718 +SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191 +SIZE (rust/crates/vec_map-0.8.2.crate) = 14466 +SHA256 (rust/crates/version-compare-0.1.1.crate) = 579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29 +SIZE (rust/crates/version-compare-0.1.1.crate) = 13224 +SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f +SIZE (rust/crates/version_check-0.9.4.crate) = 14895 +SHA256 (rust/crates/vtable-0.1.11.crate) = 9f4c7506238561777a1861d3dc3c0001877c475187e7bc4392ea87ebf631fd9c +SIZE (rust/crates/vtable-0.1.11.crate) = 17800 +SHA256 (rust/crates/vtable-macro-0.1.10.crate) = 6b2b8eecdb8e4284adf5546fc518f048f6dc33e7203dbe36fa93a4add39b31f6 +SIZE (rust/crates/vtable-macro-0.1.10.crate) = 24990 +SHA256 (rust/crates/waker-fn-1.1.1.crate) = f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690 +SIZE (rust/crates/waker-fn-1.1.1.crate) = 6323 +SHA256 (rust/crates/walkdir-2.4.0.crate) = d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee +SIZE (rust/crates/walkdir-2.4.0.crate) = 23550 +SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423 +SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131 +SHA256 (rust/crates/wasm-bindgen-0.2.87.crate) = 7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342 +SIZE (rust/crates/wasm-bindgen-0.2.87.crate) = 175052 +SHA256 (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd +SIZE (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 26821 +SHA256 (rust/crates/wasm-bindgen-macro-0.2.87.crate) = dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d +SIZE (rust/crates/wasm-bindgen-macro-0.2.87.crate) = 13897 +SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b +SIZE (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 20006 +SHA256 (rust/crates/wasm-bindgen-shared-0.2.87.crate) = ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1 +SIZE (rust/crates/wasm-bindgen-shared-0.2.87.crate) = 7248 +SHA256 (rust/crates/wayland-backend-0.1.2.crate) = 41b48e27457e8da3b2260ac60d0a94512f5cba36448679f3747c0865b7893ed8 +SIZE (rust/crates/wayland-backend-0.1.2.crate) = 68748 +SHA256 (rust/crates/wayland-backend-0.3.2.crate) = 19152ddd73f45f024ed4534d9ca2594e0ef252c1847695255dae47f34df9fbe4 +SIZE (rust/crates/wayland-backend-0.3.2.crate) = 69238 +SHA256 (rust/crates/wayland-client-0.29.5.crate) = 3f3b068c05a039c9f755f881dc50f01732214f5685e379829759088967c46715 +SIZE (rust/crates/wayland-client-0.29.5.crate) = 71041 +SHA256 (rust/crates/wayland-client-0.30.2.crate) = 489c9654770f674fc7e266b3c579f4053d7551df0ceb392f153adb1f9ed06ac8 +SIZE (rust/crates/wayland-client-0.30.2.crate) = 65289 +SHA256 (rust/crates/wayland-client-0.31.1.crate) = 1ca7d52347346f5473bf2f56705f360e8440873052e575e55890c4fa57843ed3 +SIZE (rust/crates/wayland-client-0.31.1.crate) = 62635 +SHA256 (rust/crates/wayland-commons-0.29.5.crate) = 8691f134d584a33a6606d9d717b95c4fa20065605f798a3f350d78dced02a902 +SIZE (rust/crates/wayland-commons-0.29.5.crate) = 20771 +SHA256 (rust/crates/wayland-cursor-0.29.5.crate) = 6865c6b66f13d6257bef1cd40cbfe8ef2f150fb8ebbdb1e8e873455931377661 +SIZE (rust/crates/wayland-cursor-0.29.5.crate) = 6195 +SHA256 (rust/crates/wayland-protocols-0.29.5.crate) = b950621f9354b322ee817a23474e479b34be96c2e909c14f7bc0100e9a970bc6 +SIZE (rust/crates/wayland-protocols-0.29.5.crate) = 140859 +SHA256 (rust/crates/wayland-protocols-0.31.0.crate) = e253d7107ba913923dc253967f35e8561a3c65f914543e46843c88ddd729e21c +SIZE (rust/crates/wayland-protocols-0.31.0.crate) = 134772 +SHA256 (rust/crates/wayland-protocols-misc-0.2.0.crate) = bfa5933740b200188c9b4c38601b8212e8c154d7de0d2cb171944e137a77de1e +SIZE (rust/crates/wayland-protocols-misc-0.2.0.crate) = 13627 +SHA256 (rust/crates/wayland-protocols-wlr-0.2.0.crate) = ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6 +SIZE (rust/crates/wayland-protocols-wlr-0.2.0.crate) = 25804 +SHA256 (rust/crates/wayland-scanner-0.29.5.crate) = 8f4303d8fa22ab852f789e75a967f0a2cdc430a607751c0499bada3e451cbd53 +SIZE (rust/crates/wayland-scanner-0.29.5.crate) = 17248 +SHA256 (rust/crates/wayland-scanner-0.30.1.crate) = b9b873b257fbc32ec909c0eb80dea312076a67014e65e245f5eb69a6b8ab330e +SIZE (rust/crates/wayland-scanner-0.30.1.crate) = 34633 +SHA256 (rust/crates/wayland-scanner-0.31.0.crate) = fb8e28403665c9f9513202b7e1ed71ec56fde5c107816843fb14057910b2c09c +SIZE (rust/crates/wayland-scanner-0.31.0.crate) = 35245 +SHA256 (rust/crates/wayland-sys-0.29.5.crate) = be12ce1a3c39ec7dba25594b97b42cb3195d54953ddb9d3d95a7c3902bc6e9d4 +SIZE (rust/crates/wayland-sys-0.29.5.crate) = 7926 +SHA256 (rust/crates/wayland-sys-0.30.1.crate) = 96b2a02ac608e07132978689a6f9bf4214949c85998c247abadd4f4129b1aa06 +SIZE (rust/crates/wayland-sys-0.30.1.crate) = 8358 +SHA256 (rust/crates/wayland-sys-0.31.1.crate) = 15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af +SIZE (rust/crates/wayland-sys-0.31.1.crate) = 8577 +SHA256 (rust/crates/web-sys-0.3.64.crate) = 9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b +SIZE (rust/crates/web-sys-0.3.64.crate) = 725584 +SHA256 (rust/crates/webpki-roots-0.25.2.crate) = 14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc +SIZE (rust/crates/webpki-roots-0.25.2.crate) = 250405 +SHA256 (rust/crates/weezl-0.1.7.crate) = 9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb +SIZE (rust/crates/weezl-0.1.7.crate) = 42166 +SHA256 (rust/crates/which-4.4.2.crate) = 87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7 +SIZE (rust/crates/which-4.4.2.crate) = 15953 +SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419 +SIZE (rust/crates/winapi-0.3.9.crate) = 1200382 +SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6 +SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815 +SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596 +SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234 +SHA256 (rust/crates/winapi-wsapoll-0.1.1.crate) = 44c17110f57155602a80dca10be03852116403c9ff3cd25b079d666f2aa3df6e +SIZE (rust/crates/winapi-wsapoll-0.1.1.crate) = 2881 +SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f +SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998 +SHA256 (rust/crates/windows-0.48.0.crate) = e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f +SIZE (rust/crates/windows-0.48.0.crate) = 11864177 +SHA256 (rust/crates/windows-implement-0.48.0.crate) = 5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c +SIZE (rust/crates/windows-implement-0.48.0.crate) = 8468 +SHA256 (rust/crates/windows-interface-0.48.0.crate) = e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7 +SIZE (rust/crates/windows-interface-0.48.0.crate) = 9533 +SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0 +SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659 +SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9 +SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884 +SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071 +SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492 +SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c +SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8 +SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071 +SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8 +SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492 +SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43 +SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981 +SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc +SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483 +SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f +SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236 +SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e +SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891 +SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060 +SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951 +SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406 +SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300 +SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36 +SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373 +SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e +SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3 +SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068 +SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc +SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486 +SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0 +SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936 +SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538 +SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412 +SHA256 (rust/crates/winit-0.28.7.crate) = 9596d90b45384f5281384ab204224876e8e8bf7d58366d9b795ad99aa9894b94 +SIZE (rust/crates/winit-0.28.7.crate) = 407921 +SHA256 (rust/crates/winnow-0.5.16.crate) = 037711d82167854aff2018dfd193aa0fef5370f456732f0d5a0c59b0f1b4b907 +SIZE (rust/crates/winnow-0.5.16.crate) = 145939 +SHA256 (rust/crates/wio-0.2.2.crate) = 5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5 +SIZE (rust/crates/wio-0.2.2.crate) = 11214 +SHA256 (rust/crates/x11-clipboard-0.7.1.crate) = 980b9aa9226c3b7de8e2adb11bf20124327c054e0e5812d2aac0b5b5a87e7464 +SIZE (rust/crates/x11-clipboard-0.7.1.crate) = 8477 +SHA256 (rust/crates/x11-dl-2.21.0.crate) = 38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f +SIZE (rust/crates/x11-dl-2.21.0.crate) = 66823 +SHA256 (rust/crates/x11rb-0.10.1.crate) = 592b4883219f345e712b3209c62654ebda0bb50887f330cbd018d0f654bfd507 +SIZE (rust/crates/x11rb-0.10.1.crate) = 207678 +SHA256 (rust/crates/x11rb-0.12.0.crate) = b1641b26d4dec61337c35a1b1aaf9e3cba8f46f0b43636c609ab0291a648040a +SIZE (rust/crates/x11rb-0.12.0.crate) = 218514 +SHA256 (rust/crates/x11rb-protocol-0.10.0.crate) = 56b245751c0ac9db0e006dc812031482784e434630205a93c73cfefcaabeac67 +SIZE (rust/crates/x11rb-protocol-0.10.0.crate) = 419025 +SHA256 (rust/crates/x11rb-protocol-0.12.0.crate) = 82d6c3f9a0fb6701fab8f6cea9b0c0bd5d6876f1f89f7fada07e558077c344bc +SIZE (rust/crates/x11rb-protocol-0.12.0.crate) = 478311 +SHA256 (rust/crates/xattr-1.0.1.crate) = f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985 +SIZE (rust/crates/xattr-1.0.1.crate) = 12258 +SHA256 (rust/crates/xcursor-0.3.4.crate) = 463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7 +SIZE (rust/crates/xcursor-0.3.4.crate) = 6069 +SHA256 (rust/crates/xdg-home-1.0.0.crate) = 2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd +SIZE (rust/crates/xdg-home-1.0.0.crate) = 3310 +SHA256 (rust/crates/xkbcommon-0.6.0.crate) = c286371c44b3572d19b09196c129a8fff47d7704d6494daefb44fec10f0278ab +SIZE (rust/crates/xkbcommon-0.6.0.crate) = 58899 +SHA256 (rust/crates/xkeysym-0.2.0.crate) = 054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621 +SIZE (rust/crates/xkeysym-0.2.0.crate) = 101431 +SHA256 (rust/crates/xml-rs-0.8.19.crate) = 0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a +SIZE (rust/crates/xml-rs-0.8.19.crate) = 54051 +SHA256 (rust/crates/xmlparser-0.13.6.crate) = 66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4 +SIZE (rust/crates/xmlparser-0.13.6.crate) = 26718 +SHA256 (rust/crates/xmlwriter-0.1.0.crate) = ec7a2a501ed189703dba8b08142f057e887dfc4b2cc4db2d343ac6376ba3e0b9 +SIZE (rust/crates/xmlwriter-0.1.0.crate) = 6261 +SHA256 (rust/crates/zbus-3.14.1.crate) = 31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948 +SIZE (rust/crates/zbus-3.14.1.crate) = 148931 +SHA256 (rust/crates/zbus_macros-3.14.1.crate) = 41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d +SIZE (rust/crates/zbus_macros-3.14.1.crate) = 25893 +SHA256 (rust/crates/zbus_names-2.6.0.crate) = fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9 +SIZE (rust/crates/zbus_names-2.6.0.crate) = 9638 +SHA256 (rust/crates/zune-inflate-0.2.54.crate) = 73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02 +SIZE (rust/crates/zune-inflate-0.2.54.crate) = 37973 +SHA256 (rust/crates/zvariant-3.15.0.crate) = 44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c +SIZE (rust/crates/zvariant-3.15.0.crate) = 72221 +SHA256 (rust/crates/zvariant_derive-3.15.0.crate) = 934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd +SIZE (rust/crates/zvariant_derive-3.15.0.crate) = 10943 +SHA256 (rust/crates/zvariant_utils-1.0.1.crate) = 7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200 +SIZE (rust/crates/zvariant_utils-1.0.1.crate) = 6223 +SHA256 (waycrate-xdg-desktop-portal-luminous-v0.1.1_GH0.tar.gz) = 32ca45851bf0001ed51fb392fda5cc8b9d3537489596d7e8897600238af793a0 +SIZE (waycrate-xdg-desktop-portal-luminous-v0.1.1_GH0.tar.gz) = 53217 diff --git a/x11/xdg-desktop-portal-luminous/files/patch-drm-sys b/x11/xdg-desktop-portal-luminous/files/patch-drm-sys new file mode 100644 index 000000000000..04f69f7d9157 --- /dev/null +++ b/x11/xdg-desktop-portal-luminous/files/patch-drm-sys @@ -0,0 +1,6727 @@ +https://github.com/Smithay/drm-rs/pull/172 + +--- /dev/null 1970-01-01 00:00:00 UTC ++++ cargo-crates/drm-sys-0.4.0/src/platforms/freebsd/aarch64/bindings.rs +@@ -0,0 +1,1342 @@ ++/* automatically generated by rust-bindgen 0.59.2 */ ++ ++pub const DRM_NAME: &[u8; 4usize] = b"drm\0"; ++pub const DRM_MIN_ORDER: u32 = 5; ++pub const DRM_MAX_ORDER: u32 = 22; ++pub const DRM_RAM_PERCENT: u32 = 10; ++pub const _DRM_LOCK_HELD: u32 = 2147483648; ++pub const _DRM_LOCK_CONT: u32 = 1073741824; ++pub const _DRM_VBLANK_HIGH_CRTC_SHIFT: u32 = 1; ++pub const _DRM_PRE_MODESET: u32 = 1; ++pub const _DRM_POST_MODESET: u32 = 2; ++pub const DRM_CAP_DUMB_BUFFER: u32 = 1; ++pub const DRM_CAP_VBLANK_HIGH_CRTC: u32 = 2; ++pub const DRM_CAP_DUMB_PREFERRED_DEPTH: u32 = 3; ++pub const DRM_CAP_DUMB_PREFER_SHADOW: u32 = 4; ++pub const DRM_CAP_PRIME: u32 = 5; ++pub const DRM_PRIME_CAP_IMPORT: u32 = 1; ++pub const DRM_PRIME_CAP_EXPORT: u32 = 2; ++pub const DRM_CAP_TIMESTAMP_MONOTONIC: u32 = 6; ++pub const DRM_CAP_ASYNC_PAGE_FLIP: u32 = 7; ++pub const DRM_CAP_CURSOR_WIDTH: u32 = 8; ++pub const DRM_CAP_CURSOR_HEIGHT: u32 = 9; ++pub const DRM_CAP_ADDFB2_MODIFIERS: u32 = 16; ++pub const DRM_CAP_PAGE_FLIP_TARGET: u32 = 17; ++pub const DRM_CAP_CRTC_IN_VBLANK_EVENT: u32 = 18; ++pub const DRM_CAP_SYNCOBJ: u32 = 19; ++pub const DRM_CAP_SYNCOBJ_TIMELINE: u32 = 20; ++pub const DRM_CLIENT_CAP_STEREO_3D: u32 = 1; ++pub const DRM_CLIENT_CAP_UNIVERSAL_PLANES: u32 = 2; ++pub const DRM_CLIENT_CAP_ATOMIC: u32 = 3; ++pub const DRM_CLIENT_CAP_ASPECT_RATIO: u32 = 4; ++pub const DRM_CLIENT_CAP_WRITEBACK_CONNECTORS: u32 = 5; ++pub const DRM_SYNCOBJ_CREATE_SIGNALED: u32 = 1; ++pub const DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT: u32 = 2; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE: u32 = 4; ++pub const DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_RELATIVE: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_NEXT_ON_MISS: u32 = 2; ++pub const DRM_CONNECTOR_NAME_LEN: u32 = 32; ++pub const DRM_DISPLAY_MODE_LEN: u32 = 32; ++pub const DRM_PROP_NAME_LEN: u32 = 32; ++pub const DRM_MODE_TYPE_BUILTIN: u32 = 1; ++pub const DRM_MODE_TYPE_CLOCK_C: u32 = 3; ++pub const DRM_MODE_TYPE_CRTC_C: u32 = 5; ++pub const DRM_MODE_TYPE_PREFERRED: u32 = 8; ++pub const DRM_MODE_TYPE_DEFAULT: u32 = 16; ++pub const DRM_MODE_TYPE_USERDEF: u32 = 32; ++pub const DRM_MODE_TYPE_DRIVER: u32 = 64; ++pub const DRM_MODE_TYPE_ALL: u32 = 104; ++pub const DRM_MODE_FLAG_PHSYNC: u32 = 1; ++pub const DRM_MODE_FLAG_NHSYNC: u32 = 2; ++pub const DRM_MODE_FLAG_PVSYNC: u32 = 4; ++pub const DRM_MODE_FLAG_NVSYNC: u32 = 8; ++pub const DRM_MODE_FLAG_INTERLACE: u32 = 16; ++pub const DRM_MODE_FLAG_DBLSCAN: u32 = 32; ++pub const DRM_MODE_FLAG_CSYNC: u32 = 64; ++pub const DRM_MODE_FLAG_PCSYNC: u32 = 128; ++pub const DRM_MODE_FLAG_NCSYNC: u32 = 256; ++pub const DRM_MODE_FLAG_HSKEW: u32 = 512; ++pub const DRM_MODE_FLAG_BCAST: u32 = 1024; ++pub const DRM_MODE_FLAG_PIXMUX: u32 = 2048; ++pub const DRM_MODE_FLAG_DBLCLK: u32 = 4096; ++pub const DRM_MODE_FLAG_CLKDIV2: u32 = 8192; ++pub const DRM_MODE_FLAG_3D_MASK: u32 = 507904; ++pub const DRM_MODE_FLAG_3D_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_3D_FRAME_PACKING: u32 = 16384; ++pub const DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: u32 = 32768; ++pub const DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: u32 = 49152; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: u32 = 65536; ++pub const DRM_MODE_FLAG_3D_L_DEPTH: u32 = 81920; ++pub const DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: u32 = 98304; ++pub const DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: u32 = 114688; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: u32 = 131072; ++pub const DRM_MODE_PICTURE_ASPECT_NONE: u32 = 0; ++pub const DRM_MODE_PICTURE_ASPECT_4_3: u32 = 1; ++pub const DRM_MODE_PICTURE_ASPECT_16_9: u32 = 2; ++pub const DRM_MODE_PICTURE_ASPECT_64_27: u32 = 3; ++pub const DRM_MODE_PICTURE_ASPECT_256_135: u32 = 4; ++pub const DRM_MODE_CONTENT_TYPE_NO_DATA: u32 = 0; ++pub const DRM_MODE_CONTENT_TYPE_GRAPHICS: u32 = 1; ++pub const DRM_MODE_CONTENT_TYPE_PHOTO: u32 = 2; ++pub const DRM_MODE_CONTENT_TYPE_CINEMA: u32 = 3; ++pub const DRM_MODE_CONTENT_TYPE_GAME: u32 = 4; ++pub const DRM_MODE_FLAG_PIC_AR_MASK: u32 = 7864320; ++pub const DRM_MODE_FLAG_PIC_AR_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_PIC_AR_4_3: u32 = 524288; ++pub const DRM_MODE_FLAG_PIC_AR_16_9: u32 = 1048576; ++pub const DRM_MODE_FLAG_PIC_AR_64_27: u32 = 1572864; ++pub const DRM_MODE_FLAG_PIC_AR_256_135: u32 = 2097152; ++pub const DRM_MODE_FLAG_ALL: u32 = 521215; ++pub const DRM_MODE_DPMS_ON: u32 = 0; ++pub const DRM_MODE_DPMS_STANDBY: u32 = 1; ++pub const DRM_MODE_DPMS_SUSPEND: u32 = 2; ++pub const DRM_MODE_DPMS_OFF: u32 = 3; ++pub const DRM_MODE_SCALE_NONE: u32 = 0; ++pub const DRM_MODE_SCALE_FULLSCREEN: u32 = 1; ++pub const DRM_MODE_SCALE_CENTER: u32 = 2; ++pub const DRM_MODE_SCALE_ASPECT: u32 = 3; ++pub const DRM_MODE_DITHERING_OFF: u32 = 0; ++pub const DRM_MODE_DITHERING_ON: u32 = 1; ++pub const DRM_MODE_DITHERING_AUTO: u32 = 2; ++pub const DRM_MODE_DIRTY_OFF: u32 = 0; ++pub const DRM_MODE_DIRTY_ON: u32 = 1; ++pub const DRM_MODE_DIRTY_ANNOTATE: u32 = 2; ++pub const DRM_MODE_LINK_STATUS_GOOD: u32 = 0; ++pub const DRM_MODE_LINK_STATUS_BAD: u32 = 1; ++pub const DRM_MODE_ROTATE_0: u32 = 1; ++pub const DRM_MODE_ROTATE_90: u32 = 2; ++pub const DRM_MODE_ROTATE_180: u32 = 4; ++pub const DRM_MODE_ROTATE_270: u32 = 8; ++pub const DRM_MODE_ROTATE_MASK: u32 = 15; ++pub const DRM_MODE_REFLECT_X: u32 = 16; ++pub const DRM_MODE_REFLECT_Y: u32 = 32; ++pub const DRM_MODE_REFLECT_MASK: u32 = 48; ++pub const DRM_MODE_CONTENT_PROTECTION_UNDESIRED: u32 = 0; ++pub const DRM_MODE_CONTENT_PROTECTION_DESIRED: u32 = 1; ++pub const DRM_MODE_CONTENT_PROTECTION_ENABLED: u32 = 2; ++pub const DRM_MODE_PRESENT_TOP_FIELD: u32 = 1; ++pub const DRM_MODE_PRESENT_BOTTOM_FIELD: u32 = 2; ++pub const DRM_MODE_ENCODER_NONE: u32 = 0; ++pub const DRM_MODE_ENCODER_DAC: u32 = 1; ++pub const DRM_MODE_ENCODER_TMDS: u32 = 2; ++pub const DRM_MODE_ENCODER_LVDS: u32 = 3; ++pub const DRM_MODE_ENCODER_TVDAC: u32 = 4; ++pub const DRM_MODE_ENCODER_VIRTUAL: u32 = 5; ++pub const DRM_MODE_ENCODER_DSI: u32 = 6; ++pub const DRM_MODE_ENCODER_DPMST: u32 = 7; ++pub const DRM_MODE_ENCODER_DPI: u32 = 8; ++pub const DRM_MODE_CONNECTOR_Unknown: u32 = 0; ++pub const DRM_MODE_CONNECTOR_VGA: u32 = 1; ++pub const DRM_MODE_CONNECTOR_DVII: u32 = 2; ++pub const DRM_MODE_CONNECTOR_DVID: u32 = 3; ++pub const DRM_MODE_CONNECTOR_DVIA: u32 = 4; ++pub const DRM_MODE_CONNECTOR_Composite: u32 = 5; ++pub const DRM_MODE_CONNECTOR_SVIDEO: u32 = 6; ++pub const DRM_MODE_CONNECTOR_LVDS: u32 = 7; ++pub const DRM_MODE_CONNECTOR_Component: u32 = 8; ++pub const DRM_MODE_CONNECTOR_9PinDIN: u32 = 9; ++pub const DRM_MODE_CONNECTOR_DisplayPort: u32 = 10; ++pub const DRM_MODE_CONNECTOR_HDMIA: u32 = 11; ++pub const DRM_MODE_CONNECTOR_HDMIB: u32 = 12; ++pub const DRM_MODE_CONNECTOR_TV: u32 = 13; ++pub const DRM_MODE_CONNECTOR_eDP: u32 = 14; ++pub const DRM_MODE_CONNECTOR_VIRTUAL: u32 = 15; ++pub const DRM_MODE_CONNECTOR_DSI: u32 = 16; ++pub const DRM_MODE_CONNECTOR_DPI: u32 = 17; ++pub const DRM_MODE_CONNECTOR_WRITEBACK: u32 = 18; ++pub const DRM_MODE_CONNECTOR_SPI: u32 = 19; ++pub const DRM_MODE_CONNECTOR_USB: u32 = 20; ++pub const DRM_MODE_PROP_PENDING: u32 = 1; ++pub const DRM_MODE_PROP_RANGE: u32 = 2; ++pub const DRM_MODE_PROP_IMMUTABLE: u32 = 4; ++pub const DRM_MODE_PROP_ENUM: u32 = 8; ++pub const DRM_MODE_PROP_BLOB: u32 = 16; ++pub const DRM_MODE_PROP_BITMASK: u32 = 32; ++pub const DRM_MODE_PROP_LEGACY_TYPE: u32 = 58; ++pub const DRM_MODE_PROP_EXTENDED_TYPE: u32 = 65472; ++pub const DRM_MODE_PROP_ATOMIC: u32 = 2147483648; ++pub const DRM_MODE_OBJECT_CRTC: u32 = 3435973836; ++pub const DRM_MODE_OBJECT_CONNECTOR: u32 = 3233857728; ++pub const DRM_MODE_OBJECT_ENCODER: u32 = 3772834016; ++pub const DRM_MODE_OBJECT_MODE: u32 = 3739147998; ++pub const DRM_MODE_OBJECT_PROPERTY: u32 = 2964369584; ++pub const DRM_MODE_OBJECT_FB: u32 = 4227595259; ++pub const DRM_MODE_OBJECT_BLOB: u32 = 3149642683; ++pub const DRM_MODE_OBJECT_PLANE: u32 = 4008636142; ++pub const DRM_MODE_OBJECT_ANY: u32 = 0; ++pub const DRM_MODE_FB_INTERLACED: u32 = 1; ++pub const DRM_MODE_FB_MODIFIERS: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_COPY: u32 = 1; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_FILL: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_FLAGS: u32 = 3; ++pub const DRM_MODE_FB_DIRTY_MAX_CLIPS: u32 = 256; ++pub const DRM_MODE_CURSOR_BO: u32 = 1; ++pub const DRM_MODE_CURSOR_MOVE: u32 = 2; ++pub const DRM_MODE_CURSOR_FLAGS: u32 = 3; ++pub const DRM_MODE_PAGE_FLIP_EVENT: u32 = 1; ++pub const DRM_MODE_PAGE_FLIP_ASYNC: u32 = 2; ++pub const DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE: u32 = 4; ++pub const DRM_MODE_PAGE_FLIP_TARGET_RELATIVE: u32 = 8; ++pub const DRM_MODE_PAGE_FLIP_TARGET: u32 = 12; ++pub const DRM_MODE_PAGE_FLIP_FLAGS: u32 = 15; ++pub const DRM_MODE_ATOMIC_TEST_ONLY: u32 = 256; ++pub const DRM_MODE_ATOMIC_NONBLOCK: u32 = 512; ++pub const DRM_MODE_ATOMIC_ALLOW_MODESET: u32 = 1024; ++pub const DRM_MODE_ATOMIC_FLAGS: u32 = 1795; ++pub const DRM_IOCTL_BASE: u8 = 100u8; ++pub const DRM_COMMAND_BASE: u32 = 64; ++pub const DRM_COMMAND_END: u32 = 160; ++pub const DRM_EVENT_VBLANK: u32 = 1; ++pub const DRM_EVENT_FLIP_COMPLETE: u32 = 2; ++pub const DRM_EVENT_CRTC_SEQUENCE: u32 = 3; ++pub type __uint16_t = libc::c_ushort; ++pub type __int32_t = libc::c_int; ++pub type __uint32_t = libc::c_uint; ++pub type __int64_t = libc::c_long; ++pub type __uint64_t = libc::c_ulong; ++pub type __size_t = __uint64_t; ++pub type size_t = __size_t; ++pub type __u16 = u16; ++pub type __s32 = i32; ++pub type __u32 = u32; ++pub type __s64 = i64; ++pub type __u64 = u64; ++pub type __kernel_size_t = size_t; ++pub type drm_handle_t = libc::c_ulong; ++pub type drm_context_t = libc::c_uint; ++pub type drm_drawable_t = libc::c_uint; ++pub type drm_magic_t = libc::c_uint; ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_clip_rect { ++ pub x1: libc::c_ushort, ++ pub y1: libc::c_ushort, ++ pub x2: libc::c_ushort, ++ pub y2: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_drawable_info { ++ pub num_rects: libc::c_uint, ++ pub rects: *mut drm_clip_rect, ++} ++impl Default for drm_drawable_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_tex_region { ++ pub next: libc::c_uchar, ++ pub prev: libc::c_uchar, ++ pub in_use: libc::c_uchar, ++ pub padding: libc::c_uchar, ++ pub age: libc::c_uint, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_hw_lock { ++ pub lock: libc::c_uint, ++ pub padding: [libc::c_char; 60usize], ++} ++impl Default for drm_hw_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_version { ++ pub version_major: libc::c_int, ++ pub version_minor: libc::c_int, ++ pub version_patchlevel: libc::c_int, ++ pub name_len: __kernel_size_t, ++ pub name: *mut libc::c_char, ++ pub date_len: __kernel_size_t, ++ pub date: *mut libc::c_char, ++ pub desc_len: __kernel_size_t, ++ pub desc: *mut libc::c_char, ++} ++impl Default for drm_version { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_unique { ++ pub unique_len: __kernel_size_t, ++ pub unique: *mut libc::c_char, ++} ++impl Default for drm_unique { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_list { ++ pub count: libc::c_int, ++ pub version: *mut drm_version, ++} ++impl Default for drm_list { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_block { ++ pub unused: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_control { ++ pub func: drm_control__bindgen_ty_1::Type, ++ pub irq: libc::c_int, ++} ++pub mod drm_control__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const DRM_ADD_COMMAND: Type = 0; ++ pub const DRM_RM_COMMAND: Type = 1; ++ pub const DRM_INST_HANDLER: Type = 2; ++ pub const DRM_UNINST_HANDLER: Type = 3; ++} ++impl Default for drm_control { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_map_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_FRAME_BUFFER: Type = 0; ++ pub const _DRM_REGISTERS: Type = 1; ++ pub const _DRM_SHM: Type = 2; ++ pub const _DRM_AGP: Type = 3; ++ pub const _DRM_SCATTER_GATHER: Type = 4; ++ pub const _DRM_CONSISTENT: Type = 5; ++} ++pub mod drm_map_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_RESTRICTED: Type = 1; ++ pub const _DRM_READ_ONLY: Type = 2; ++ pub const _DRM_LOCKED: Type = 4; ++ pub const _DRM_KERNEL: Type = 8; ++ pub const _DRM_WRITE_COMBINING: Type = 16; ++ pub const _DRM_CONTAINS_LOCK: Type = 32; ++ pub const _DRM_REMOVABLE: Type = 64; ++ pub const _DRM_DRIVER: Type = 128; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_priv_map { ++ pub ctx_id: libc::c_uint, ++ pub handle: *mut libc::c_void, ++} ++impl Default for drm_ctx_priv_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_map { ++ pub offset: libc::c_ulong, ++ pub size: libc::c_ulong, ++ pub type_: drm_map_type::Type, ++ pub flags: drm_map_flags::Type, ++ pub handle: *mut libc::c_void, ++ pub mtrr: libc::c_int, ++} ++impl Default for drm_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_client { ++ pub idx: libc::c_int, ++ pub auth: libc::c_int, ++ pub pid: libc::c_ulong, ++ pub uid: libc::c_ulong, ++ pub magic: libc::c_ulong, ++ pub iocs: libc::c_ulong, ++} ++pub mod drm_stat_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_STAT_LOCK: Type = 0; ++ pub const _DRM_STAT_OPENS: Type = 1; ++ pub const _DRM_STAT_CLOSES: Type = 2; ++ pub const _DRM_STAT_IOCTLS: Type = 3; ++ pub const _DRM_STAT_LOCKS: Type = 4; ++ pub const _DRM_STAT_UNLOCKS: Type = 5; ++ pub const _DRM_STAT_VALUE: Type = 6; ++ pub const _DRM_STAT_BYTE: Type = 7; ++ pub const _DRM_STAT_COUNT: Type = 8; ++ pub const _DRM_STAT_IRQ: Type = 9; ++ pub const _DRM_STAT_PRIMARY: Type = 10; ++ pub const _DRM_STAT_SECONDARY: Type = 11; ++ pub const _DRM_STAT_DMA: Type = 12; ++ pub const _DRM_STAT_SPECIAL: Type = 13; ++ pub const _DRM_STAT_MISSED: Type = 14; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats { ++ pub count: libc::c_ulong, ++ pub data: [drm_stats__bindgen_ty_1; 15usize], ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats__bindgen_ty_1 { ++ pub value: libc::c_ulong, ++ pub type_: drm_stat_type::Type, ++} ++impl Default for drm_stats__bindgen_ty_1 { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++impl Default for drm_stats { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_lock_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_LOCK_READY: Type = 1; ++ pub const _DRM_LOCK_QUIESCENT: Type = 2; ++ pub const _DRM_LOCK_FLUSH: Type = 4; ++ pub const _DRM_LOCK_FLUSH_ALL: Type = 8; ++ pub const _DRM_HALT_ALL_QUEUES: Type = 16; ++ pub const _DRM_HALT_CUR_QUEUES: Type = 32; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_lock { ++ pub context: libc::c_int, ++ pub flags: drm_lock_flags::Type, ++} ++impl Default for drm_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_dma_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_DMA_BLOCK: Type = 1; ++ pub const _DRM_DMA_WHILE_LOCKED: Type = 2; ++ pub const _DRM_DMA_PRIORITY: Type = 4; ++ pub const _DRM_DMA_WAIT: Type = 16; ++ pub const _DRM_DMA_SMALLER_OK: Type = 32; ++ pub const _DRM_DMA_LARGER_OK: Type = 64; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_desc { ++ pub count: libc::c_int, ++ pub size: libc::c_int, ++ pub low_mark: libc::c_int, ++ pub high_mark: libc::c_int, ++ pub flags: drm_buf_desc__bindgen_ty_1::Type, ++ pub agp_start: libc::c_ulong, ++} ++pub mod drm_buf_desc__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const _DRM_PAGE_ALIGN: Type = 1; ++ pub const _DRM_AGP_BUFFER: Type = 2; ++ pub const _DRM_SG_BUFFER: Type = 4; ++ pub const _DRM_FB_BUFFER: Type = 8; ++ pub const _DRM_PCI_BUFFER_RO: Type = 16; ++} ++impl Default for drm_buf_desc { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_info { ++ pub count: libc::c_int, ++ pub list: *mut drm_buf_desc, ++} ++impl Default for drm_buf_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_free { ++ pub count: libc::c_int, ++ pub list: *mut libc::c_int, ++} ++impl Default for drm_buf_free { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_pub { ++ pub idx: libc::c_int, ++ pub total: libc::c_int, ++ pub used: libc::c_int, ++ pub address: *mut libc::c_void, ++} ++impl Default for drm_buf_pub { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_map { ++ pub count: libc::c_int, ++ pub virtual_: *mut libc::c_void, ++ pub list: *mut drm_buf_pub, ++} ++impl Default for drm_buf_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_dma { ++ pub context: libc::c_int, ++ pub send_count: libc::c_int, ++ pub send_indices: *mut libc::c_int, ++ pub send_sizes: *mut libc::c_int, ++ pub flags: drm_dma_flags::Type, ++ pub request_count: libc::c_int, ++ pub request_size: libc::c_int, ++ pub request_indices: *mut libc::c_int, ++ pub request_sizes: *mut libc::c_int, ++ pub granted_count: libc::c_int, ++} ++impl Default for drm_dma { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_ctx_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_CONTEXT_PRESERVED: Type = 1; ++ pub const _DRM_CONTEXT_2DONLY: Type = 2; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx { ++ pub handle: drm_context_t, ++ pub flags: drm_ctx_flags::Type, ++} ++impl Default for drm_ctx { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_res { ++ pub count: libc::c_int, ++ pub contexts: *mut drm_ctx, ++} ++impl Default for drm_ctx_res { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_draw { ++ pub handle: drm_drawable_t, ++} ++pub mod drm_drawable_info_type_t { ++ pub type Type = libc::c_uint; ++ pub const DRM_DRAWABLE_CLIPRECTS: Type = 0; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_update_draw { ++ pub handle: drm_drawable_t, ++ pub type_: libc::c_uint, ++ pub num: libc::c_uint, ++ pub data: libc::c_ulonglong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_auth { ++ pub magic: drm_magic_t, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_irq_busid { ++ pub irq: libc::c_int, ++ pub busnum: libc::c_int, ++ pub devnum: libc::c_int, ++ pub funcnum: libc::c_int, ++} ++pub mod drm_vblank_seq_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_VBLANK_ABSOLUTE: Type = 0; ++ pub const _DRM_VBLANK_RELATIVE: Type = 1; ++ pub const _DRM_VBLANK_HIGH_CRTC_MASK: Type = 62; ++ pub const _DRM_VBLANK_EVENT: Type = 67108864; ++ pub const _DRM_VBLANK_FLIP: Type = 134217728; ++ pub const _DRM_VBLANK_NEXTONMISS: Type = 268435456; ++ pub const _DRM_VBLANK_SECONDARY: Type = 536870912; ++ pub const _DRM_VBLANK_SIGNAL: Type = 1073741824; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_request { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub signal: libc::c_ulong, ++} ++impl Default for drm_wait_vblank_request { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_reply { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub tval_sec: libc::c_long, ++ pub tval_usec: libc::c_long, ++} ++impl Default for drm_wait_vblank_reply { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Copy, Clone)] ++pub union drm_wait_vblank { ++ pub request: drm_wait_vblank_request, ++ pub reply: drm_wait_vblank_reply, ++} ++impl Default for drm_wait_vblank { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_modeset_ctl { ++ pub crtc: __u32, ++ pub cmd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_mode { ++ pub mode: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_buffer { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++ pub type_: libc::c_ulong, ++ pub physical: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_binding { ++ pub handle: libc::c_ulong, ++ pub offset: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_info { ++ pub agp_version_major: libc::c_int, ++ pub agp_version_minor: libc::c_int, ++ pub mode: libc::c_ulong, ++ pub aperture_base: libc::c_ulong, ++ pub aperture_size: libc::c_ulong, ++ pub memory_allowed: libc::c_ulong, ++ pub memory_used: libc::c_ulong, ++ pub id_vendor: libc::c_ushort, ++ pub id_device: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_scatter_gather { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_version { ++ pub drm_di_major: libc::c_int, ++ pub drm_di_minor: libc::c_int, ++ pub drm_dd_major: libc::c_int, ++ pub drm_dd_minor: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_close { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_flink { ++ pub handle: __u32, ++ pub name: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_open { ++ pub name: __u32, ++ pub handle: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_get_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_client_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_prime_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_create { ++ pub handle: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_destroy { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_transfer { ++ pub src_handle: __u32, ++ pub dst_handle: __u32, ++ pub src_point: __u64, ++ pub dst_point: __u64, ++ pub flags: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_wait { ++ pub handles: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_wait { ++ pub handles: __u64, ++ pub points: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_array { ++ pub handles: __u64, ++ pub count_handles: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_array { ++ pub handles: __u64, ++ pub points: __u64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_get_sequence { ++ pub crtc_id: __u32, ++ pub active: __u32, ++ pub sequence: __u64, ++ pub sequence_ns: __s64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_queue_sequence { ++ pub crtc_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_modeinfo { ++ pub clock: __u32, ++ pub hdisplay: __u16, ++ pub hsync_start: __u16, ++ pub hsync_end: __u16, ++ pub htotal: __u16, ++ pub hskew: __u16, ++ pub vdisplay: __u16, ++ pub vsync_start: __u16, ++ pub vsync_end: __u16, ++ pub vtotal: __u16, ++ pub vscan: __u16, ++ pub vrefresh: __u32, ++ pub flags: __u32, ++ pub type_: __u32, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_card_res { ++ pub fb_id_ptr: __u64, ++ pub crtc_id_ptr: __u64, ++ pub connector_id_ptr: __u64, ++ pub encoder_id_ptr: __u64, ++ pub count_fbs: __u32, ++ pub count_crtcs: __u32, ++ pub count_connectors: __u32, ++ pub count_encoders: __u32, ++ pub min_width: __u32, ++ pub max_width: __u32, ++ pub min_height: __u32, ++ pub max_height: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc { ++ pub set_connectors_ptr: __u64, ++ pub count_connectors: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub x: __u32, ++ pub y: __u32, ++ pub gamma_size: __u32, ++ pub mode_valid: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_set_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub crtc_x: __s32, ++ pub crtc_y: __s32, ++ pub crtc_w: __u32, ++ pub crtc_h: __u32, ++ pub src_x: __u32, ++ pub src_y: __u32, ++ pub src_h: __u32, ++ pub src_w: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub possible_crtcs: __u32, ++ pub gamma_size: __u32, ++ pub count_format_types: __u32, ++ pub format_type_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane_res { ++ pub plane_id_ptr: __u64, ++ pub count_planes: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_encoder { ++ pub encoder_id: __u32, ++ pub encoder_type: __u32, ++ pub crtc_id: __u32, ++ pub possible_crtcs: __u32, ++ pub possible_clones: __u32, ++} ++pub mod drm_mode_subconnector { ++ pub type Type = libc::c_uint; ++ pub const DRM_MODE_SUBCONNECTOR_Automatic: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_Unknown: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_VGA: Type = 1; ++ pub const DRM_MODE_SUBCONNECTOR_DVID: Type = 3; ++ pub const DRM_MODE_SUBCONNECTOR_DVIA: Type = 4; ++ pub const DRM_MODE_SUBCONNECTOR_Composite: Type = 5; ++ pub const DRM_MODE_SUBCONNECTOR_SVIDEO: Type = 6; ++ pub const DRM_MODE_SUBCONNECTOR_Component: Type = 8; ++ pub const DRM_MODE_SUBCONNECTOR_SCART: Type = 9; ++ pub const DRM_MODE_SUBCONNECTOR_DisplayPort: Type = 10; ++ pub const DRM_MODE_SUBCONNECTOR_HDMIA: Type = 11; ++ pub const DRM_MODE_SUBCONNECTOR_Native: Type = 15; ++ pub const DRM_MODE_SUBCONNECTOR_Wireless: Type = 18; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_connector { ++ pub encoders_ptr: __u64, ++ pub modes_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_modes: __u32, ++ pub count_props: __u32, ++ pub count_encoders: __u32, ++ pub encoder_id: __u32, ++ pub connector_id: __u32, ++ pub connector_type: __u32, ++ pub connector_type_id: __u32, ++ pub connection: __u32, ++ pub mm_width: __u32, ++ pub mm_height: __u32, ++ pub subpixel: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_property_enum { ++ pub value: __u64, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_property { ++ pub values_ptr: __u64, ++ pub enum_blob_ptr: __u64, ++ pub prop_id: __u32, ++ pub flags: __u32, ++ pub name: [libc::c_char; 32usize], ++ pub count_values: __u32, ++ pub count_enum_blobs: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_connector_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub connector_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_get_properties { ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_props: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_blob { ++ pub blob_id: __u32, ++ pub length: __u32, ++ pub data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pitch: __u32, ++ pub bpp: __u32, ++ pub depth: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd2 { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pixel_format: __u32, ++ pub flags: __u32, ++ pub handles: [__u32; 4usize], ++ pub pitches: [__u32; 4usize], ++ pub offsets: [__u32; 4usize], ++ pub modifier: [__u64; 4usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_dirty_cmd { ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub color: __u32, ++ pub num_clips: __u32, ++ pub clips_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_mode_cmd { ++ pub connector_id: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor2 { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++ pub hot_x: __s32, ++ pub hot_y: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_lut { ++ pub crtc_id: __u32, ++ pub gamma_size: __u32, ++ pub red: __u64, ++ pub green: __u64, ++ pub blue: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_ctm { ++ pub matrix: [__u64; 9usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_lut { ++ pub red: __u16, ++ pub green: __u16, ++ pub blue: __u16, ++ pub reserved: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct hdr_metadata_infoframe__bindgen_ty_1 { ++ pub x: __u16, ++ pub y: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub reserved: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip_target { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_dumb { ++ pub height: __u32, ++ pub width: __u32, ++ pub bpp: __u32, ++ pub flags: __u32, ++ pub handle: __u32, ++ pub pitch: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_map_dumb { ++ pub handle: __u32, ++ pub pad: __u32, ++ pub offset: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_dumb { ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_atomic { ++ pub flags: __u32, ++ pub count_objs: __u32, ++ pub objs_ptr: __u64, ++ pub count_props_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub reserved: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier_blob { ++ pub version: __u32, ++ pub flags: __u32, ++ pub count_formats: __u32, ++ pub formats_offset: __u32, ++ pub count_modifiers: __u32, ++ pub modifiers_offset: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier { ++ pub formats: __u64, ++ pub offset: __u32, ++ pub pad: __u32, ++ pub modifier: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_blob { ++ pub data: __u64, ++ pub length: __u32, ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_blob { ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_lease { ++ pub object_ids: __u64, ++ pub object_count: __u32, ++ pub flags: __u32, ++ pub lessee_id: __u32, ++ pub fd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_list_lessees { ++ pub count_lessees: __u32, ++ pub pad: __u32, ++ pub lessees_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_lease { ++ pub count_objects: __u32, ++ pub pad: __u32, ++ pub objects_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_revoke_lease { ++ pub lessee_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_rect { ++ pub x1: __s32, ++ pub y1: __s32, ++ pub x2: __s32, ++ pub y2: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event { ++ pub type_: __u32, ++ pub length: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_vblank { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub tv_sec: __u32, ++ pub tv_usec: __u32, ++ pub sequence: __u32, ++ pub crtc_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_crtc_sequence { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub time_ns: __s64, ++ pub sequence: __u64, ++} ++pub type drm_clip_rect_t = drm_clip_rect; ++pub type drm_drawable_info_t = drm_drawable_info; ++pub type drm_tex_region_t = drm_tex_region; ++pub type drm_hw_lock_t = drm_hw_lock; ++pub type drm_version_t = drm_version; ++pub type drm_unique_t = drm_unique; ++pub type drm_list_t = drm_list; ++pub type drm_block_t = drm_block; ++pub type drm_control_t = drm_control; ++pub use self::drm_map_flags::Type as drm_map_flags_t; ++pub use self::drm_map_type::Type as drm_map_type_t; ++pub type drm_ctx_priv_map_t = drm_ctx_priv_map; ++pub type drm_map_t = drm_map; ++pub type drm_client_t = drm_client; ++pub use self::drm_stat_type::Type as drm_stat_type_t; ++pub type drm_stats_t = drm_stats; ++pub use self::drm_lock_flags::Type as drm_lock_flags_t; ++pub type drm_lock_t = drm_lock; ++pub use self::drm_dma_flags::Type as drm_dma_flags_t; ++pub type drm_buf_desc_t = drm_buf_desc; ++pub type drm_buf_info_t = drm_buf_info; ++pub type drm_buf_free_t = drm_buf_free; ++pub type drm_buf_pub_t = drm_buf_pub; ++pub type drm_buf_map_t = drm_buf_map; ++pub type drm_dma_t = drm_dma; ++pub type drm_wait_vblank_t = drm_wait_vblank; ++pub type drm_agp_mode_t = drm_agp_mode; ++pub use self::drm_ctx_flags::Type as drm_ctx_flags_t; ++pub type drm_ctx_t = drm_ctx; ++pub type drm_ctx_res_t = drm_ctx_res; ++pub type drm_draw_t = drm_draw; ++pub type drm_update_draw_t = drm_update_draw; ++pub type drm_auth_t = drm_auth; ++pub type drm_irq_busid_t = drm_irq_busid; ++pub use self::drm_vblank_seq_type::Type as drm_vblank_seq_type_t; ++pub type drm_agp_buffer_t = drm_agp_buffer; ++pub type drm_agp_binding_t = drm_agp_binding; ++pub type drm_agp_info_t = drm_agp_info; ++pub type drm_scatter_gather_t = drm_scatter_gather; ++pub type drm_set_version_t = drm_set_version; ++pub const DRM_MODE_PROP_SIGNED_RANGE: libc::c_uint = 128; ++pub const DRM_MODE_PROP_OBJECT: libc::c_uint = 64; +--- /dev/null 1970-01-01 00:00:00 UTC ++++ cargo-crates/drm-sys-0.4.0/src/platforms/freebsd/arm/bindings.rs +@@ -0,0 +1,1342 @@ ++/* automatically generated by rust-bindgen 0.59.2 */ ++ ++pub const DRM_NAME: &[u8; 4usize] = b"drm\0"; ++pub const DRM_MIN_ORDER: u32 = 5; ++pub const DRM_MAX_ORDER: u32 = 22; ++pub const DRM_RAM_PERCENT: u32 = 10; ++pub const _DRM_LOCK_HELD: u32 = 2147483648; ++pub const _DRM_LOCK_CONT: u32 = 1073741824; ++pub const _DRM_VBLANK_HIGH_CRTC_SHIFT: u32 = 1; ++pub const _DRM_PRE_MODESET: u32 = 1; ++pub const _DRM_POST_MODESET: u32 = 2; ++pub const DRM_CAP_DUMB_BUFFER: u32 = 1; ++pub const DRM_CAP_VBLANK_HIGH_CRTC: u32 = 2; ++pub const DRM_CAP_DUMB_PREFERRED_DEPTH: u32 = 3; ++pub const DRM_CAP_DUMB_PREFER_SHADOW: u32 = 4; ++pub const DRM_CAP_PRIME: u32 = 5; ++pub const DRM_PRIME_CAP_IMPORT: u32 = 1; ++pub const DRM_PRIME_CAP_EXPORT: u32 = 2; ++pub const DRM_CAP_TIMESTAMP_MONOTONIC: u32 = 6; ++pub const DRM_CAP_ASYNC_PAGE_FLIP: u32 = 7; ++pub const DRM_CAP_CURSOR_WIDTH: u32 = 8; ++pub const DRM_CAP_CURSOR_HEIGHT: u32 = 9; ++pub const DRM_CAP_ADDFB2_MODIFIERS: u32 = 16; ++pub const DRM_CAP_PAGE_FLIP_TARGET: u32 = 17; ++pub const DRM_CAP_CRTC_IN_VBLANK_EVENT: u32 = 18; ++pub const DRM_CAP_SYNCOBJ: u32 = 19; ++pub const DRM_CAP_SYNCOBJ_TIMELINE: u32 = 20; ++pub const DRM_CLIENT_CAP_STEREO_3D: u32 = 1; ++pub const DRM_CLIENT_CAP_UNIVERSAL_PLANES: u32 = 2; ++pub const DRM_CLIENT_CAP_ATOMIC: u32 = 3; ++pub const DRM_CLIENT_CAP_ASPECT_RATIO: u32 = 4; ++pub const DRM_CLIENT_CAP_WRITEBACK_CONNECTORS: u32 = 5; ++pub const DRM_SYNCOBJ_CREATE_SIGNALED: u32 = 1; ++pub const DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT: u32 = 2; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE: u32 = 4; ++pub const DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_RELATIVE: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_NEXT_ON_MISS: u32 = 2; ++pub const DRM_CONNECTOR_NAME_LEN: u32 = 32; ++pub const DRM_DISPLAY_MODE_LEN: u32 = 32; ++pub const DRM_PROP_NAME_LEN: u32 = 32; ++pub const DRM_MODE_TYPE_BUILTIN: u32 = 1; ++pub const DRM_MODE_TYPE_CLOCK_C: u32 = 3; ++pub const DRM_MODE_TYPE_CRTC_C: u32 = 5; ++pub const DRM_MODE_TYPE_PREFERRED: u32 = 8; ++pub const DRM_MODE_TYPE_DEFAULT: u32 = 16; ++pub const DRM_MODE_TYPE_USERDEF: u32 = 32; ++pub const DRM_MODE_TYPE_DRIVER: u32 = 64; ++pub const DRM_MODE_TYPE_ALL: u32 = 104; ++pub const DRM_MODE_FLAG_PHSYNC: u32 = 1; ++pub const DRM_MODE_FLAG_NHSYNC: u32 = 2; ++pub const DRM_MODE_FLAG_PVSYNC: u32 = 4; ++pub const DRM_MODE_FLAG_NVSYNC: u32 = 8; ++pub const DRM_MODE_FLAG_INTERLACE: u32 = 16; ++pub const DRM_MODE_FLAG_DBLSCAN: u32 = 32; ++pub const DRM_MODE_FLAG_CSYNC: u32 = 64; ++pub const DRM_MODE_FLAG_PCSYNC: u32 = 128; ++pub const DRM_MODE_FLAG_NCSYNC: u32 = 256; ++pub const DRM_MODE_FLAG_HSKEW: u32 = 512; ++pub const DRM_MODE_FLAG_BCAST: u32 = 1024; ++pub const DRM_MODE_FLAG_PIXMUX: u32 = 2048; ++pub const DRM_MODE_FLAG_DBLCLK: u32 = 4096; ++pub const DRM_MODE_FLAG_CLKDIV2: u32 = 8192; ++pub const DRM_MODE_FLAG_3D_MASK: u32 = 507904; ++pub const DRM_MODE_FLAG_3D_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_3D_FRAME_PACKING: u32 = 16384; ++pub const DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: u32 = 32768; ++pub const DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: u32 = 49152; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: u32 = 65536; ++pub const DRM_MODE_FLAG_3D_L_DEPTH: u32 = 81920; ++pub const DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: u32 = 98304; ++pub const DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: u32 = 114688; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: u32 = 131072; ++pub const DRM_MODE_PICTURE_ASPECT_NONE: u32 = 0; ++pub const DRM_MODE_PICTURE_ASPECT_4_3: u32 = 1; ++pub const DRM_MODE_PICTURE_ASPECT_16_9: u32 = 2; ++pub const DRM_MODE_PICTURE_ASPECT_64_27: u32 = 3; ++pub const DRM_MODE_PICTURE_ASPECT_256_135: u32 = 4; ++pub const DRM_MODE_CONTENT_TYPE_NO_DATA: u32 = 0; ++pub const DRM_MODE_CONTENT_TYPE_GRAPHICS: u32 = 1; ++pub const DRM_MODE_CONTENT_TYPE_PHOTO: u32 = 2; ++pub const DRM_MODE_CONTENT_TYPE_CINEMA: u32 = 3; ++pub const DRM_MODE_CONTENT_TYPE_GAME: u32 = 4; ++pub const DRM_MODE_FLAG_PIC_AR_MASK: u32 = 7864320; ++pub const DRM_MODE_FLAG_PIC_AR_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_PIC_AR_4_3: u32 = 524288; ++pub const DRM_MODE_FLAG_PIC_AR_16_9: u32 = 1048576; ++pub const DRM_MODE_FLAG_PIC_AR_64_27: u32 = 1572864; ++pub const DRM_MODE_FLAG_PIC_AR_256_135: u32 = 2097152; ++pub const DRM_MODE_FLAG_ALL: u32 = 521215; ++pub const DRM_MODE_DPMS_ON: u32 = 0; ++pub const DRM_MODE_DPMS_STANDBY: u32 = 1; ++pub const DRM_MODE_DPMS_SUSPEND: u32 = 2; ++pub const DRM_MODE_DPMS_OFF: u32 = 3; ++pub const DRM_MODE_SCALE_NONE: u32 = 0; ++pub const DRM_MODE_SCALE_FULLSCREEN: u32 = 1; ++pub const DRM_MODE_SCALE_CENTER: u32 = 2; ++pub const DRM_MODE_SCALE_ASPECT: u32 = 3; ++pub const DRM_MODE_DITHERING_OFF: u32 = 0; ++pub const DRM_MODE_DITHERING_ON: u32 = 1; ++pub const DRM_MODE_DITHERING_AUTO: u32 = 2; ++pub const DRM_MODE_DIRTY_OFF: u32 = 0; ++pub const DRM_MODE_DIRTY_ON: u32 = 1; ++pub const DRM_MODE_DIRTY_ANNOTATE: u32 = 2; ++pub const DRM_MODE_LINK_STATUS_GOOD: u32 = 0; ++pub const DRM_MODE_LINK_STATUS_BAD: u32 = 1; ++pub const DRM_MODE_ROTATE_0: u32 = 1; ++pub const DRM_MODE_ROTATE_90: u32 = 2; ++pub const DRM_MODE_ROTATE_180: u32 = 4; ++pub const DRM_MODE_ROTATE_270: u32 = 8; ++pub const DRM_MODE_ROTATE_MASK: u32 = 15; ++pub const DRM_MODE_REFLECT_X: u32 = 16; ++pub const DRM_MODE_REFLECT_Y: u32 = 32; ++pub const DRM_MODE_REFLECT_MASK: u32 = 48; ++pub const DRM_MODE_CONTENT_PROTECTION_UNDESIRED: u32 = 0; ++pub const DRM_MODE_CONTENT_PROTECTION_DESIRED: u32 = 1; ++pub const DRM_MODE_CONTENT_PROTECTION_ENABLED: u32 = 2; ++pub const DRM_MODE_PRESENT_TOP_FIELD: u32 = 1; ++pub const DRM_MODE_PRESENT_BOTTOM_FIELD: u32 = 2; ++pub const DRM_MODE_ENCODER_NONE: u32 = 0; ++pub const DRM_MODE_ENCODER_DAC: u32 = 1; ++pub const DRM_MODE_ENCODER_TMDS: u32 = 2; ++pub const DRM_MODE_ENCODER_LVDS: u32 = 3; ++pub const DRM_MODE_ENCODER_TVDAC: u32 = 4; ++pub const DRM_MODE_ENCODER_VIRTUAL: u32 = 5; ++pub const DRM_MODE_ENCODER_DSI: u32 = 6; ++pub const DRM_MODE_ENCODER_DPMST: u32 = 7; ++pub const DRM_MODE_ENCODER_DPI: u32 = 8; ++pub const DRM_MODE_CONNECTOR_Unknown: u32 = 0; ++pub const DRM_MODE_CONNECTOR_VGA: u32 = 1; ++pub const DRM_MODE_CONNECTOR_DVII: u32 = 2; ++pub const DRM_MODE_CONNECTOR_DVID: u32 = 3; ++pub const DRM_MODE_CONNECTOR_DVIA: u32 = 4; ++pub const DRM_MODE_CONNECTOR_Composite: u32 = 5; ++pub const DRM_MODE_CONNECTOR_SVIDEO: u32 = 6; ++pub const DRM_MODE_CONNECTOR_LVDS: u32 = 7; ++pub const DRM_MODE_CONNECTOR_Component: u32 = 8; ++pub const DRM_MODE_CONNECTOR_9PinDIN: u32 = 9; ++pub const DRM_MODE_CONNECTOR_DisplayPort: u32 = 10; ++pub const DRM_MODE_CONNECTOR_HDMIA: u32 = 11; ++pub const DRM_MODE_CONNECTOR_HDMIB: u32 = 12; ++pub const DRM_MODE_CONNECTOR_TV: u32 = 13; ++pub const DRM_MODE_CONNECTOR_eDP: u32 = 14; ++pub const DRM_MODE_CONNECTOR_VIRTUAL: u32 = 15; ++pub const DRM_MODE_CONNECTOR_DSI: u32 = 16; ++pub const DRM_MODE_CONNECTOR_DPI: u32 = 17; ++pub const DRM_MODE_CONNECTOR_WRITEBACK: u32 = 18; ++pub const DRM_MODE_CONNECTOR_SPI: u32 = 19; ++pub const DRM_MODE_CONNECTOR_USB: u32 = 20; ++pub const DRM_MODE_PROP_PENDING: u32 = 1; ++pub const DRM_MODE_PROP_RANGE: u32 = 2; ++pub const DRM_MODE_PROP_IMMUTABLE: u32 = 4; ++pub const DRM_MODE_PROP_ENUM: u32 = 8; ++pub const DRM_MODE_PROP_BLOB: u32 = 16; ++pub const DRM_MODE_PROP_BITMASK: u32 = 32; ++pub const DRM_MODE_PROP_LEGACY_TYPE: u32 = 58; ++pub const DRM_MODE_PROP_EXTENDED_TYPE: u32 = 65472; ++pub const DRM_MODE_PROP_ATOMIC: u32 = 2147483648; ++pub const DRM_MODE_OBJECT_CRTC: u32 = 3435973836; ++pub const DRM_MODE_OBJECT_CONNECTOR: u32 = 3233857728; ++pub const DRM_MODE_OBJECT_ENCODER: u32 = 3772834016; ++pub const DRM_MODE_OBJECT_MODE: u32 = 3739147998; ++pub const DRM_MODE_OBJECT_PROPERTY: u32 = 2964369584; ++pub const DRM_MODE_OBJECT_FB: u32 = 4227595259; ++pub const DRM_MODE_OBJECT_BLOB: u32 = 3149642683; ++pub const DRM_MODE_OBJECT_PLANE: u32 = 4008636142; ++pub const DRM_MODE_OBJECT_ANY: u32 = 0; ++pub const DRM_MODE_FB_INTERLACED: u32 = 1; ++pub const DRM_MODE_FB_MODIFIERS: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_COPY: u32 = 1; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_FILL: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_FLAGS: u32 = 3; ++pub const DRM_MODE_FB_DIRTY_MAX_CLIPS: u32 = 256; ++pub const DRM_MODE_CURSOR_BO: u32 = 1; ++pub const DRM_MODE_CURSOR_MOVE: u32 = 2; ++pub const DRM_MODE_CURSOR_FLAGS: u32 = 3; ++pub const DRM_MODE_PAGE_FLIP_EVENT: u32 = 1; ++pub const DRM_MODE_PAGE_FLIP_ASYNC: u32 = 2; ++pub const DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE: u32 = 4; ++pub const DRM_MODE_PAGE_FLIP_TARGET_RELATIVE: u32 = 8; ++pub const DRM_MODE_PAGE_FLIP_TARGET: u32 = 12; ++pub const DRM_MODE_PAGE_FLIP_FLAGS: u32 = 15; ++pub const DRM_MODE_ATOMIC_TEST_ONLY: u32 = 256; ++pub const DRM_MODE_ATOMIC_NONBLOCK: u32 = 512; ++pub const DRM_MODE_ATOMIC_ALLOW_MODESET: u32 = 1024; ++pub const DRM_MODE_ATOMIC_FLAGS: u32 = 1795; ++pub const DRM_IOCTL_BASE: u8 = 100u8; ++pub const DRM_COMMAND_BASE: u32 = 64; ++pub const DRM_COMMAND_END: u32 = 160; ++pub const DRM_EVENT_VBLANK: u32 = 1; ++pub const DRM_EVENT_FLIP_COMPLETE: u32 = 2; ++pub const DRM_EVENT_CRTC_SEQUENCE: u32 = 3; ++pub type __uint16_t = libc::c_ushort; ++pub type __int32_t = libc::c_int; ++pub type __uint32_t = libc::c_uint; ++pub type __int64_t = libc::c_longlong; ++pub type __uint64_t = libc::c_ulonglong; ++pub type __size_t = __uint32_t; ++pub type size_t = __size_t; ++pub type __u16 = u16; ++pub type __s32 = i32; ++pub type __u32 = u32; ++pub type __s64 = i64; ++pub type __u64 = u64; ++pub type __kernel_size_t = size_t; ++pub type drm_handle_t = libc::c_ulong; ++pub type drm_context_t = libc::c_uint; ++pub type drm_drawable_t = libc::c_uint; ++pub type drm_magic_t = libc::c_uint; ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_clip_rect { ++ pub x1: libc::c_ushort, ++ pub y1: libc::c_ushort, ++ pub x2: libc::c_ushort, ++ pub y2: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_drawable_info { ++ pub num_rects: libc::c_uint, ++ pub rects: *mut drm_clip_rect, ++} ++impl Default for drm_drawable_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_tex_region { ++ pub next: libc::c_uchar, ++ pub prev: libc::c_uchar, ++ pub in_use: libc::c_uchar, ++ pub padding: libc::c_uchar, ++ pub age: libc::c_uint, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_hw_lock { ++ pub lock: libc::c_uint, ++ pub padding: [libc::c_char; 60usize], ++} ++impl Default for drm_hw_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_version { ++ pub version_major: libc::c_int, ++ pub version_minor: libc::c_int, ++ pub version_patchlevel: libc::c_int, ++ pub name_len: __kernel_size_t, ++ pub name: *mut libc::c_char, ++ pub date_len: __kernel_size_t, ++ pub date: *mut libc::c_char, ++ pub desc_len: __kernel_size_t, ++ pub desc: *mut libc::c_char, ++} ++impl Default for drm_version { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_unique { ++ pub unique_len: __kernel_size_t, ++ pub unique: *mut libc::c_char, ++} ++impl Default for drm_unique { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_list { ++ pub count: libc::c_int, ++ pub version: *mut drm_version, ++} ++impl Default for drm_list { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_block { ++ pub unused: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_control { ++ pub func: drm_control__bindgen_ty_1::Type, ++ pub irq: libc::c_int, ++} ++pub mod drm_control__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const DRM_ADD_COMMAND: Type = 0; ++ pub const DRM_RM_COMMAND: Type = 1; ++ pub const DRM_INST_HANDLER: Type = 2; ++ pub const DRM_UNINST_HANDLER: Type = 3; ++} ++impl Default for drm_control { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_map_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_FRAME_BUFFER: Type = 0; ++ pub const _DRM_REGISTERS: Type = 1; ++ pub const _DRM_SHM: Type = 2; ++ pub const _DRM_AGP: Type = 3; ++ pub const _DRM_SCATTER_GATHER: Type = 4; ++ pub const _DRM_CONSISTENT: Type = 5; ++} ++pub mod drm_map_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_RESTRICTED: Type = 1; ++ pub const _DRM_READ_ONLY: Type = 2; ++ pub const _DRM_LOCKED: Type = 4; ++ pub const _DRM_KERNEL: Type = 8; ++ pub const _DRM_WRITE_COMBINING: Type = 16; ++ pub const _DRM_CONTAINS_LOCK: Type = 32; ++ pub const _DRM_REMOVABLE: Type = 64; ++ pub const _DRM_DRIVER: Type = 128; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_priv_map { ++ pub ctx_id: libc::c_uint, ++ pub handle: *mut libc::c_void, ++} ++impl Default for drm_ctx_priv_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_map { ++ pub offset: libc::c_ulong, ++ pub size: libc::c_ulong, ++ pub type_: drm_map_type::Type, ++ pub flags: drm_map_flags::Type, ++ pub handle: *mut libc::c_void, ++ pub mtrr: libc::c_int, ++} ++impl Default for drm_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_client { ++ pub idx: libc::c_int, ++ pub auth: libc::c_int, ++ pub pid: libc::c_ulong, ++ pub uid: libc::c_ulong, ++ pub magic: libc::c_ulong, ++ pub iocs: libc::c_ulong, ++} ++pub mod drm_stat_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_STAT_LOCK: Type = 0; ++ pub const _DRM_STAT_OPENS: Type = 1; ++ pub const _DRM_STAT_CLOSES: Type = 2; ++ pub const _DRM_STAT_IOCTLS: Type = 3; ++ pub const _DRM_STAT_LOCKS: Type = 4; ++ pub const _DRM_STAT_UNLOCKS: Type = 5; ++ pub const _DRM_STAT_VALUE: Type = 6; ++ pub const _DRM_STAT_BYTE: Type = 7; ++ pub const _DRM_STAT_COUNT: Type = 8; ++ pub const _DRM_STAT_IRQ: Type = 9; ++ pub const _DRM_STAT_PRIMARY: Type = 10; ++ pub const _DRM_STAT_SECONDARY: Type = 11; ++ pub const _DRM_STAT_DMA: Type = 12; ++ pub const _DRM_STAT_SPECIAL: Type = 13; ++ pub const _DRM_STAT_MISSED: Type = 14; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats { ++ pub count: libc::c_ulong, ++ pub data: [drm_stats__bindgen_ty_1; 15usize], ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats__bindgen_ty_1 { ++ pub value: libc::c_ulong, ++ pub type_: drm_stat_type::Type, ++} ++impl Default for drm_stats__bindgen_ty_1 { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++impl Default for drm_stats { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_lock_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_LOCK_READY: Type = 1; ++ pub const _DRM_LOCK_QUIESCENT: Type = 2; ++ pub const _DRM_LOCK_FLUSH: Type = 4; ++ pub const _DRM_LOCK_FLUSH_ALL: Type = 8; ++ pub const _DRM_HALT_ALL_QUEUES: Type = 16; ++ pub const _DRM_HALT_CUR_QUEUES: Type = 32; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_lock { ++ pub context: libc::c_int, ++ pub flags: drm_lock_flags::Type, ++} ++impl Default for drm_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_dma_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_DMA_BLOCK: Type = 1; ++ pub const _DRM_DMA_WHILE_LOCKED: Type = 2; ++ pub const _DRM_DMA_PRIORITY: Type = 4; ++ pub const _DRM_DMA_WAIT: Type = 16; ++ pub const _DRM_DMA_SMALLER_OK: Type = 32; ++ pub const _DRM_DMA_LARGER_OK: Type = 64; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_desc { ++ pub count: libc::c_int, ++ pub size: libc::c_int, ++ pub low_mark: libc::c_int, ++ pub high_mark: libc::c_int, ++ pub flags: drm_buf_desc__bindgen_ty_1::Type, ++ pub agp_start: libc::c_ulong, ++} ++pub mod drm_buf_desc__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const _DRM_PAGE_ALIGN: Type = 1; ++ pub const _DRM_AGP_BUFFER: Type = 2; ++ pub const _DRM_SG_BUFFER: Type = 4; ++ pub const _DRM_FB_BUFFER: Type = 8; ++ pub const _DRM_PCI_BUFFER_RO: Type = 16; ++} ++impl Default for drm_buf_desc { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_info { ++ pub count: libc::c_int, ++ pub list: *mut drm_buf_desc, ++} ++impl Default for drm_buf_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_free { ++ pub count: libc::c_int, ++ pub list: *mut libc::c_int, ++} ++impl Default for drm_buf_free { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_pub { ++ pub idx: libc::c_int, ++ pub total: libc::c_int, ++ pub used: libc::c_int, ++ pub address: *mut libc::c_void, ++} ++impl Default for drm_buf_pub { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_map { ++ pub count: libc::c_int, ++ pub virtual_: *mut libc::c_void, ++ pub list: *mut drm_buf_pub, ++} ++impl Default for drm_buf_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_dma { ++ pub context: libc::c_int, ++ pub send_count: libc::c_int, ++ pub send_indices: *mut libc::c_int, ++ pub send_sizes: *mut libc::c_int, ++ pub flags: drm_dma_flags::Type, ++ pub request_count: libc::c_int, ++ pub request_size: libc::c_int, ++ pub request_indices: *mut libc::c_int, ++ pub request_sizes: *mut libc::c_int, ++ pub granted_count: libc::c_int, ++} ++impl Default for drm_dma { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_ctx_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_CONTEXT_PRESERVED: Type = 1; ++ pub const _DRM_CONTEXT_2DONLY: Type = 2; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx { ++ pub handle: drm_context_t, ++ pub flags: drm_ctx_flags::Type, ++} ++impl Default for drm_ctx { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_res { ++ pub count: libc::c_int, ++ pub contexts: *mut drm_ctx, ++} ++impl Default for drm_ctx_res { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_draw { ++ pub handle: drm_drawable_t, ++} ++pub mod drm_drawable_info_type_t { ++ pub type Type = libc::c_uint; ++ pub const DRM_DRAWABLE_CLIPRECTS: Type = 0; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_update_draw { ++ pub handle: drm_drawable_t, ++ pub type_: libc::c_uint, ++ pub num: libc::c_uint, ++ pub data: libc::c_ulonglong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_auth { ++ pub magic: drm_magic_t, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_irq_busid { ++ pub irq: libc::c_int, ++ pub busnum: libc::c_int, ++ pub devnum: libc::c_int, ++ pub funcnum: libc::c_int, ++} ++pub mod drm_vblank_seq_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_VBLANK_ABSOLUTE: Type = 0; ++ pub const _DRM_VBLANK_RELATIVE: Type = 1; ++ pub const _DRM_VBLANK_HIGH_CRTC_MASK: Type = 62; ++ pub const _DRM_VBLANK_EVENT: Type = 67108864; ++ pub const _DRM_VBLANK_FLIP: Type = 134217728; ++ pub const _DRM_VBLANK_NEXTONMISS: Type = 268435456; ++ pub const _DRM_VBLANK_SECONDARY: Type = 536870912; ++ pub const _DRM_VBLANK_SIGNAL: Type = 1073741824; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_request { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub signal: libc::c_ulong, ++} ++impl Default for drm_wait_vblank_request { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_reply { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub tval_sec: libc::c_long, ++ pub tval_usec: libc::c_long, ++} ++impl Default for drm_wait_vblank_reply { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Copy, Clone)] ++pub union drm_wait_vblank { ++ pub request: drm_wait_vblank_request, ++ pub reply: drm_wait_vblank_reply, ++} ++impl Default for drm_wait_vblank { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_modeset_ctl { ++ pub crtc: __u32, ++ pub cmd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_mode { ++ pub mode: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_buffer { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++ pub type_: libc::c_ulong, ++ pub physical: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_binding { ++ pub handle: libc::c_ulong, ++ pub offset: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_info { ++ pub agp_version_major: libc::c_int, ++ pub agp_version_minor: libc::c_int, ++ pub mode: libc::c_ulong, ++ pub aperture_base: libc::c_ulong, ++ pub aperture_size: libc::c_ulong, ++ pub memory_allowed: libc::c_ulong, ++ pub memory_used: libc::c_ulong, ++ pub id_vendor: libc::c_ushort, ++ pub id_device: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_scatter_gather { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_version { ++ pub drm_di_major: libc::c_int, ++ pub drm_di_minor: libc::c_int, ++ pub drm_dd_major: libc::c_int, ++ pub drm_dd_minor: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_close { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_flink { ++ pub handle: __u32, ++ pub name: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_open { ++ pub name: __u32, ++ pub handle: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_get_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_client_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_prime_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_create { ++ pub handle: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_destroy { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_transfer { ++ pub src_handle: __u32, ++ pub dst_handle: __u32, ++ pub src_point: __u64, ++ pub dst_point: __u64, ++ pub flags: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_wait { ++ pub handles: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_wait { ++ pub handles: __u64, ++ pub points: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_array { ++ pub handles: __u64, ++ pub count_handles: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_array { ++ pub handles: __u64, ++ pub points: __u64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_get_sequence { ++ pub crtc_id: __u32, ++ pub active: __u32, ++ pub sequence: __u64, ++ pub sequence_ns: __s64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_queue_sequence { ++ pub crtc_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_modeinfo { ++ pub clock: __u32, ++ pub hdisplay: __u16, ++ pub hsync_start: __u16, ++ pub hsync_end: __u16, ++ pub htotal: __u16, ++ pub hskew: __u16, ++ pub vdisplay: __u16, ++ pub vsync_start: __u16, ++ pub vsync_end: __u16, ++ pub vtotal: __u16, ++ pub vscan: __u16, ++ pub vrefresh: __u32, ++ pub flags: __u32, ++ pub type_: __u32, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_card_res { ++ pub fb_id_ptr: __u64, ++ pub crtc_id_ptr: __u64, ++ pub connector_id_ptr: __u64, ++ pub encoder_id_ptr: __u64, ++ pub count_fbs: __u32, ++ pub count_crtcs: __u32, ++ pub count_connectors: __u32, ++ pub count_encoders: __u32, ++ pub min_width: __u32, ++ pub max_width: __u32, ++ pub min_height: __u32, ++ pub max_height: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc { ++ pub set_connectors_ptr: __u64, ++ pub count_connectors: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub x: __u32, ++ pub y: __u32, ++ pub gamma_size: __u32, ++ pub mode_valid: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_set_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub crtc_x: __s32, ++ pub crtc_y: __s32, ++ pub crtc_w: __u32, ++ pub crtc_h: __u32, ++ pub src_x: __u32, ++ pub src_y: __u32, ++ pub src_h: __u32, ++ pub src_w: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub possible_crtcs: __u32, ++ pub gamma_size: __u32, ++ pub count_format_types: __u32, ++ pub format_type_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane_res { ++ pub plane_id_ptr: __u64, ++ pub count_planes: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_encoder { ++ pub encoder_id: __u32, ++ pub encoder_type: __u32, ++ pub crtc_id: __u32, ++ pub possible_crtcs: __u32, ++ pub possible_clones: __u32, ++} ++pub mod drm_mode_subconnector { ++ pub type Type = libc::c_uint; ++ pub const DRM_MODE_SUBCONNECTOR_Automatic: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_Unknown: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_VGA: Type = 1; ++ pub const DRM_MODE_SUBCONNECTOR_DVID: Type = 3; ++ pub const DRM_MODE_SUBCONNECTOR_DVIA: Type = 4; ++ pub const DRM_MODE_SUBCONNECTOR_Composite: Type = 5; ++ pub const DRM_MODE_SUBCONNECTOR_SVIDEO: Type = 6; ++ pub const DRM_MODE_SUBCONNECTOR_Component: Type = 8; ++ pub const DRM_MODE_SUBCONNECTOR_SCART: Type = 9; ++ pub const DRM_MODE_SUBCONNECTOR_DisplayPort: Type = 10; ++ pub const DRM_MODE_SUBCONNECTOR_HDMIA: Type = 11; ++ pub const DRM_MODE_SUBCONNECTOR_Native: Type = 15; ++ pub const DRM_MODE_SUBCONNECTOR_Wireless: Type = 18; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_connector { ++ pub encoders_ptr: __u64, ++ pub modes_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_modes: __u32, ++ pub count_props: __u32, ++ pub count_encoders: __u32, ++ pub encoder_id: __u32, ++ pub connector_id: __u32, ++ pub connector_type: __u32, ++ pub connector_type_id: __u32, ++ pub connection: __u32, ++ pub mm_width: __u32, ++ pub mm_height: __u32, ++ pub subpixel: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_property_enum { ++ pub value: __u64, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_property { ++ pub values_ptr: __u64, ++ pub enum_blob_ptr: __u64, ++ pub prop_id: __u32, ++ pub flags: __u32, ++ pub name: [libc::c_char; 32usize], ++ pub count_values: __u32, ++ pub count_enum_blobs: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_connector_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub connector_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_get_properties { ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_props: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_blob { ++ pub blob_id: __u32, ++ pub length: __u32, ++ pub data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pitch: __u32, ++ pub bpp: __u32, ++ pub depth: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd2 { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pixel_format: __u32, ++ pub flags: __u32, ++ pub handles: [__u32; 4usize], ++ pub pitches: [__u32; 4usize], ++ pub offsets: [__u32; 4usize], ++ pub modifier: [__u64; 4usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_dirty_cmd { ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub color: __u32, ++ pub num_clips: __u32, ++ pub clips_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_mode_cmd { ++ pub connector_id: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor2 { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++ pub hot_x: __s32, ++ pub hot_y: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_lut { ++ pub crtc_id: __u32, ++ pub gamma_size: __u32, ++ pub red: __u64, ++ pub green: __u64, ++ pub blue: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_ctm { ++ pub matrix: [__u64; 9usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_lut { ++ pub red: __u16, ++ pub green: __u16, ++ pub blue: __u16, ++ pub reserved: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct hdr_metadata_infoframe__bindgen_ty_1 { ++ pub x: __u16, ++ pub y: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub reserved: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip_target { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_dumb { ++ pub height: __u32, ++ pub width: __u32, ++ pub bpp: __u32, ++ pub flags: __u32, ++ pub handle: __u32, ++ pub pitch: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_map_dumb { ++ pub handle: __u32, ++ pub pad: __u32, ++ pub offset: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_dumb { ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_atomic { ++ pub flags: __u32, ++ pub count_objs: __u32, ++ pub objs_ptr: __u64, ++ pub count_props_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub reserved: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier_blob { ++ pub version: __u32, ++ pub flags: __u32, ++ pub count_formats: __u32, ++ pub formats_offset: __u32, ++ pub count_modifiers: __u32, ++ pub modifiers_offset: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier { ++ pub formats: __u64, ++ pub offset: __u32, ++ pub pad: __u32, ++ pub modifier: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_blob { ++ pub data: __u64, ++ pub length: __u32, ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_blob { ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_lease { ++ pub object_ids: __u64, ++ pub object_count: __u32, ++ pub flags: __u32, ++ pub lessee_id: __u32, ++ pub fd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_list_lessees { ++ pub count_lessees: __u32, ++ pub pad: __u32, ++ pub lessees_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_lease { ++ pub count_objects: __u32, ++ pub pad: __u32, ++ pub objects_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_revoke_lease { ++ pub lessee_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_rect { ++ pub x1: __s32, ++ pub y1: __s32, ++ pub x2: __s32, ++ pub y2: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event { ++ pub type_: __u32, ++ pub length: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_vblank { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub tv_sec: __u32, ++ pub tv_usec: __u32, ++ pub sequence: __u32, ++ pub crtc_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_crtc_sequence { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub time_ns: __s64, ++ pub sequence: __u64, ++} ++pub type drm_clip_rect_t = drm_clip_rect; ++pub type drm_drawable_info_t = drm_drawable_info; ++pub type drm_tex_region_t = drm_tex_region; ++pub type drm_hw_lock_t = drm_hw_lock; ++pub type drm_version_t = drm_version; ++pub type drm_unique_t = drm_unique; ++pub type drm_list_t = drm_list; ++pub type drm_block_t = drm_block; ++pub type drm_control_t = drm_control; ++pub use self::drm_map_flags::Type as drm_map_flags_t; ++pub use self::drm_map_type::Type as drm_map_type_t; ++pub type drm_ctx_priv_map_t = drm_ctx_priv_map; ++pub type drm_map_t = drm_map; ++pub type drm_client_t = drm_client; ++pub use self::drm_stat_type::Type as drm_stat_type_t; ++pub type drm_stats_t = drm_stats; ++pub use self::drm_lock_flags::Type as drm_lock_flags_t; ++pub type drm_lock_t = drm_lock; ++pub use self::drm_dma_flags::Type as drm_dma_flags_t; ++pub type drm_buf_desc_t = drm_buf_desc; ++pub type drm_buf_info_t = drm_buf_info; ++pub type drm_buf_free_t = drm_buf_free; ++pub type drm_buf_pub_t = drm_buf_pub; ++pub type drm_buf_map_t = drm_buf_map; ++pub type drm_dma_t = drm_dma; ++pub type drm_wait_vblank_t = drm_wait_vblank; ++pub type drm_agp_mode_t = drm_agp_mode; ++pub use self::drm_ctx_flags::Type as drm_ctx_flags_t; ++pub type drm_ctx_t = drm_ctx; ++pub type drm_ctx_res_t = drm_ctx_res; ++pub type drm_draw_t = drm_draw; ++pub type drm_update_draw_t = drm_update_draw; ++pub type drm_auth_t = drm_auth; ++pub type drm_irq_busid_t = drm_irq_busid; ++pub use self::drm_vblank_seq_type::Type as drm_vblank_seq_type_t; ++pub type drm_agp_buffer_t = drm_agp_buffer; ++pub type drm_agp_binding_t = drm_agp_binding; ++pub type drm_agp_info_t = drm_agp_info; ++pub type drm_scatter_gather_t = drm_scatter_gather; ++pub type drm_set_version_t = drm_set_version; ++pub const DRM_MODE_PROP_SIGNED_RANGE: libc::c_uint = 128; ++pub const DRM_MODE_PROP_OBJECT: libc::c_uint = 64; +--- /dev/null 1970-01-01 00:00:00 UTC ++++ cargo-crates/drm-sys-0.4.0/src/platforms/freebsd/powerpc/bindings.rs +@@ -0,0 +1,1342 @@ ++/* automatically generated by rust-bindgen 0.59.2 */ ++ ++pub const DRM_NAME: &[u8; 4usize] = b"drm\0"; ++pub const DRM_MIN_ORDER: u32 = 5; ++pub const DRM_MAX_ORDER: u32 = 22; ++pub const DRM_RAM_PERCENT: u32 = 10; ++pub const _DRM_LOCK_HELD: u32 = 2147483648; ++pub const _DRM_LOCK_CONT: u32 = 1073741824; ++pub const _DRM_VBLANK_HIGH_CRTC_SHIFT: u32 = 1; ++pub const _DRM_PRE_MODESET: u32 = 1; ++pub const _DRM_POST_MODESET: u32 = 2; ++pub const DRM_CAP_DUMB_BUFFER: u32 = 1; ++pub const DRM_CAP_VBLANK_HIGH_CRTC: u32 = 2; ++pub const DRM_CAP_DUMB_PREFERRED_DEPTH: u32 = 3; ++pub const DRM_CAP_DUMB_PREFER_SHADOW: u32 = 4; ++pub const DRM_CAP_PRIME: u32 = 5; ++pub const DRM_PRIME_CAP_IMPORT: u32 = 1; ++pub const DRM_PRIME_CAP_EXPORT: u32 = 2; ++pub const DRM_CAP_TIMESTAMP_MONOTONIC: u32 = 6; ++pub const DRM_CAP_ASYNC_PAGE_FLIP: u32 = 7; ++pub const DRM_CAP_CURSOR_WIDTH: u32 = 8; ++pub const DRM_CAP_CURSOR_HEIGHT: u32 = 9; ++pub const DRM_CAP_ADDFB2_MODIFIERS: u32 = 16; ++pub const DRM_CAP_PAGE_FLIP_TARGET: u32 = 17; ++pub const DRM_CAP_CRTC_IN_VBLANK_EVENT: u32 = 18; ++pub const DRM_CAP_SYNCOBJ: u32 = 19; ++pub const DRM_CAP_SYNCOBJ_TIMELINE: u32 = 20; ++pub const DRM_CLIENT_CAP_STEREO_3D: u32 = 1; ++pub const DRM_CLIENT_CAP_UNIVERSAL_PLANES: u32 = 2; ++pub const DRM_CLIENT_CAP_ATOMIC: u32 = 3; ++pub const DRM_CLIENT_CAP_ASPECT_RATIO: u32 = 4; ++pub const DRM_CLIENT_CAP_WRITEBACK_CONNECTORS: u32 = 5; ++pub const DRM_SYNCOBJ_CREATE_SIGNALED: u32 = 1; ++pub const DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT: u32 = 2; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE: u32 = 4; ++pub const DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_RELATIVE: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_NEXT_ON_MISS: u32 = 2; ++pub const DRM_CONNECTOR_NAME_LEN: u32 = 32; ++pub const DRM_DISPLAY_MODE_LEN: u32 = 32; ++pub const DRM_PROP_NAME_LEN: u32 = 32; ++pub const DRM_MODE_TYPE_BUILTIN: u32 = 1; ++pub const DRM_MODE_TYPE_CLOCK_C: u32 = 3; ++pub const DRM_MODE_TYPE_CRTC_C: u32 = 5; ++pub const DRM_MODE_TYPE_PREFERRED: u32 = 8; ++pub const DRM_MODE_TYPE_DEFAULT: u32 = 16; ++pub const DRM_MODE_TYPE_USERDEF: u32 = 32; ++pub const DRM_MODE_TYPE_DRIVER: u32 = 64; ++pub const DRM_MODE_TYPE_ALL: u32 = 104; ++pub const DRM_MODE_FLAG_PHSYNC: u32 = 1; ++pub const DRM_MODE_FLAG_NHSYNC: u32 = 2; ++pub const DRM_MODE_FLAG_PVSYNC: u32 = 4; ++pub const DRM_MODE_FLAG_NVSYNC: u32 = 8; ++pub const DRM_MODE_FLAG_INTERLACE: u32 = 16; ++pub const DRM_MODE_FLAG_DBLSCAN: u32 = 32; ++pub const DRM_MODE_FLAG_CSYNC: u32 = 64; ++pub const DRM_MODE_FLAG_PCSYNC: u32 = 128; ++pub const DRM_MODE_FLAG_NCSYNC: u32 = 256; ++pub const DRM_MODE_FLAG_HSKEW: u32 = 512; ++pub const DRM_MODE_FLAG_BCAST: u32 = 1024; ++pub const DRM_MODE_FLAG_PIXMUX: u32 = 2048; ++pub const DRM_MODE_FLAG_DBLCLK: u32 = 4096; ++pub const DRM_MODE_FLAG_CLKDIV2: u32 = 8192; ++pub const DRM_MODE_FLAG_3D_MASK: u32 = 507904; ++pub const DRM_MODE_FLAG_3D_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_3D_FRAME_PACKING: u32 = 16384; ++pub const DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: u32 = 32768; ++pub const DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: u32 = 49152; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: u32 = 65536; ++pub const DRM_MODE_FLAG_3D_L_DEPTH: u32 = 81920; ++pub const DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: u32 = 98304; ++pub const DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: u32 = 114688; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: u32 = 131072; ++pub const DRM_MODE_PICTURE_ASPECT_NONE: u32 = 0; ++pub const DRM_MODE_PICTURE_ASPECT_4_3: u32 = 1; ++pub const DRM_MODE_PICTURE_ASPECT_16_9: u32 = 2; ++pub const DRM_MODE_PICTURE_ASPECT_64_27: u32 = 3; ++pub const DRM_MODE_PICTURE_ASPECT_256_135: u32 = 4; ++pub const DRM_MODE_CONTENT_TYPE_NO_DATA: u32 = 0; ++pub const DRM_MODE_CONTENT_TYPE_GRAPHICS: u32 = 1; ++pub const DRM_MODE_CONTENT_TYPE_PHOTO: u32 = 2; ++pub const DRM_MODE_CONTENT_TYPE_CINEMA: u32 = 3; ++pub const DRM_MODE_CONTENT_TYPE_GAME: u32 = 4; ++pub const DRM_MODE_FLAG_PIC_AR_MASK: u32 = 7864320; ++pub const DRM_MODE_FLAG_PIC_AR_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_PIC_AR_4_3: u32 = 524288; ++pub const DRM_MODE_FLAG_PIC_AR_16_9: u32 = 1048576; ++pub const DRM_MODE_FLAG_PIC_AR_64_27: u32 = 1572864; ++pub const DRM_MODE_FLAG_PIC_AR_256_135: u32 = 2097152; ++pub const DRM_MODE_FLAG_ALL: u32 = 521215; ++pub const DRM_MODE_DPMS_ON: u32 = 0; ++pub const DRM_MODE_DPMS_STANDBY: u32 = 1; ++pub const DRM_MODE_DPMS_SUSPEND: u32 = 2; ++pub const DRM_MODE_DPMS_OFF: u32 = 3; ++pub const DRM_MODE_SCALE_NONE: u32 = 0; ++pub const DRM_MODE_SCALE_FULLSCREEN: u32 = 1; ++pub const DRM_MODE_SCALE_CENTER: u32 = 2; ++pub const DRM_MODE_SCALE_ASPECT: u32 = 3; ++pub const DRM_MODE_DITHERING_OFF: u32 = 0; ++pub const DRM_MODE_DITHERING_ON: u32 = 1; ++pub const DRM_MODE_DITHERING_AUTO: u32 = 2; ++pub const DRM_MODE_DIRTY_OFF: u32 = 0; ++pub const DRM_MODE_DIRTY_ON: u32 = 1; ++pub const DRM_MODE_DIRTY_ANNOTATE: u32 = 2; ++pub const DRM_MODE_LINK_STATUS_GOOD: u32 = 0; ++pub const DRM_MODE_LINK_STATUS_BAD: u32 = 1; ++pub const DRM_MODE_ROTATE_0: u32 = 1; ++pub const DRM_MODE_ROTATE_90: u32 = 2; ++pub const DRM_MODE_ROTATE_180: u32 = 4; ++pub const DRM_MODE_ROTATE_270: u32 = 8; ++pub const DRM_MODE_ROTATE_MASK: u32 = 15; ++pub const DRM_MODE_REFLECT_X: u32 = 16; ++pub const DRM_MODE_REFLECT_Y: u32 = 32; ++pub const DRM_MODE_REFLECT_MASK: u32 = 48; ++pub const DRM_MODE_CONTENT_PROTECTION_UNDESIRED: u32 = 0; ++pub const DRM_MODE_CONTENT_PROTECTION_DESIRED: u32 = 1; ++pub const DRM_MODE_CONTENT_PROTECTION_ENABLED: u32 = 2; ++pub const DRM_MODE_PRESENT_TOP_FIELD: u32 = 1; ++pub const DRM_MODE_PRESENT_BOTTOM_FIELD: u32 = 2; ++pub const DRM_MODE_ENCODER_NONE: u32 = 0; ++pub const DRM_MODE_ENCODER_DAC: u32 = 1; ++pub const DRM_MODE_ENCODER_TMDS: u32 = 2; ++pub const DRM_MODE_ENCODER_LVDS: u32 = 3; ++pub const DRM_MODE_ENCODER_TVDAC: u32 = 4; ++pub const DRM_MODE_ENCODER_VIRTUAL: u32 = 5; ++pub const DRM_MODE_ENCODER_DSI: u32 = 6; ++pub const DRM_MODE_ENCODER_DPMST: u32 = 7; ++pub const DRM_MODE_ENCODER_DPI: u32 = 8; ++pub const DRM_MODE_CONNECTOR_Unknown: u32 = 0; ++pub const DRM_MODE_CONNECTOR_VGA: u32 = 1; ++pub const DRM_MODE_CONNECTOR_DVII: u32 = 2; ++pub const DRM_MODE_CONNECTOR_DVID: u32 = 3; ++pub const DRM_MODE_CONNECTOR_DVIA: u32 = 4; ++pub const DRM_MODE_CONNECTOR_Composite: u32 = 5; ++pub const DRM_MODE_CONNECTOR_SVIDEO: u32 = 6; ++pub const DRM_MODE_CONNECTOR_LVDS: u32 = 7; ++pub const DRM_MODE_CONNECTOR_Component: u32 = 8; ++pub const DRM_MODE_CONNECTOR_9PinDIN: u32 = 9; ++pub const DRM_MODE_CONNECTOR_DisplayPort: u32 = 10; ++pub const DRM_MODE_CONNECTOR_HDMIA: u32 = 11; ++pub const DRM_MODE_CONNECTOR_HDMIB: u32 = 12; ++pub const DRM_MODE_CONNECTOR_TV: u32 = 13; ++pub const DRM_MODE_CONNECTOR_eDP: u32 = 14; ++pub const DRM_MODE_CONNECTOR_VIRTUAL: u32 = 15; ++pub const DRM_MODE_CONNECTOR_DSI: u32 = 16; ++pub const DRM_MODE_CONNECTOR_DPI: u32 = 17; ++pub const DRM_MODE_CONNECTOR_WRITEBACK: u32 = 18; ++pub const DRM_MODE_CONNECTOR_SPI: u32 = 19; ++pub const DRM_MODE_CONNECTOR_USB: u32 = 20; ++pub const DRM_MODE_PROP_PENDING: u32 = 1; ++pub const DRM_MODE_PROP_RANGE: u32 = 2; ++pub const DRM_MODE_PROP_IMMUTABLE: u32 = 4; ++pub const DRM_MODE_PROP_ENUM: u32 = 8; ++pub const DRM_MODE_PROP_BLOB: u32 = 16; ++pub const DRM_MODE_PROP_BITMASK: u32 = 32; ++pub const DRM_MODE_PROP_LEGACY_TYPE: u32 = 58; ++pub const DRM_MODE_PROP_EXTENDED_TYPE: u32 = 65472; ++pub const DRM_MODE_PROP_ATOMIC: u32 = 2147483648; ++pub const DRM_MODE_OBJECT_CRTC: u32 = 3435973836; ++pub const DRM_MODE_OBJECT_CONNECTOR: u32 = 3233857728; ++pub const DRM_MODE_OBJECT_ENCODER: u32 = 3772834016; ++pub const DRM_MODE_OBJECT_MODE: u32 = 3739147998; ++pub const DRM_MODE_OBJECT_PROPERTY: u32 = 2964369584; ++pub const DRM_MODE_OBJECT_FB: u32 = 4227595259; ++pub const DRM_MODE_OBJECT_BLOB: u32 = 3149642683; ++pub const DRM_MODE_OBJECT_PLANE: u32 = 4008636142; ++pub const DRM_MODE_OBJECT_ANY: u32 = 0; ++pub const DRM_MODE_FB_INTERLACED: u32 = 1; ++pub const DRM_MODE_FB_MODIFIERS: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_COPY: u32 = 1; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_FILL: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_FLAGS: u32 = 3; ++pub const DRM_MODE_FB_DIRTY_MAX_CLIPS: u32 = 256; ++pub const DRM_MODE_CURSOR_BO: u32 = 1; ++pub const DRM_MODE_CURSOR_MOVE: u32 = 2; ++pub const DRM_MODE_CURSOR_FLAGS: u32 = 3; ++pub const DRM_MODE_PAGE_FLIP_EVENT: u32 = 1; ++pub const DRM_MODE_PAGE_FLIP_ASYNC: u32 = 2; ++pub const DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE: u32 = 4; ++pub const DRM_MODE_PAGE_FLIP_TARGET_RELATIVE: u32 = 8; ++pub const DRM_MODE_PAGE_FLIP_TARGET: u32 = 12; ++pub const DRM_MODE_PAGE_FLIP_FLAGS: u32 = 15; ++pub const DRM_MODE_ATOMIC_TEST_ONLY: u32 = 256; ++pub const DRM_MODE_ATOMIC_NONBLOCK: u32 = 512; ++pub const DRM_MODE_ATOMIC_ALLOW_MODESET: u32 = 1024; ++pub const DRM_MODE_ATOMIC_FLAGS: u32 = 1795; ++pub const DRM_IOCTL_BASE: u8 = 100u8; ++pub const DRM_COMMAND_BASE: u32 = 64; ++pub const DRM_COMMAND_END: u32 = 160; ++pub const DRM_EVENT_VBLANK: u32 = 1; ++pub const DRM_EVENT_FLIP_COMPLETE: u32 = 2; ++pub const DRM_EVENT_CRTC_SEQUENCE: u32 = 3; ++pub type __uint16_t = libc::c_ushort; ++pub type __int32_t = libc::c_int; ++pub type __uint32_t = libc::c_uint; ++pub type __int64_t = libc::c_longlong; ++pub type __uint64_t = libc::c_ulonglong; ++pub type __size_t = __uint32_t; ++pub type size_t = __size_t; ++pub type __u16 = u16; ++pub type __s32 = i32; ++pub type __u32 = u32; ++pub type __s64 = i64; ++pub type __u64 = u64; ++pub type __kernel_size_t = size_t; ++pub type drm_handle_t = libc::c_ulong; ++pub type drm_context_t = libc::c_uint; ++pub type drm_drawable_t = libc::c_uint; ++pub type drm_magic_t = libc::c_uint; ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_clip_rect { ++ pub x1: libc::c_ushort, ++ pub y1: libc::c_ushort, ++ pub x2: libc::c_ushort, ++ pub y2: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_drawable_info { ++ pub num_rects: libc::c_uint, ++ pub rects: *mut drm_clip_rect, ++} ++impl Default for drm_drawable_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_tex_region { ++ pub next: libc::c_uchar, ++ pub prev: libc::c_uchar, ++ pub in_use: libc::c_uchar, ++ pub padding: libc::c_uchar, ++ pub age: libc::c_uint, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_hw_lock { ++ pub lock: libc::c_uint, ++ pub padding: [libc::c_char; 60usize], ++} ++impl Default for drm_hw_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_version { ++ pub version_major: libc::c_int, ++ pub version_minor: libc::c_int, ++ pub version_patchlevel: libc::c_int, ++ pub name_len: __kernel_size_t, ++ pub name: *mut libc::c_char, ++ pub date_len: __kernel_size_t, ++ pub date: *mut libc::c_char, ++ pub desc_len: __kernel_size_t, ++ pub desc: *mut libc::c_char, ++} ++impl Default for drm_version { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_unique { ++ pub unique_len: __kernel_size_t, ++ pub unique: *mut libc::c_char, ++} ++impl Default for drm_unique { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_list { ++ pub count: libc::c_int, ++ pub version: *mut drm_version, ++} ++impl Default for drm_list { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_block { ++ pub unused: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_control { ++ pub func: drm_control__bindgen_ty_1::Type, ++ pub irq: libc::c_int, ++} ++pub mod drm_control__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const DRM_ADD_COMMAND: Type = 0; ++ pub const DRM_RM_COMMAND: Type = 1; ++ pub const DRM_INST_HANDLER: Type = 2; ++ pub const DRM_UNINST_HANDLER: Type = 3; ++} ++impl Default for drm_control { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_map_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_FRAME_BUFFER: Type = 0; ++ pub const _DRM_REGISTERS: Type = 1; ++ pub const _DRM_SHM: Type = 2; ++ pub const _DRM_AGP: Type = 3; ++ pub const _DRM_SCATTER_GATHER: Type = 4; ++ pub const _DRM_CONSISTENT: Type = 5; ++} ++pub mod drm_map_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_RESTRICTED: Type = 1; ++ pub const _DRM_READ_ONLY: Type = 2; ++ pub const _DRM_LOCKED: Type = 4; ++ pub const _DRM_KERNEL: Type = 8; ++ pub const _DRM_WRITE_COMBINING: Type = 16; ++ pub const _DRM_CONTAINS_LOCK: Type = 32; ++ pub const _DRM_REMOVABLE: Type = 64; ++ pub const _DRM_DRIVER: Type = 128; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_priv_map { ++ pub ctx_id: libc::c_uint, ++ pub handle: *mut libc::c_void, ++} ++impl Default for drm_ctx_priv_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_map { ++ pub offset: libc::c_ulong, ++ pub size: libc::c_ulong, ++ pub type_: drm_map_type::Type, ++ pub flags: drm_map_flags::Type, ++ pub handle: *mut libc::c_void, ++ pub mtrr: libc::c_int, ++} ++impl Default for drm_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_client { ++ pub idx: libc::c_int, ++ pub auth: libc::c_int, ++ pub pid: libc::c_ulong, ++ pub uid: libc::c_ulong, ++ pub magic: libc::c_ulong, ++ pub iocs: libc::c_ulong, ++} ++pub mod drm_stat_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_STAT_LOCK: Type = 0; ++ pub const _DRM_STAT_OPENS: Type = 1; ++ pub const _DRM_STAT_CLOSES: Type = 2; ++ pub const _DRM_STAT_IOCTLS: Type = 3; ++ pub const _DRM_STAT_LOCKS: Type = 4; ++ pub const _DRM_STAT_UNLOCKS: Type = 5; ++ pub const _DRM_STAT_VALUE: Type = 6; ++ pub const _DRM_STAT_BYTE: Type = 7; ++ pub const _DRM_STAT_COUNT: Type = 8; ++ pub const _DRM_STAT_IRQ: Type = 9; ++ pub const _DRM_STAT_PRIMARY: Type = 10; ++ pub const _DRM_STAT_SECONDARY: Type = 11; ++ pub const _DRM_STAT_DMA: Type = 12; ++ pub const _DRM_STAT_SPECIAL: Type = 13; ++ pub const _DRM_STAT_MISSED: Type = 14; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats { ++ pub count: libc::c_ulong, ++ pub data: [drm_stats__bindgen_ty_1; 15usize], ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats__bindgen_ty_1 { ++ pub value: libc::c_ulong, ++ pub type_: drm_stat_type::Type, ++} ++impl Default for drm_stats__bindgen_ty_1 { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++impl Default for drm_stats { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_lock_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_LOCK_READY: Type = 1; ++ pub const _DRM_LOCK_QUIESCENT: Type = 2; ++ pub const _DRM_LOCK_FLUSH: Type = 4; ++ pub const _DRM_LOCK_FLUSH_ALL: Type = 8; ++ pub const _DRM_HALT_ALL_QUEUES: Type = 16; ++ pub const _DRM_HALT_CUR_QUEUES: Type = 32; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_lock { ++ pub context: libc::c_int, ++ pub flags: drm_lock_flags::Type, ++} ++impl Default for drm_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_dma_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_DMA_BLOCK: Type = 1; ++ pub const _DRM_DMA_WHILE_LOCKED: Type = 2; ++ pub const _DRM_DMA_PRIORITY: Type = 4; ++ pub const _DRM_DMA_WAIT: Type = 16; ++ pub const _DRM_DMA_SMALLER_OK: Type = 32; ++ pub const _DRM_DMA_LARGER_OK: Type = 64; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_desc { ++ pub count: libc::c_int, ++ pub size: libc::c_int, ++ pub low_mark: libc::c_int, ++ pub high_mark: libc::c_int, ++ pub flags: drm_buf_desc__bindgen_ty_1::Type, ++ pub agp_start: libc::c_ulong, ++} ++pub mod drm_buf_desc__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const _DRM_PAGE_ALIGN: Type = 1; ++ pub const _DRM_AGP_BUFFER: Type = 2; ++ pub const _DRM_SG_BUFFER: Type = 4; ++ pub const _DRM_FB_BUFFER: Type = 8; ++ pub const _DRM_PCI_BUFFER_RO: Type = 16; ++} ++impl Default for drm_buf_desc { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_info { ++ pub count: libc::c_int, ++ pub list: *mut drm_buf_desc, ++} ++impl Default for drm_buf_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_free { ++ pub count: libc::c_int, ++ pub list: *mut libc::c_int, ++} ++impl Default for drm_buf_free { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_pub { ++ pub idx: libc::c_int, ++ pub total: libc::c_int, ++ pub used: libc::c_int, ++ pub address: *mut libc::c_void, ++} ++impl Default for drm_buf_pub { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_map { ++ pub count: libc::c_int, ++ pub virtual_: *mut libc::c_void, ++ pub list: *mut drm_buf_pub, ++} ++impl Default for drm_buf_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_dma { ++ pub context: libc::c_int, ++ pub send_count: libc::c_int, ++ pub send_indices: *mut libc::c_int, ++ pub send_sizes: *mut libc::c_int, ++ pub flags: drm_dma_flags::Type, ++ pub request_count: libc::c_int, ++ pub request_size: libc::c_int, ++ pub request_indices: *mut libc::c_int, ++ pub request_sizes: *mut libc::c_int, ++ pub granted_count: libc::c_int, ++} ++impl Default for drm_dma { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_ctx_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_CONTEXT_PRESERVED: Type = 1; ++ pub const _DRM_CONTEXT_2DONLY: Type = 2; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx { ++ pub handle: drm_context_t, ++ pub flags: drm_ctx_flags::Type, ++} ++impl Default for drm_ctx { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_res { ++ pub count: libc::c_int, ++ pub contexts: *mut drm_ctx, ++} ++impl Default for drm_ctx_res { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_draw { ++ pub handle: drm_drawable_t, ++} ++pub mod drm_drawable_info_type_t { ++ pub type Type = libc::c_uint; ++ pub const DRM_DRAWABLE_CLIPRECTS: Type = 0; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_update_draw { ++ pub handle: drm_drawable_t, ++ pub type_: libc::c_uint, ++ pub num: libc::c_uint, ++ pub data: libc::c_ulonglong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_auth { ++ pub magic: drm_magic_t, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_irq_busid { ++ pub irq: libc::c_int, ++ pub busnum: libc::c_int, ++ pub devnum: libc::c_int, ++ pub funcnum: libc::c_int, ++} ++pub mod drm_vblank_seq_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_VBLANK_ABSOLUTE: Type = 0; ++ pub const _DRM_VBLANK_RELATIVE: Type = 1; ++ pub const _DRM_VBLANK_HIGH_CRTC_MASK: Type = 62; ++ pub const _DRM_VBLANK_EVENT: Type = 67108864; ++ pub const _DRM_VBLANK_FLIP: Type = 134217728; ++ pub const _DRM_VBLANK_NEXTONMISS: Type = 268435456; ++ pub const _DRM_VBLANK_SECONDARY: Type = 536870912; ++ pub const _DRM_VBLANK_SIGNAL: Type = 1073741824; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_request { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub signal: libc::c_ulong, ++} ++impl Default for drm_wait_vblank_request { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_reply { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub tval_sec: libc::c_long, ++ pub tval_usec: libc::c_long, ++} ++impl Default for drm_wait_vblank_reply { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Copy, Clone)] ++pub union drm_wait_vblank { ++ pub request: drm_wait_vblank_request, ++ pub reply: drm_wait_vblank_reply, ++} ++impl Default for drm_wait_vblank { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_modeset_ctl { ++ pub crtc: __u32, ++ pub cmd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_mode { ++ pub mode: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_buffer { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++ pub type_: libc::c_ulong, ++ pub physical: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_binding { ++ pub handle: libc::c_ulong, ++ pub offset: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_info { ++ pub agp_version_major: libc::c_int, ++ pub agp_version_minor: libc::c_int, ++ pub mode: libc::c_ulong, ++ pub aperture_base: libc::c_ulong, ++ pub aperture_size: libc::c_ulong, ++ pub memory_allowed: libc::c_ulong, ++ pub memory_used: libc::c_ulong, ++ pub id_vendor: libc::c_ushort, ++ pub id_device: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_scatter_gather { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_version { ++ pub drm_di_major: libc::c_int, ++ pub drm_di_minor: libc::c_int, ++ pub drm_dd_major: libc::c_int, ++ pub drm_dd_minor: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_close { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_flink { ++ pub handle: __u32, ++ pub name: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_open { ++ pub name: __u32, ++ pub handle: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_get_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_client_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_prime_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_create { ++ pub handle: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_destroy { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_transfer { ++ pub src_handle: __u32, ++ pub dst_handle: __u32, ++ pub src_point: __u64, ++ pub dst_point: __u64, ++ pub flags: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_wait { ++ pub handles: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_wait { ++ pub handles: __u64, ++ pub points: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_array { ++ pub handles: __u64, ++ pub count_handles: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_array { ++ pub handles: __u64, ++ pub points: __u64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_get_sequence { ++ pub crtc_id: __u32, ++ pub active: __u32, ++ pub sequence: __u64, ++ pub sequence_ns: __s64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_queue_sequence { ++ pub crtc_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_modeinfo { ++ pub clock: __u32, ++ pub hdisplay: __u16, ++ pub hsync_start: __u16, ++ pub hsync_end: __u16, ++ pub htotal: __u16, ++ pub hskew: __u16, ++ pub vdisplay: __u16, ++ pub vsync_start: __u16, ++ pub vsync_end: __u16, ++ pub vtotal: __u16, ++ pub vscan: __u16, ++ pub vrefresh: __u32, ++ pub flags: __u32, ++ pub type_: __u32, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_card_res { ++ pub fb_id_ptr: __u64, ++ pub crtc_id_ptr: __u64, ++ pub connector_id_ptr: __u64, ++ pub encoder_id_ptr: __u64, ++ pub count_fbs: __u32, ++ pub count_crtcs: __u32, ++ pub count_connectors: __u32, ++ pub count_encoders: __u32, ++ pub min_width: __u32, ++ pub max_width: __u32, ++ pub min_height: __u32, ++ pub max_height: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc { ++ pub set_connectors_ptr: __u64, ++ pub count_connectors: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub x: __u32, ++ pub y: __u32, ++ pub gamma_size: __u32, ++ pub mode_valid: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_set_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub crtc_x: __s32, ++ pub crtc_y: __s32, ++ pub crtc_w: __u32, ++ pub crtc_h: __u32, ++ pub src_x: __u32, ++ pub src_y: __u32, ++ pub src_h: __u32, ++ pub src_w: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub possible_crtcs: __u32, ++ pub gamma_size: __u32, ++ pub count_format_types: __u32, ++ pub format_type_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane_res { ++ pub plane_id_ptr: __u64, ++ pub count_planes: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_encoder { ++ pub encoder_id: __u32, ++ pub encoder_type: __u32, ++ pub crtc_id: __u32, ++ pub possible_crtcs: __u32, ++ pub possible_clones: __u32, ++} ++pub mod drm_mode_subconnector { ++ pub type Type = libc::c_uint; ++ pub const DRM_MODE_SUBCONNECTOR_Automatic: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_Unknown: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_VGA: Type = 1; ++ pub const DRM_MODE_SUBCONNECTOR_DVID: Type = 3; ++ pub const DRM_MODE_SUBCONNECTOR_DVIA: Type = 4; ++ pub const DRM_MODE_SUBCONNECTOR_Composite: Type = 5; ++ pub const DRM_MODE_SUBCONNECTOR_SVIDEO: Type = 6; ++ pub const DRM_MODE_SUBCONNECTOR_Component: Type = 8; ++ pub const DRM_MODE_SUBCONNECTOR_SCART: Type = 9; ++ pub const DRM_MODE_SUBCONNECTOR_DisplayPort: Type = 10; ++ pub const DRM_MODE_SUBCONNECTOR_HDMIA: Type = 11; ++ pub const DRM_MODE_SUBCONNECTOR_Native: Type = 15; ++ pub const DRM_MODE_SUBCONNECTOR_Wireless: Type = 18; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_connector { ++ pub encoders_ptr: __u64, ++ pub modes_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_modes: __u32, ++ pub count_props: __u32, ++ pub count_encoders: __u32, ++ pub encoder_id: __u32, ++ pub connector_id: __u32, ++ pub connector_type: __u32, ++ pub connector_type_id: __u32, ++ pub connection: __u32, ++ pub mm_width: __u32, ++ pub mm_height: __u32, ++ pub subpixel: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_property_enum { ++ pub value: __u64, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_property { ++ pub values_ptr: __u64, ++ pub enum_blob_ptr: __u64, ++ pub prop_id: __u32, ++ pub flags: __u32, ++ pub name: [libc::c_char; 32usize], ++ pub count_values: __u32, ++ pub count_enum_blobs: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_connector_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub connector_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_get_properties { ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_props: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_blob { ++ pub blob_id: __u32, ++ pub length: __u32, ++ pub data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pitch: __u32, ++ pub bpp: __u32, ++ pub depth: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd2 { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pixel_format: __u32, ++ pub flags: __u32, ++ pub handles: [__u32; 4usize], ++ pub pitches: [__u32; 4usize], ++ pub offsets: [__u32; 4usize], ++ pub modifier: [__u64; 4usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_dirty_cmd { ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub color: __u32, ++ pub num_clips: __u32, ++ pub clips_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_mode_cmd { ++ pub connector_id: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor2 { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++ pub hot_x: __s32, ++ pub hot_y: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_lut { ++ pub crtc_id: __u32, ++ pub gamma_size: __u32, ++ pub red: __u64, ++ pub green: __u64, ++ pub blue: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_ctm { ++ pub matrix: [__u64; 9usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_lut { ++ pub red: __u16, ++ pub green: __u16, ++ pub blue: __u16, ++ pub reserved: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct hdr_metadata_infoframe__bindgen_ty_1 { ++ pub x: __u16, ++ pub y: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub reserved: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip_target { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_dumb { ++ pub height: __u32, ++ pub width: __u32, ++ pub bpp: __u32, ++ pub flags: __u32, ++ pub handle: __u32, ++ pub pitch: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_map_dumb { ++ pub handle: __u32, ++ pub pad: __u32, ++ pub offset: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_dumb { ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_atomic { ++ pub flags: __u32, ++ pub count_objs: __u32, ++ pub objs_ptr: __u64, ++ pub count_props_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub reserved: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier_blob { ++ pub version: __u32, ++ pub flags: __u32, ++ pub count_formats: __u32, ++ pub formats_offset: __u32, ++ pub count_modifiers: __u32, ++ pub modifiers_offset: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier { ++ pub formats: __u64, ++ pub offset: __u32, ++ pub pad: __u32, ++ pub modifier: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_blob { ++ pub data: __u64, ++ pub length: __u32, ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_blob { ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_lease { ++ pub object_ids: __u64, ++ pub object_count: __u32, ++ pub flags: __u32, ++ pub lessee_id: __u32, ++ pub fd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_list_lessees { ++ pub count_lessees: __u32, ++ pub pad: __u32, ++ pub lessees_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_lease { ++ pub count_objects: __u32, ++ pub pad: __u32, ++ pub objects_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_revoke_lease { ++ pub lessee_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_rect { ++ pub x1: __s32, ++ pub y1: __s32, ++ pub x2: __s32, ++ pub y2: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event { ++ pub type_: __u32, ++ pub length: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_vblank { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub tv_sec: __u32, ++ pub tv_usec: __u32, ++ pub sequence: __u32, ++ pub crtc_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_crtc_sequence { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub time_ns: __s64, ++ pub sequence: __u64, ++} ++pub type drm_clip_rect_t = drm_clip_rect; ++pub type drm_drawable_info_t = drm_drawable_info; ++pub type drm_tex_region_t = drm_tex_region; ++pub type drm_hw_lock_t = drm_hw_lock; ++pub type drm_version_t = drm_version; ++pub type drm_unique_t = drm_unique; ++pub type drm_list_t = drm_list; ++pub type drm_block_t = drm_block; ++pub type drm_control_t = drm_control; ++pub use self::drm_map_flags::Type as drm_map_flags_t; ++pub use self::drm_map_type::Type as drm_map_type_t; ++pub type drm_ctx_priv_map_t = drm_ctx_priv_map; ++pub type drm_map_t = drm_map; ++pub type drm_client_t = drm_client; ++pub use self::drm_stat_type::Type as drm_stat_type_t; ++pub type drm_stats_t = drm_stats; ++pub use self::drm_lock_flags::Type as drm_lock_flags_t; ++pub type drm_lock_t = drm_lock; ++pub use self::drm_dma_flags::Type as drm_dma_flags_t; ++pub type drm_buf_desc_t = drm_buf_desc; ++pub type drm_buf_info_t = drm_buf_info; ++pub type drm_buf_free_t = drm_buf_free; ++pub type drm_buf_pub_t = drm_buf_pub; ++pub type drm_buf_map_t = drm_buf_map; ++pub type drm_dma_t = drm_dma; ++pub type drm_wait_vblank_t = drm_wait_vblank; ++pub type drm_agp_mode_t = drm_agp_mode; ++pub use self::drm_ctx_flags::Type as drm_ctx_flags_t; ++pub type drm_ctx_t = drm_ctx; ++pub type drm_ctx_res_t = drm_ctx_res; ++pub type drm_draw_t = drm_draw; ++pub type drm_update_draw_t = drm_update_draw; ++pub type drm_auth_t = drm_auth; ++pub type drm_irq_busid_t = drm_irq_busid; ++pub use self::drm_vblank_seq_type::Type as drm_vblank_seq_type_t; ++pub type drm_agp_buffer_t = drm_agp_buffer; ++pub type drm_agp_binding_t = drm_agp_binding; ++pub type drm_agp_info_t = drm_agp_info; ++pub type drm_scatter_gather_t = drm_scatter_gather; ++pub type drm_set_version_t = drm_set_version; ++pub const DRM_MODE_PROP_SIGNED_RANGE: libc::c_uint = 128; ++pub const DRM_MODE_PROP_OBJECT: libc::c_uint = 64; +--- /dev/null 1970-01-01 00:00:00 UTC ++++ cargo-crates/drm-sys-0.4.0/src/platforms/freebsd/powerpc64/bindings.rs +@@ -0,0 +1,1342 @@ ++/* automatically generated by rust-bindgen 0.59.2 */ ++ ++pub const DRM_NAME: &[u8; 4usize] = b"drm\0"; ++pub const DRM_MIN_ORDER: u32 = 5; ++pub const DRM_MAX_ORDER: u32 = 22; ++pub const DRM_RAM_PERCENT: u32 = 10; ++pub const _DRM_LOCK_HELD: u32 = 2147483648; ++pub const _DRM_LOCK_CONT: u32 = 1073741824; ++pub const _DRM_VBLANK_HIGH_CRTC_SHIFT: u32 = 1; ++pub const _DRM_PRE_MODESET: u32 = 1; ++pub const _DRM_POST_MODESET: u32 = 2; ++pub const DRM_CAP_DUMB_BUFFER: u32 = 1; ++pub const DRM_CAP_VBLANK_HIGH_CRTC: u32 = 2; ++pub const DRM_CAP_DUMB_PREFERRED_DEPTH: u32 = 3; ++pub const DRM_CAP_DUMB_PREFER_SHADOW: u32 = 4; ++pub const DRM_CAP_PRIME: u32 = 5; ++pub const DRM_PRIME_CAP_IMPORT: u32 = 1; ++pub const DRM_PRIME_CAP_EXPORT: u32 = 2; ++pub const DRM_CAP_TIMESTAMP_MONOTONIC: u32 = 6; ++pub const DRM_CAP_ASYNC_PAGE_FLIP: u32 = 7; ++pub const DRM_CAP_CURSOR_WIDTH: u32 = 8; ++pub const DRM_CAP_CURSOR_HEIGHT: u32 = 9; ++pub const DRM_CAP_ADDFB2_MODIFIERS: u32 = 16; ++pub const DRM_CAP_PAGE_FLIP_TARGET: u32 = 17; ++pub const DRM_CAP_CRTC_IN_VBLANK_EVENT: u32 = 18; ++pub const DRM_CAP_SYNCOBJ: u32 = 19; ++pub const DRM_CAP_SYNCOBJ_TIMELINE: u32 = 20; ++pub const DRM_CLIENT_CAP_STEREO_3D: u32 = 1; ++pub const DRM_CLIENT_CAP_UNIVERSAL_PLANES: u32 = 2; ++pub const DRM_CLIENT_CAP_ATOMIC: u32 = 3; ++pub const DRM_CLIENT_CAP_ASPECT_RATIO: u32 = 4; ++pub const DRM_CLIENT_CAP_WRITEBACK_CONNECTORS: u32 = 5; ++pub const DRM_SYNCOBJ_CREATE_SIGNALED: u32 = 1; ++pub const DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT: u32 = 2; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE: u32 = 4; ++pub const DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_RELATIVE: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_NEXT_ON_MISS: u32 = 2; ++pub const DRM_CONNECTOR_NAME_LEN: u32 = 32; ++pub const DRM_DISPLAY_MODE_LEN: u32 = 32; ++pub const DRM_PROP_NAME_LEN: u32 = 32; ++pub const DRM_MODE_TYPE_BUILTIN: u32 = 1; ++pub const DRM_MODE_TYPE_CLOCK_C: u32 = 3; ++pub const DRM_MODE_TYPE_CRTC_C: u32 = 5; ++pub const DRM_MODE_TYPE_PREFERRED: u32 = 8; ++pub const DRM_MODE_TYPE_DEFAULT: u32 = 16; ++pub const DRM_MODE_TYPE_USERDEF: u32 = 32; ++pub const DRM_MODE_TYPE_DRIVER: u32 = 64; ++pub const DRM_MODE_TYPE_ALL: u32 = 104; ++pub const DRM_MODE_FLAG_PHSYNC: u32 = 1; ++pub const DRM_MODE_FLAG_NHSYNC: u32 = 2; ++pub const DRM_MODE_FLAG_PVSYNC: u32 = 4; ++pub const DRM_MODE_FLAG_NVSYNC: u32 = 8; ++pub const DRM_MODE_FLAG_INTERLACE: u32 = 16; ++pub const DRM_MODE_FLAG_DBLSCAN: u32 = 32; ++pub const DRM_MODE_FLAG_CSYNC: u32 = 64; ++pub const DRM_MODE_FLAG_PCSYNC: u32 = 128; ++pub const DRM_MODE_FLAG_NCSYNC: u32 = 256; ++pub const DRM_MODE_FLAG_HSKEW: u32 = 512; ++pub const DRM_MODE_FLAG_BCAST: u32 = 1024; ++pub const DRM_MODE_FLAG_PIXMUX: u32 = 2048; ++pub const DRM_MODE_FLAG_DBLCLK: u32 = 4096; ++pub const DRM_MODE_FLAG_CLKDIV2: u32 = 8192; ++pub const DRM_MODE_FLAG_3D_MASK: u32 = 507904; ++pub const DRM_MODE_FLAG_3D_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_3D_FRAME_PACKING: u32 = 16384; ++pub const DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: u32 = 32768; ++pub const DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: u32 = 49152; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: u32 = 65536; ++pub const DRM_MODE_FLAG_3D_L_DEPTH: u32 = 81920; ++pub const DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: u32 = 98304; ++pub const DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: u32 = 114688; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: u32 = 131072; ++pub const DRM_MODE_PICTURE_ASPECT_NONE: u32 = 0; ++pub const DRM_MODE_PICTURE_ASPECT_4_3: u32 = 1; ++pub const DRM_MODE_PICTURE_ASPECT_16_9: u32 = 2; ++pub const DRM_MODE_PICTURE_ASPECT_64_27: u32 = 3; ++pub const DRM_MODE_PICTURE_ASPECT_256_135: u32 = 4; ++pub const DRM_MODE_CONTENT_TYPE_NO_DATA: u32 = 0; ++pub const DRM_MODE_CONTENT_TYPE_GRAPHICS: u32 = 1; ++pub const DRM_MODE_CONTENT_TYPE_PHOTO: u32 = 2; ++pub const DRM_MODE_CONTENT_TYPE_CINEMA: u32 = 3; ++pub const DRM_MODE_CONTENT_TYPE_GAME: u32 = 4; ++pub const DRM_MODE_FLAG_PIC_AR_MASK: u32 = 7864320; ++pub const DRM_MODE_FLAG_PIC_AR_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_PIC_AR_4_3: u32 = 524288; ++pub const DRM_MODE_FLAG_PIC_AR_16_9: u32 = 1048576; ++pub const DRM_MODE_FLAG_PIC_AR_64_27: u32 = 1572864; ++pub const DRM_MODE_FLAG_PIC_AR_256_135: u32 = 2097152; ++pub const DRM_MODE_FLAG_ALL: u32 = 521215; ++pub const DRM_MODE_DPMS_ON: u32 = 0; ++pub const DRM_MODE_DPMS_STANDBY: u32 = 1; ++pub const DRM_MODE_DPMS_SUSPEND: u32 = 2; ++pub const DRM_MODE_DPMS_OFF: u32 = 3; ++pub const DRM_MODE_SCALE_NONE: u32 = 0; ++pub const DRM_MODE_SCALE_FULLSCREEN: u32 = 1; ++pub const DRM_MODE_SCALE_CENTER: u32 = 2; ++pub const DRM_MODE_SCALE_ASPECT: u32 = 3; ++pub const DRM_MODE_DITHERING_OFF: u32 = 0; ++pub const DRM_MODE_DITHERING_ON: u32 = 1; ++pub const DRM_MODE_DITHERING_AUTO: u32 = 2; ++pub const DRM_MODE_DIRTY_OFF: u32 = 0; ++pub const DRM_MODE_DIRTY_ON: u32 = 1; ++pub const DRM_MODE_DIRTY_ANNOTATE: u32 = 2; ++pub const DRM_MODE_LINK_STATUS_GOOD: u32 = 0; ++pub const DRM_MODE_LINK_STATUS_BAD: u32 = 1; ++pub const DRM_MODE_ROTATE_0: u32 = 1; ++pub const DRM_MODE_ROTATE_90: u32 = 2; ++pub const DRM_MODE_ROTATE_180: u32 = 4; ++pub const DRM_MODE_ROTATE_270: u32 = 8; ++pub const DRM_MODE_ROTATE_MASK: u32 = 15; ++pub const DRM_MODE_REFLECT_X: u32 = 16; ++pub const DRM_MODE_REFLECT_Y: u32 = 32; ++pub const DRM_MODE_REFLECT_MASK: u32 = 48; ++pub const DRM_MODE_CONTENT_PROTECTION_UNDESIRED: u32 = 0; ++pub const DRM_MODE_CONTENT_PROTECTION_DESIRED: u32 = 1; ++pub const DRM_MODE_CONTENT_PROTECTION_ENABLED: u32 = 2; ++pub const DRM_MODE_PRESENT_TOP_FIELD: u32 = 1; ++pub const DRM_MODE_PRESENT_BOTTOM_FIELD: u32 = 2; ++pub const DRM_MODE_ENCODER_NONE: u32 = 0; ++pub const DRM_MODE_ENCODER_DAC: u32 = 1; ++pub const DRM_MODE_ENCODER_TMDS: u32 = 2; ++pub const DRM_MODE_ENCODER_LVDS: u32 = 3; ++pub const DRM_MODE_ENCODER_TVDAC: u32 = 4; ++pub const DRM_MODE_ENCODER_VIRTUAL: u32 = 5; ++pub const DRM_MODE_ENCODER_DSI: u32 = 6; ++pub const DRM_MODE_ENCODER_DPMST: u32 = 7; ++pub const DRM_MODE_ENCODER_DPI: u32 = 8; ++pub const DRM_MODE_CONNECTOR_Unknown: u32 = 0; ++pub const DRM_MODE_CONNECTOR_VGA: u32 = 1; ++pub const DRM_MODE_CONNECTOR_DVII: u32 = 2; ++pub const DRM_MODE_CONNECTOR_DVID: u32 = 3; ++pub const DRM_MODE_CONNECTOR_DVIA: u32 = 4; ++pub const DRM_MODE_CONNECTOR_Composite: u32 = 5; ++pub const DRM_MODE_CONNECTOR_SVIDEO: u32 = 6; ++pub const DRM_MODE_CONNECTOR_LVDS: u32 = 7; ++pub const DRM_MODE_CONNECTOR_Component: u32 = 8; ++pub const DRM_MODE_CONNECTOR_9PinDIN: u32 = 9; ++pub const DRM_MODE_CONNECTOR_DisplayPort: u32 = 10; ++pub const DRM_MODE_CONNECTOR_HDMIA: u32 = 11; ++pub const DRM_MODE_CONNECTOR_HDMIB: u32 = 12; ++pub const DRM_MODE_CONNECTOR_TV: u32 = 13; ++pub const DRM_MODE_CONNECTOR_eDP: u32 = 14; ++pub const DRM_MODE_CONNECTOR_VIRTUAL: u32 = 15; ++pub const DRM_MODE_CONNECTOR_DSI: u32 = 16; ++pub const DRM_MODE_CONNECTOR_DPI: u32 = 17; ++pub const DRM_MODE_CONNECTOR_WRITEBACK: u32 = 18; ++pub const DRM_MODE_CONNECTOR_SPI: u32 = 19; ++pub const DRM_MODE_CONNECTOR_USB: u32 = 20; ++pub const DRM_MODE_PROP_PENDING: u32 = 1; ++pub const DRM_MODE_PROP_RANGE: u32 = 2; ++pub const DRM_MODE_PROP_IMMUTABLE: u32 = 4; ++pub const DRM_MODE_PROP_ENUM: u32 = 8; ++pub const DRM_MODE_PROP_BLOB: u32 = 16; ++pub const DRM_MODE_PROP_BITMASK: u32 = 32; ++pub const DRM_MODE_PROP_LEGACY_TYPE: u32 = 58; ++pub const DRM_MODE_PROP_EXTENDED_TYPE: u32 = 65472; ++pub const DRM_MODE_PROP_ATOMIC: u32 = 2147483648; ++pub const DRM_MODE_OBJECT_CRTC: u32 = 3435973836; ++pub const DRM_MODE_OBJECT_CONNECTOR: u32 = 3233857728; ++pub const DRM_MODE_OBJECT_ENCODER: u32 = 3772834016; ++pub const DRM_MODE_OBJECT_MODE: u32 = 3739147998; ++pub const DRM_MODE_OBJECT_PROPERTY: u32 = 2964369584; ++pub const DRM_MODE_OBJECT_FB: u32 = 4227595259; ++pub const DRM_MODE_OBJECT_BLOB: u32 = 3149642683; ++pub const DRM_MODE_OBJECT_PLANE: u32 = 4008636142; ++pub const DRM_MODE_OBJECT_ANY: u32 = 0; ++pub const DRM_MODE_FB_INTERLACED: u32 = 1; ++pub const DRM_MODE_FB_MODIFIERS: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_COPY: u32 = 1; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_FILL: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_FLAGS: u32 = 3; ++pub const DRM_MODE_FB_DIRTY_MAX_CLIPS: u32 = 256; ++pub const DRM_MODE_CURSOR_BO: u32 = 1; ++pub const DRM_MODE_CURSOR_MOVE: u32 = 2; ++pub const DRM_MODE_CURSOR_FLAGS: u32 = 3; ++pub const DRM_MODE_PAGE_FLIP_EVENT: u32 = 1; ++pub const DRM_MODE_PAGE_FLIP_ASYNC: u32 = 2; ++pub const DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE: u32 = 4; ++pub const DRM_MODE_PAGE_FLIP_TARGET_RELATIVE: u32 = 8; ++pub const DRM_MODE_PAGE_FLIP_TARGET: u32 = 12; ++pub const DRM_MODE_PAGE_FLIP_FLAGS: u32 = 15; ++pub const DRM_MODE_ATOMIC_TEST_ONLY: u32 = 256; ++pub const DRM_MODE_ATOMIC_NONBLOCK: u32 = 512; ++pub const DRM_MODE_ATOMIC_ALLOW_MODESET: u32 = 1024; ++pub const DRM_MODE_ATOMIC_FLAGS: u32 = 1795; ++pub const DRM_IOCTL_BASE: u8 = 100u8; ++pub const DRM_COMMAND_BASE: u32 = 64; ++pub const DRM_COMMAND_END: u32 = 160; ++pub const DRM_EVENT_VBLANK: u32 = 1; ++pub const DRM_EVENT_FLIP_COMPLETE: u32 = 2; ++pub const DRM_EVENT_CRTC_SEQUENCE: u32 = 3; ++pub type __uint16_t = libc::c_ushort; ++pub type __int32_t = libc::c_int; ++pub type __uint32_t = libc::c_uint; ++pub type __int64_t = libc::c_long; ++pub type __uint64_t = libc::c_ulong; ++pub type __size_t = __uint64_t; ++pub type size_t = __size_t; ++pub type __u16 = u16; ++pub type __s32 = i32; ++pub type __u32 = u32; ++pub type __s64 = i64; ++pub type __u64 = u64; ++pub type __kernel_size_t = size_t; ++pub type drm_handle_t = libc::c_ulong; ++pub type drm_context_t = libc::c_uint; ++pub type drm_drawable_t = libc::c_uint; ++pub type drm_magic_t = libc::c_uint; ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_clip_rect { ++ pub x1: libc::c_ushort, ++ pub y1: libc::c_ushort, ++ pub x2: libc::c_ushort, ++ pub y2: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_drawable_info { ++ pub num_rects: libc::c_uint, ++ pub rects: *mut drm_clip_rect, ++} ++impl Default for drm_drawable_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_tex_region { ++ pub next: libc::c_uchar, ++ pub prev: libc::c_uchar, ++ pub in_use: libc::c_uchar, ++ pub padding: libc::c_uchar, ++ pub age: libc::c_uint, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_hw_lock { ++ pub lock: libc::c_uint, ++ pub padding: [libc::c_char; 60usize], ++} ++impl Default for drm_hw_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_version { ++ pub version_major: libc::c_int, ++ pub version_minor: libc::c_int, ++ pub version_patchlevel: libc::c_int, ++ pub name_len: __kernel_size_t, ++ pub name: *mut libc::c_char, ++ pub date_len: __kernel_size_t, ++ pub date: *mut libc::c_char, ++ pub desc_len: __kernel_size_t, ++ pub desc: *mut libc::c_char, ++} ++impl Default for drm_version { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_unique { ++ pub unique_len: __kernel_size_t, ++ pub unique: *mut libc::c_char, ++} ++impl Default for drm_unique { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_list { ++ pub count: libc::c_int, ++ pub version: *mut drm_version, ++} ++impl Default for drm_list { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_block { ++ pub unused: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_control { ++ pub func: drm_control__bindgen_ty_1::Type, ++ pub irq: libc::c_int, ++} ++pub mod drm_control__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const DRM_ADD_COMMAND: Type = 0; ++ pub const DRM_RM_COMMAND: Type = 1; ++ pub const DRM_INST_HANDLER: Type = 2; ++ pub const DRM_UNINST_HANDLER: Type = 3; ++} ++impl Default for drm_control { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_map_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_FRAME_BUFFER: Type = 0; ++ pub const _DRM_REGISTERS: Type = 1; ++ pub const _DRM_SHM: Type = 2; ++ pub const _DRM_AGP: Type = 3; ++ pub const _DRM_SCATTER_GATHER: Type = 4; ++ pub const _DRM_CONSISTENT: Type = 5; ++} ++pub mod drm_map_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_RESTRICTED: Type = 1; ++ pub const _DRM_READ_ONLY: Type = 2; ++ pub const _DRM_LOCKED: Type = 4; ++ pub const _DRM_KERNEL: Type = 8; ++ pub const _DRM_WRITE_COMBINING: Type = 16; ++ pub const _DRM_CONTAINS_LOCK: Type = 32; ++ pub const _DRM_REMOVABLE: Type = 64; ++ pub const _DRM_DRIVER: Type = 128; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_priv_map { ++ pub ctx_id: libc::c_uint, ++ pub handle: *mut libc::c_void, ++} ++impl Default for drm_ctx_priv_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_map { ++ pub offset: libc::c_ulong, ++ pub size: libc::c_ulong, ++ pub type_: drm_map_type::Type, ++ pub flags: drm_map_flags::Type, ++ pub handle: *mut libc::c_void, ++ pub mtrr: libc::c_int, ++} ++impl Default for drm_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_client { ++ pub idx: libc::c_int, ++ pub auth: libc::c_int, ++ pub pid: libc::c_ulong, ++ pub uid: libc::c_ulong, ++ pub magic: libc::c_ulong, ++ pub iocs: libc::c_ulong, ++} ++pub mod drm_stat_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_STAT_LOCK: Type = 0; ++ pub const _DRM_STAT_OPENS: Type = 1; ++ pub const _DRM_STAT_CLOSES: Type = 2; ++ pub const _DRM_STAT_IOCTLS: Type = 3; ++ pub const _DRM_STAT_LOCKS: Type = 4; ++ pub const _DRM_STAT_UNLOCKS: Type = 5; ++ pub const _DRM_STAT_VALUE: Type = 6; ++ pub const _DRM_STAT_BYTE: Type = 7; ++ pub const _DRM_STAT_COUNT: Type = 8; ++ pub const _DRM_STAT_IRQ: Type = 9; ++ pub const _DRM_STAT_PRIMARY: Type = 10; ++ pub const _DRM_STAT_SECONDARY: Type = 11; ++ pub const _DRM_STAT_DMA: Type = 12; ++ pub const _DRM_STAT_SPECIAL: Type = 13; ++ pub const _DRM_STAT_MISSED: Type = 14; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats { ++ pub count: libc::c_ulong, ++ pub data: [drm_stats__bindgen_ty_1; 15usize], ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats__bindgen_ty_1 { ++ pub value: libc::c_ulong, ++ pub type_: drm_stat_type::Type, ++} ++impl Default for drm_stats__bindgen_ty_1 { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++impl Default for drm_stats { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_lock_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_LOCK_READY: Type = 1; ++ pub const _DRM_LOCK_QUIESCENT: Type = 2; ++ pub const _DRM_LOCK_FLUSH: Type = 4; ++ pub const _DRM_LOCK_FLUSH_ALL: Type = 8; ++ pub const _DRM_HALT_ALL_QUEUES: Type = 16; ++ pub const _DRM_HALT_CUR_QUEUES: Type = 32; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_lock { ++ pub context: libc::c_int, ++ pub flags: drm_lock_flags::Type, ++} ++impl Default for drm_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_dma_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_DMA_BLOCK: Type = 1; ++ pub const _DRM_DMA_WHILE_LOCKED: Type = 2; ++ pub const _DRM_DMA_PRIORITY: Type = 4; ++ pub const _DRM_DMA_WAIT: Type = 16; ++ pub const _DRM_DMA_SMALLER_OK: Type = 32; ++ pub const _DRM_DMA_LARGER_OK: Type = 64; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_desc { ++ pub count: libc::c_int, ++ pub size: libc::c_int, ++ pub low_mark: libc::c_int, ++ pub high_mark: libc::c_int, ++ pub flags: drm_buf_desc__bindgen_ty_1::Type, ++ pub agp_start: libc::c_ulong, ++} ++pub mod drm_buf_desc__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const _DRM_PAGE_ALIGN: Type = 1; ++ pub const _DRM_AGP_BUFFER: Type = 2; ++ pub const _DRM_SG_BUFFER: Type = 4; ++ pub const _DRM_FB_BUFFER: Type = 8; ++ pub const _DRM_PCI_BUFFER_RO: Type = 16; ++} ++impl Default for drm_buf_desc { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_info { ++ pub count: libc::c_int, ++ pub list: *mut drm_buf_desc, ++} ++impl Default for drm_buf_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_free { ++ pub count: libc::c_int, ++ pub list: *mut libc::c_int, ++} ++impl Default for drm_buf_free { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_pub { ++ pub idx: libc::c_int, ++ pub total: libc::c_int, ++ pub used: libc::c_int, ++ pub address: *mut libc::c_void, ++} ++impl Default for drm_buf_pub { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_map { ++ pub count: libc::c_int, ++ pub virtual_: *mut libc::c_void, ++ pub list: *mut drm_buf_pub, ++} ++impl Default for drm_buf_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_dma { ++ pub context: libc::c_int, ++ pub send_count: libc::c_int, ++ pub send_indices: *mut libc::c_int, ++ pub send_sizes: *mut libc::c_int, ++ pub flags: drm_dma_flags::Type, ++ pub request_count: libc::c_int, ++ pub request_size: libc::c_int, ++ pub request_indices: *mut libc::c_int, ++ pub request_sizes: *mut libc::c_int, ++ pub granted_count: libc::c_int, ++} ++impl Default for drm_dma { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_ctx_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_CONTEXT_PRESERVED: Type = 1; ++ pub const _DRM_CONTEXT_2DONLY: Type = 2; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx { ++ pub handle: drm_context_t, ++ pub flags: drm_ctx_flags::Type, ++} ++impl Default for drm_ctx { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_res { ++ pub count: libc::c_int, ++ pub contexts: *mut drm_ctx, ++} ++impl Default for drm_ctx_res { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_draw { ++ pub handle: drm_drawable_t, ++} ++pub mod drm_drawable_info_type_t { ++ pub type Type = libc::c_uint; ++ pub const DRM_DRAWABLE_CLIPRECTS: Type = 0; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_update_draw { ++ pub handle: drm_drawable_t, ++ pub type_: libc::c_uint, ++ pub num: libc::c_uint, ++ pub data: libc::c_ulonglong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_auth { ++ pub magic: drm_magic_t, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_irq_busid { ++ pub irq: libc::c_int, ++ pub busnum: libc::c_int, ++ pub devnum: libc::c_int, ++ pub funcnum: libc::c_int, ++} ++pub mod drm_vblank_seq_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_VBLANK_ABSOLUTE: Type = 0; ++ pub const _DRM_VBLANK_RELATIVE: Type = 1; ++ pub const _DRM_VBLANK_HIGH_CRTC_MASK: Type = 62; ++ pub const _DRM_VBLANK_EVENT: Type = 67108864; ++ pub const _DRM_VBLANK_FLIP: Type = 134217728; ++ pub const _DRM_VBLANK_NEXTONMISS: Type = 268435456; ++ pub const _DRM_VBLANK_SECONDARY: Type = 536870912; ++ pub const _DRM_VBLANK_SIGNAL: Type = 1073741824; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_request { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub signal: libc::c_ulong, ++} ++impl Default for drm_wait_vblank_request { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_reply { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub tval_sec: libc::c_long, ++ pub tval_usec: libc::c_long, ++} ++impl Default for drm_wait_vblank_reply { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Copy, Clone)] ++pub union drm_wait_vblank { ++ pub request: drm_wait_vblank_request, ++ pub reply: drm_wait_vblank_reply, ++} ++impl Default for drm_wait_vblank { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_modeset_ctl { ++ pub crtc: __u32, ++ pub cmd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_mode { ++ pub mode: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_buffer { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++ pub type_: libc::c_ulong, ++ pub physical: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_binding { ++ pub handle: libc::c_ulong, ++ pub offset: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_info { ++ pub agp_version_major: libc::c_int, ++ pub agp_version_minor: libc::c_int, ++ pub mode: libc::c_ulong, ++ pub aperture_base: libc::c_ulong, ++ pub aperture_size: libc::c_ulong, ++ pub memory_allowed: libc::c_ulong, ++ pub memory_used: libc::c_ulong, ++ pub id_vendor: libc::c_ushort, ++ pub id_device: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_scatter_gather { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_version { ++ pub drm_di_major: libc::c_int, ++ pub drm_di_minor: libc::c_int, ++ pub drm_dd_major: libc::c_int, ++ pub drm_dd_minor: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_close { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_flink { ++ pub handle: __u32, ++ pub name: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_open { ++ pub name: __u32, ++ pub handle: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_get_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_client_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_prime_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_create { ++ pub handle: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_destroy { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_transfer { ++ pub src_handle: __u32, ++ pub dst_handle: __u32, ++ pub src_point: __u64, ++ pub dst_point: __u64, ++ pub flags: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_wait { ++ pub handles: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_wait { ++ pub handles: __u64, ++ pub points: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_array { ++ pub handles: __u64, ++ pub count_handles: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_array { ++ pub handles: __u64, ++ pub points: __u64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_get_sequence { ++ pub crtc_id: __u32, ++ pub active: __u32, ++ pub sequence: __u64, ++ pub sequence_ns: __s64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_queue_sequence { ++ pub crtc_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_modeinfo { ++ pub clock: __u32, ++ pub hdisplay: __u16, ++ pub hsync_start: __u16, ++ pub hsync_end: __u16, ++ pub htotal: __u16, ++ pub hskew: __u16, ++ pub vdisplay: __u16, ++ pub vsync_start: __u16, ++ pub vsync_end: __u16, ++ pub vtotal: __u16, ++ pub vscan: __u16, ++ pub vrefresh: __u32, ++ pub flags: __u32, ++ pub type_: __u32, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_card_res { ++ pub fb_id_ptr: __u64, ++ pub crtc_id_ptr: __u64, ++ pub connector_id_ptr: __u64, ++ pub encoder_id_ptr: __u64, ++ pub count_fbs: __u32, ++ pub count_crtcs: __u32, ++ pub count_connectors: __u32, ++ pub count_encoders: __u32, ++ pub min_width: __u32, ++ pub max_width: __u32, ++ pub min_height: __u32, ++ pub max_height: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc { ++ pub set_connectors_ptr: __u64, ++ pub count_connectors: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub x: __u32, ++ pub y: __u32, ++ pub gamma_size: __u32, ++ pub mode_valid: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_set_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub crtc_x: __s32, ++ pub crtc_y: __s32, ++ pub crtc_w: __u32, ++ pub crtc_h: __u32, ++ pub src_x: __u32, ++ pub src_y: __u32, ++ pub src_h: __u32, ++ pub src_w: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub possible_crtcs: __u32, ++ pub gamma_size: __u32, ++ pub count_format_types: __u32, ++ pub format_type_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane_res { ++ pub plane_id_ptr: __u64, ++ pub count_planes: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_encoder { ++ pub encoder_id: __u32, ++ pub encoder_type: __u32, ++ pub crtc_id: __u32, ++ pub possible_crtcs: __u32, ++ pub possible_clones: __u32, ++} ++pub mod drm_mode_subconnector { ++ pub type Type = libc::c_uint; ++ pub const DRM_MODE_SUBCONNECTOR_Automatic: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_Unknown: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_VGA: Type = 1; ++ pub const DRM_MODE_SUBCONNECTOR_DVID: Type = 3; ++ pub const DRM_MODE_SUBCONNECTOR_DVIA: Type = 4; ++ pub const DRM_MODE_SUBCONNECTOR_Composite: Type = 5; ++ pub const DRM_MODE_SUBCONNECTOR_SVIDEO: Type = 6; ++ pub const DRM_MODE_SUBCONNECTOR_Component: Type = 8; ++ pub const DRM_MODE_SUBCONNECTOR_SCART: Type = 9; ++ pub const DRM_MODE_SUBCONNECTOR_DisplayPort: Type = 10; ++ pub const DRM_MODE_SUBCONNECTOR_HDMIA: Type = 11; ++ pub const DRM_MODE_SUBCONNECTOR_Native: Type = 15; ++ pub const DRM_MODE_SUBCONNECTOR_Wireless: Type = 18; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_connector { ++ pub encoders_ptr: __u64, ++ pub modes_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_modes: __u32, ++ pub count_props: __u32, ++ pub count_encoders: __u32, ++ pub encoder_id: __u32, ++ pub connector_id: __u32, ++ pub connector_type: __u32, ++ pub connector_type_id: __u32, ++ pub connection: __u32, ++ pub mm_width: __u32, ++ pub mm_height: __u32, ++ pub subpixel: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_property_enum { ++ pub value: __u64, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_property { ++ pub values_ptr: __u64, ++ pub enum_blob_ptr: __u64, ++ pub prop_id: __u32, ++ pub flags: __u32, ++ pub name: [libc::c_char; 32usize], ++ pub count_values: __u32, ++ pub count_enum_blobs: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_connector_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub connector_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_get_properties { ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_props: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_blob { ++ pub blob_id: __u32, ++ pub length: __u32, ++ pub data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pitch: __u32, ++ pub bpp: __u32, ++ pub depth: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd2 { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pixel_format: __u32, ++ pub flags: __u32, ++ pub handles: [__u32; 4usize], ++ pub pitches: [__u32; 4usize], ++ pub offsets: [__u32; 4usize], ++ pub modifier: [__u64; 4usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_dirty_cmd { ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub color: __u32, ++ pub num_clips: __u32, ++ pub clips_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_mode_cmd { ++ pub connector_id: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor2 { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++ pub hot_x: __s32, ++ pub hot_y: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_lut { ++ pub crtc_id: __u32, ++ pub gamma_size: __u32, ++ pub red: __u64, ++ pub green: __u64, ++ pub blue: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_ctm { ++ pub matrix: [__u64; 9usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_lut { ++ pub red: __u16, ++ pub green: __u16, ++ pub blue: __u16, ++ pub reserved: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct hdr_metadata_infoframe__bindgen_ty_1 { ++ pub x: __u16, ++ pub y: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub reserved: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip_target { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_dumb { ++ pub height: __u32, ++ pub width: __u32, ++ pub bpp: __u32, ++ pub flags: __u32, ++ pub handle: __u32, ++ pub pitch: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_map_dumb { ++ pub handle: __u32, ++ pub pad: __u32, ++ pub offset: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_dumb { ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_atomic { ++ pub flags: __u32, ++ pub count_objs: __u32, ++ pub objs_ptr: __u64, ++ pub count_props_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub reserved: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier_blob { ++ pub version: __u32, ++ pub flags: __u32, ++ pub count_formats: __u32, ++ pub formats_offset: __u32, ++ pub count_modifiers: __u32, ++ pub modifiers_offset: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier { ++ pub formats: __u64, ++ pub offset: __u32, ++ pub pad: __u32, ++ pub modifier: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_blob { ++ pub data: __u64, ++ pub length: __u32, ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_blob { ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_lease { ++ pub object_ids: __u64, ++ pub object_count: __u32, ++ pub flags: __u32, ++ pub lessee_id: __u32, ++ pub fd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_list_lessees { ++ pub count_lessees: __u32, ++ pub pad: __u32, ++ pub lessees_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_lease { ++ pub count_objects: __u32, ++ pub pad: __u32, ++ pub objects_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_revoke_lease { ++ pub lessee_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_rect { ++ pub x1: __s32, ++ pub y1: __s32, ++ pub x2: __s32, ++ pub y2: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event { ++ pub type_: __u32, ++ pub length: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_vblank { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub tv_sec: __u32, ++ pub tv_usec: __u32, ++ pub sequence: __u32, ++ pub crtc_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_crtc_sequence { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub time_ns: __s64, ++ pub sequence: __u64, ++} ++pub type drm_clip_rect_t = drm_clip_rect; ++pub type drm_drawable_info_t = drm_drawable_info; ++pub type drm_tex_region_t = drm_tex_region; ++pub type drm_hw_lock_t = drm_hw_lock; ++pub type drm_version_t = drm_version; ++pub type drm_unique_t = drm_unique; ++pub type drm_list_t = drm_list; ++pub type drm_block_t = drm_block; ++pub type drm_control_t = drm_control; ++pub use self::drm_map_flags::Type as drm_map_flags_t; ++pub use self::drm_map_type::Type as drm_map_type_t; ++pub type drm_ctx_priv_map_t = drm_ctx_priv_map; ++pub type drm_map_t = drm_map; ++pub type drm_client_t = drm_client; ++pub use self::drm_stat_type::Type as drm_stat_type_t; ++pub type drm_stats_t = drm_stats; ++pub use self::drm_lock_flags::Type as drm_lock_flags_t; ++pub type drm_lock_t = drm_lock; ++pub use self::drm_dma_flags::Type as drm_dma_flags_t; ++pub type drm_buf_desc_t = drm_buf_desc; ++pub type drm_buf_info_t = drm_buf_info; ++pub type drm_buf_free_t = drm_buf_free; ++pub type drm_buf_pub_t = drm_buf_pub; ++pub type drm_buf_map_t = drm_buf_map; ++pub type drm_dma_t = drm_dma; ++pub type drm_wait_vblank_t = drm_wait_vblank; ++pub type drm_agp_mode_t = drm_agp_mode; ++pub use self::drm_ctx_flags::Type as drm_ctx_flags_t; ++pub type drm_ctx_t = drm_ctx; ++pub type drm_ctx_res_t = drm_ctx_res; ++pub type drm_draw_t = drm_draw; ++pub type drm_update_draw_t = drm_update_draw; ++pub type drm_auth_t = drm_auth; ++pub type drm_irq_busid_t = drm_irq_busid; ++pub use self::drm_vblank_seq_type::Type as drm_vblank_seq_type_t; ++pub type drm_agp_buffer_t = drm_agp_buffer; ++pub type drm_agp_binding_t = drm_agp_binding; ++pub type drm_agp_info_t = drm_agp_info; ++pub type drm_scatter_gather_t = drm_scatter_gather; ++pub type drm_set_version_t = drm_set_version; ++pub const DRM_MODE_PROP_SIGNED_RANGE: libc::c_uint = 128; ++pub const DRM_MODE_PROP_OBJECT: libc::c_uint = 64; +--- /dev/null 1970-01-01 00:00:00 UTC ++++ cargo-crates/drm-sys-0.4.0/src/platforms/freebsd/x86/bindings.rs +@@ -0,0 +1,1342 @@ ++/* automatically generated by rust-bindgen 0.59.2 */ ++ ++pub const DRM_NAME: &[u8; 4usize] = b"drm\0"; ++pub const DRM_MIN_ORDER: u32 = 5; ++pub const DRM_MAX_ORDER: u32 = 22; ++pub const DRM_RAM_PERCENT: u32 = 10; ++pub const _DRM_LOCK_HELD: u32 = 2147483648; ++pub const _DRM_LOCK_CONT: u32 = 1073741824; ++pub const _DRM_VBLANK_HIGH_CRTC_SHIFT: u32 = 1; ++pub const _DRM_PRE_MODESET: u32 = 1; ++pub const _DRM_POST_MODESET: u32 = 2; ++pub const DRM_CAP_DUMB_BUFFER: u32 = 1; ++pub const DRM_CAP_VBLANK_HIGH_CRTC: u32 = 2; ++pub const DRM_CAP_DUMB_PREFERRED_DEPTH: u32 = 3; ++pub const DRM_CAP_DUMB_PREFER_SHADOW: u32 = 4; ++pub const DRM_CAP_PRIME: u32 = 5; ++pub const DRM_PRIME_CAP_IMPORT: u32 = 1; ++pub const DRM_PRIME_CAP_EXPORT: u32 = 2; ++pub const DRM_CAP_TIMESTAMP_MONOTONIC: u32 = 6; ++pub const DRM_CAP_ASYNC_PAGE_FLIP: u32 = 7; ++pub const DRM_CAP_CURSOR_WIDTH: u32 = 8; ++pub const DRM_CAP_CURSOR_HEIGHT: u32 = 9; ++pub const DRM_CAP_ADDFB2_MODIFIERS: u32 = 16; ++pub const DRM_CAP_PAGE_FLIP_TARGET: u32 = 17; ++pub const DRM_CAP_CRTC_IN_VBLANK_EVENT: u32 = 18; ++pub const DRM_CAP_SYNCOBJ: u32 = 19; ++pub const DRM_CAP_SYNCOBJ_TIMELINE: u32 = 20; ++pub const DRM_CLIENT_CAP_STEREO_3D: u32 = 1; ++pub const DRM_CLIENT_CAP_UNIVERSAL_PLANES: u32 = 2; ++pub const DRM_CLIENT_CAP_ATOMIC: u32 = 3; ++pub const DRM_CLIENT_CAP_ASPECT_RATIO: u32 = 4; ++pub const DRM_CLIENT_CAP_WRITEBACK_CONNECTORS: u32 = 5; ++pub const DRM_SYNCOBJ_CREATE_SIGNALED: u32 = 1; ++pub const DRM_SYNCOBJ_FD_TO_HANDLE_FLAGS_IMPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_HANDLE_TO_FD_FLAGS_EXPORT_SYNC_FILE: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL: u32 = 1; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_FOR_SUBMIT: u32 = 2; ++pub const DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE: u32 = 4; ++pub const DRM_SYNCOBJ_QUERY_FLAGS_LAST_SUBMITTED: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_RELATIVE: u32 = 1; ++pub const DRM_CRTC_SEQUENCE_NEXT_ON_MISS: u32 = 2; ++pub const DRM_CONNECTOR_NAME_LEN: u32 = 32; ++pub const DRM_DISPLAY_MODE_LEN: u32 = 32; ++pub const DRM_PROP_NAME_LEN: u32 = 32; ++pub const DRM_MODE_TYPE_BUILTIN: u32 = 1; ++pub const DRM_MODE_TYPE_CLOCK_C: u32 = 3; ++pub const DRM_MODE_TYPE_CRTC_C: u32 = 5; ++pub const DRM_MODE_TYPE_PREFERRED: u32 = 8; ++pub const DRM_MODE_TYPE_DEFAULT: u32 = 16; ++pub const DRM_MODE_TYPE_USERDEF: u32 = 32; ++pub const DRM_MODE_TYPE_DRIVER: u32 = 64; ++pub const DRM_MODE_TYPE_ALL: u32 = 104; ++pub const DRM_MODE_FLAG_PHSYNC: u32 = 1; ++pub const DRM_MODE_FLAG_NHSYNC: u32 = 2; ++pub const DRM_MODE_FLAG_PVSYNC: u32 = 4; ++pub const DRM_MODE_FLAG_NVSYNC: u32 = 8; ++pub const DRM_MODE_FLAG_INTERLACE: u32 = 16; ++pub const DRM_MODE_FLAG_DBLSCAN: u32 = 32; ++pub const DRM_MODE_FLAG_CSYNC: u32 = 64; ++pub const DRM_MODE_FLAG_PCSYNC: u32 = 128; ++pub const DRM_MODE_FLAG_NCSYNC: u32 = 256; ++pub const DRM_MODE_FLAG_HSKEW: u32 = 512; ++pub const DRM_MODE_FLAG_BCAST: u32 = 1024; ++pub const DRM_MODE_FLAG_PIXMUX: u32 = 2048; ++pub const DRM_MODE_FLAG_DBLCLK: u32 = 4096; ++pub const DRM_MODE_FLAG_CLKDIV2: u32 = 8192; ++pub const DRM_MODE_FLAG_3D_MASK: u32 = 507904; ++pub const DRM_MODE_FLAG_3D_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_3D_FRAME_PACKING: u32 = 16384; ++pub const DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE: u32 = 32768; ++pub const DRM_MODE_FLAG_3D_LINE_ALTERNATIVE: u32 = 49152; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL: u32 = 65536; ++pub const DRM_MODE_FLAG_3D_L_DEPTH: u32 = 81920; ++pub const DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH: u32 = 98304; ++pub const DRM_MODE_FLAG_3D_TOP_AND_BOTTOM: u32 = 114688; ++pub const DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF: u32 = 131072; ++pub const DRM_MODE_PICTURE_ASPECT_NONE: u32 = 0; ++pub const DRM_MODE_PICTURE_ASPECT_4_3: u32 = 1; ++pub const DRM_MODE_PICTURE_ASPECT_16_9: u32 = 2; ++pub const DRM_MODE_PICTURE_ASPECT_64_27: u32 = 3; ++pub const DRM_MODE_PICTURE_ASPECT_256_135: u32 = 4; ++pub const DRM_MODE_CONTENT_TYPE_NO_DATA: u32 = 0; ++pub const DRM_MODE_CONTENT_TYPE_GRAPHICS: u32 = 1; ++pub const DRM_MODE_CONTENT_TYPE_PHOTO: u32 = 2; ++pub const DRM_MODE_CONTENT_TYPE_CINEMA: u32 = 3; ++pub const DRM_MODE_CONTENT_TYPE_GAME: u32 = 4; ++pub const DRM_MODE_FLAG_PIC_AR_MASK: u32 = 7864320; ++pub const DRM_MODE_FLAG_PIC_AR_NONE: u32 = 0; ++pub const DRM_MODE_FLAG_PIC_AR_4_3: u32 = 524288; ++pub const DRM_MODE_FLAG_PIC_AR_16_9: u32 = 1048576; ++pub const DRM_MODE_FLAG_PIC_AR_64_27: u32 = 1572864; ++pub const DRM_MODE_FLAG_PIC_AR_256_135: u32 = 2097152; ++pub const DRM_MODE_FLAG_ALL: u32 = 521215; ++pub const DRM_MODE_DPMS_ON: u32 = 0; ++pub const DRM_MODE_DPMS_STANDBY: u32 = 1; ++pub const DRM_MODE_DPMS_SUSPEND: u32 = 2; ++pub const DRM_MODE_DPMS_OFF: u32 = 3; ++pub const DRM_MODE_SCALE_NONE: u32 = 0; ++pub const DRM_MODE_SCALE_FULLSCREEN: u32 = 1; ++pub const DRM_MODE_SCALE_CENTER: u32 = 2; ++pub const DRM_MODE_SCALE_ASPECT: u32 = 3; ++pub const DRM_MODE_DITHERING_OFF: u32 = 0; ++pub const DRM_MODE_DITHERING_ON: u32 = 1; ++pub const DRM_MODE_DITHERING_AUTO: u32 = 2; ++pub const DRM_MODE_DIRTY_OFF: u32 = 0; ++pub const DRM_MODE_DIRTY_ON: u32 = 1; ++pub const DRM_MODE_DIRTY_ANNOTATE: u32 = 2; ++pub const DRM_MODE_LINK_STATUS_GOOD: u32 = 0; ++pub const DRM_MODE_LINK_STATUS_BAD: u32 = 1; ++pub const DRM_MODE_ROTATE_0: u32 = 1; ++pub const DRM_MODE_ROTATE_90: u32 = 2; ++pub const DRM_MODE_ROTATE_180: u32 = 4; ++pub const DRM_MODE_ROTATE_270: u32 = 8; ++pub const DRM_MODE_ROTATE_MASK: u32 = 15; ++pub const DRM_MODE_REFLECT_X: u32 = 16; ++pub const DRM_MODE_REFLECT_Y: u32 = 32; ++pub const DRM_MODE_REFLECT_MASK: u32 = 48; ++pub const DRM_MODE_CONTENT_PROTECTION_UNDESIRED: u32 = 0; ++pub const DRM_MODE_CONTENT_PROTECTION_DESIRED: u32 = 1; ++pub const DRM_MODE_CONTENT_PROTECTION_ENABLED: u32 = 2; ++pub const DRM_MODE_PRESENT_TOP_FIELD: u32 = 1; ++pub const DRM_MODE_PRESENT_BOTTOM_FIELD: u32 = 2; ++pub const DRM_MODE_ENCODER_NONE: u32 = 0; ++pub const DRM_MODE_ENCODER_DAC: u32 = 1; ++pub const DRM_MODE_ENCODER_TMDS: u32 = 2; ++pub const DRM_MODE_ENCODER_LVDS: u32 = 3; ++pub const DRM_MODE_ENCODER_TVDAC: u32 = 4; ++pub const DRM_MODE_ENCODER_VIRTUAL: u32 = 5; ++pub const DRM_MODE_ENCODER_DSI: u32 = 6; ++pub const DRM_MODE_ENCODER_DPMST: u32 = 7; ++pub const DRM_MODE_ENCODER_DPI: u32 = 8; ++pub const DRM_MODE_CONNECTOR_Unknown: u32 = 0; ++pub const DRM_MODE_CONNECTOR_VGA: u32 = 1; ++pub const DRM_MODE_CONNECTOR_DVII: u32 = 2; ++pub const DRM_MODE_CONNECTOR_DVID: u32 = 3; ++pub const DRM_MODE_CONNECTOR_DVIA: u32 = 4; ++pub const DRM_MODE_CONNECTOR_Composite: u32 = 5; ++pub const DRM_MODE_CONNECTOR_SVIDEO: u32 = 6; ++pub const DRM_MODE_CONNECTOR_LVDS: u32 = 7; ++pub const DRM_MODE_CONNECTOR_Component: u32 = 8; ++pub const DRM_MODE_CONNECTOR_9PinDIN: u32 = 9; ++pub const DRM_MODE_CONNECTOR_DisplayPort: u32 = 10; ++pub const DRM_MODE_CONNECTOR_HDMIA: u32 = 11; ++pub const DRM_MODE_CONNECTOR_HDMIB: u32 = 12; ++pub const DRM_MODE_CONNECTOR_TV: u32 = 13; ++pub const DRM_MODE_CONNECTOR_eDP: u32 = 14; ++pub const DRM_MODE_CONNECTOR_VIRTUAL: u32 = 15; ++pub const DRM_MODE_CONNECTOR_DSI: u32 = 16; ++pub const DRM_MODE_CONNECTOR_DPI: u32 = 17; ++pub const DRM_MODE_CONNECTOR_WRITEBACK: u32 = 18; ++pub const DRM_MODE_CONNECTOR_SPI: u32 = 19; ++pub const DRM_MODE_CONNECTOR_USB: u32 = 20; ++pub const DRM_MODE_PROP_PENDING: u32 = 1; ++pub const DRM_MODE_PROP_RANGE: u32 = 2; ++pub const DRM_MODE_PROP_IMMUTABLE: u32 = 4; ++pub const DRM_MODE_PROP_ENUM: u32 = 8; ++pub const DRM_MODE_PROP_BLOB: u32 = 16; ++pub const DRM_MODE_PROP_BITMASK: u32 = 32; ++pub const DRM_MODE_PROP_LEGACY_TYPE: u32 = 58; ++pub const DRM_MODE_PROP_EXTENDED_TYPE: u32 = 65472; ++pub const DRM_MODE_PROP_ATOMIC: u32 = 2147483648; ++pub const DRM_MODE_OBJECT_CRTC: u32 = 3435973836; ++pub const DRM_MODE_OBJECT_CONNECTOR: u32 = 3233857728; ++pub const DRM_MODE_OBJECT_ENCODER: u32 = 3772834016; ++pub const DRM_MODE_OBJECT_MODE: u32 = 3739147998; ++pub const DRM_MODE_OBJECT_PROPERTY: u32 = 2964369584; ++pub const DRM_MODE_OBJECT_FB: u32 = 4227595259; ++pub const DRM_MODE_OBJECT_BLOB: u32 = 3149642683; ++pub const DRM_MODE_OBJECT_PLANE: u32 = 4008636142; ++pub const DRM_MODE_OBJECT_ANY: u32 = 0; ++pub const DRM_MODE_FB_INTERLACED: u32 = 1; ++pub const DRM_MODE_FB_MODIFIERS: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_COPY: u32 = 1; ++pub const DRM_MODE_FB_DIRTY_ANNOTATE_FILL: u32 = 2; ++pub const DRM_MODE_FB_DIRTY_FLAGS: u32 = 3; ++pub const DRM_MODE_FB_DIRTY_MAX_CLIPS: u32 = 256; ++pub const DRM_MODE_CURSOR_BO: u32 = 1; ++pub const DRM_MODE_CURSOR_MOVE: u32 = 2; ++pub const DRM_MODE_CURSOR_FLAGS: u32 = 3; ++pub const DRM_MODE_PAGE_FLIP_EVENT: u32 = 1; ++pub const DRM_MODE_PAGE_FLIP_ASYNC: u32 = 2; ++pub const DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE: u32 = 4; ++pub const DRM_MODE_PAGE_FLIP_TARGET_RELATIVE: u32 = 8; ++pub const DRM_MODE_PAGE_FLIP_TARGET: u32 = 12; ++pub const DRM_MODE_PAGE_FLIP_FLAGS: u32 = 15; ++pub const DRM_MODE_ATOMIC_TEST_ONLY: u32 = 256; ++pub const DRM_MODE_ATOMIC_NONBLOCK: u32 = 512; ++pub const DRM_MODE_ATOMIC_ALLOW_MODESET: u32 = 1024; ++pub const DRM_MODE_ATOMIC_FLAGS: u32 = 1795; ++pub const DRM_IOCTL_BASE: u8 = 100u8; ++pub const DRM_COMMAND_BASE: u32 = 64; ++pub const DRM_COMMAND_END: u32 = 160; ++pub const DRM_EVENT_VBLANK: u32 = 1; ++pub const DRM_EVENT_FLIP_COMPLETE: u32 = 2; ++pub const DRM_EVENT_CRTC_SEQUENCE: u32 = 3; ++pub type __uint16_t = libc::c_ushort; ++pub type __int32_t = libc::c_int; ++pub type __uint32_t = libc::c_uint; ++pub type __int64_t = libc::c_longlong; ++pub type __uint64_t = libc::c_ulonglong; ++pub type __size_t = __uint32_t; ++pub type size_t = __size_t; ++pub type __u16 = u16; ++pub type __s32 = i32; ++pub type __u32 = u32; ++pub type __s64 = i64; ++pub type __u64 = u64; ++pub type __kernel_size_t = size_t; ++pub type drm_handle_t = libc::c_ulong; ++pub type drm_context_t = libc::c_uint; ++pub type drm_drawable_t = libc::c_uint; ++pub type drm_magic_t = libc::c_uint; ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_clip_rect { ++ pub x1: libc::c_ushort, ++ pub y1: libc::c_ushort, ++ pub x2: libc::c_ushort, ++ pub y2: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_drawable_info { ++ pub num_rects: libc::c_uint, ++ pub rects: *mut drm_clip_rect, ++} ++impl Default for drm_drawable_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_tex_region { ++ pub next: libc::c_uchar, ++ pub prev: libc::c_uchar, ++ pub in_use: libc::c_uchar, ++ pub padding: libc::c_uchar, ++ pub age: libc::c_uint, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_hw_lock { ++ pub lock: libc::c_uint, ++ pub padding: [libc::c_char; 60usize], ++} ++impl Default for drm_hw_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_version { ++ pub version_major: libc::c_int, ++ pub version_minor: libc::c_int, ++ pub version_patchlevel: libc::c_int, ++ pub name_len: __kernel_size_t, ++ pub name: *mut libc::c_char, ++ pub date_len: __kernel_size_t, ++ pub date: *mut libc::c_char, ++ pub desc_len: __kernel_size_t, ++ pub desc: *mut libc::c_char, ++} ++impl Default for drm_version { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_unique { ++ pub unique_len: __kernel_size_t, ++ pub unique: *mut libc::c_char, ++} ++impl Default for drm_unique { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_list { ++ pub count: libc::c_int, ++ pub version: *mut drm_version, ++} ++impl Default for drm_list { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_block { ++ pub unused: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_control { ++ pub func: drm_control__bindgen_ty_1::Type, ++ pub irq: libc::c_int, ++} ++pub mod drm_control__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const DRM_ADD_COMMAND: Type = 0; ++ pub const DRM_RM_COMMAND: Type = 1; ++ pub const DRM_INST_HANDLER: Type = 2; ++ pub const DRM_UNINST_HANDLER: Type = 3; ++} ++impl Default for drm_control { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_map_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_FRAME_BUFFER: Type = 0; ++ pub const _DRM_REGISTERS: Type = 1; ++ pub const _DRM_SHM: Type = 2; ++ pub const _DRM_AGP: Type = 3; ++ pub const _DRM_SCATTER_GATHER: Type = 4; ++ pub const _DRM_CONSISTENT: Type = 5; ++} ++pub mod drm_map_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_RESTRICTED: Type = 1; ++ pub const _DRM_READ_ONLY: Type = 2; ++ pub const _DRM_LOCKED: Type = 4; ++ pub const _DRM_KERNEL: Type = 8; ++ pub const _DRM_WRITE_COMBINING: Type = 16; ++ pub const _DRM_CONTAINS_LOCK: Type = 32; ++ pub const _DRM_REMOVABLE: Type = 64; ++ pub const _DRM_DRIVER: Type = 128; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_priv_map { ++ pub ctx_id: libc::c_uint, ++ pub handle: *mut libc::c_void, ++} ++impl Default for drm_ctx_priv_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_map { ++ pub offset: libc::c_ulong, ++ pub size: libc::c_ulong, ++ pub type_: drm_map_type::Type, ++ pub flags: drm_map_flags::Type, ++ pub handle: *mut libc::c_void, ++ pub mtrr: libc::c_int, ++} ++impl Default for drm_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_client { ++ pub idx: libc::c_int, ++ pub auth: libc::c_int, ++ pub pid: libc::c_ulong, ++ pub uid: libc::c_ulong, ++ pub magic: libc::c_ulong, ++ pub iocs: libc::c_ulong, ++} ++pub mod drm_stat_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_STAT_LOCK: Type = 0; ++ pub const _DRM_STAT_OPENS: Type = 1; ++ pub const _DRM_STAT_CLOSES: Type = 2; ++ pub const _DRM_STAT_IOCTLS: Type = 3; ++ pub const _DRM_STAT_LOCKS: Type = 4; ++ pub const _DRM_STAT_UNLOCKS: Type = 5; ++ pub const _DRM_STAT_VALUE: Type = 6; ++ pub const _DRM_STAT_BYTE: Type = 7; ++ pub const _DRM_STAT_COUNT: Type = 8; ++ pub const _DRM_STAT_IRQ: Type = 9; ++ pub const _DRM_STAT_PRIMARY: Type = 10; ++ pub const _DRM_STAT_SECONDARY: Type = 11; ++ pub const _DRM_STAT_DMA: Type = 12; ++ pub const _DRM_STAT_SPECIAL: Type = 13; ++ pub const _DRM_STAT_MISSED: Type = 14; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats { ++ pub count: libc::c_ulong, ++ pub data: [drm_stats__bindgen_ty_1; 15usize], ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_stats__bindgen_ty_1 { ++ pub value: libc::c_ulong, ++ pub type_: drm_stat_type::Type, ++} ++impl Default for drm_stats__bindgen_ty_1 { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++impl Default for drm_stats { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_lock_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_LOCK_READY: Type = 1; ++ pub const _DRM_LOCK_QUIESCENT: Type = 2; ++ pub const _DRM_LOCK_FLUSH: Type = 4; ++ pub const _DRM_LOCK_FLUSH_ALL: Type = 8; ++ pub const _DRM_HALT_ALL_QUEUES: Type = 16; ++ pub const _DRM_HALT_CUR_QUEUES: Type = 32; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_lock { ++ pub context: libc::c_int, ++ pub flags: drm_lock_flags::Type, ++} ++impl Default for drm_lock { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_dma_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_DMA_BLOCK: Type = 1; ++ pub const _DRM_DMA_WHILE_LOCKED: Type = 2; ++ pub const _DRM_DMA_PRIORITY: Type = 4; ++ pub const _DRM_DMA_WAIT: Type = 16; ++ pub const _DRM_DMA_SMALLER_OK: Type = 32; ++ pub const _DRM_DMA_LARGER_OK: Type = 64; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_desc { ++ pub count: libc::c_int, ++ pub size: libc::c_int, ++ pub low_mark: libc::c_int, ++ pub high_mark: libc::c_int, ++ pub flags: drm_buf_desc__bindgen_ty_1::Type, ++ pub agp_start: libc::c_ulong, ++} ++pub mod drm_buf_desc__bindgen_ty_1 { ++ pub type Type = libc::c_uint; ++ pub const _DRM_PAGE_ALIGN: Type = 1; ++ pub const _DRM_AGP_BUFFER: Type = 2; ++ pub const _DRM_SG_BUFFER: Type = 4; ++ pub const _DRM_FB_BUFFER: Type = 8; ++ pub const _DRM_PCI_BUFFER_RO: Type = 16; ++} ++impl Default for drm_buf_desc { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_info { ++ pub count: libc::c_int, ++ pub list: *mut drm_buf_desc, ++} ++impl Default for drm_buf_info { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_free { ++ pub count: libc::c_int, ++ pub list: *mut libc::c_int, ++} ++impl Default for drm_buf_free { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_pub { ++ pub idx: libc::c_int, ++ pub total: libc::c_int, ++ pub used: libc::c_int, ++ pub address: *mut libc::c_void, ++} ++impl Default for drm_buf_pub { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_buf_map { ++ pub count: libc::c_int, ++ pub virtual_: *mut libc::c_void, ++ pub list: *mut drm_buf_pub, ++} ++impl Default for drm_buf_map { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_dma { ++ pub context: libc::c_int, ++ pub send_count: libc::c_int, ++ pub send_indices: *mut libc::c_int, ++ pub send_sizes: *mut libc::c_int, ++ pub flags: drm_dma_flags::Type, ++ pub request_count: libc::c_int, ++ pub request_size: libc::c_int, ++ pub request_indices: *mut libc::c_int, ++ pub request_sizes: *mut libc::c_int, ++ pub granted_count: libc::c_int, ++} ++impl Default for drm_dma { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++pub mod drm_ctx_flags { ++ pub type Type = libc::c_uint; ++ pub const _DRM_CONTEXT_PRESERVED: Type = 1; ++ pub const _DRM_CONTEXT_2DONLY: Type = 2; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx { ++ pub handle: drm_context_t, ++ pub flags: drm_ctx_flags::Type, ++} ++impl Default for drm_ctx { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_ctx_res { ++ pub count: libc::c_int, ++ pub contexts: *mut drm_ctx, ++} ++impl Default for drm_ctx_res { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_draw { ++ pub handle: drm_drawable_t, ++} ++pub mod drm_drawable_info_type_t { ++ pub type Type = libc::c_uint; ++ pub const DRM_DRAWABLE_CLIPRECTS: Type = 0; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_update_draw { ++ pub handle: drm_drawable_t, ++ pub type_: libc::c_uint, ++ pub num: libc::c_uint, ++ pub data: libc::c_ulonglong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_auth { ++ pub magic: drm_magic_t, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_irq_busid { ++ pub irq: libc::c_int, ++ pub busnum: libc::c_int, ++ pub devnum: libc::c_int, ++ pub funcnum: libc::c_int, ++} ++pub mod drm_vblank_seq_type { ++ pub type Type = libc::c_uint; ++ pub const _DRM_VBLANK_ABSOLUTE: Type = 0; ++ pub const _DRM_VBLANK_RELATIVE: Type = 1; ++ pub const _DRM_VBLANK_HIGH_CRTC_MASK: Type = 62; ++ pub const _DRM_VBLANK_EVENT: Type = 67108864; ++ pub const _DRM_VBLANK_FLIP: Type = 134217728; ++ pub const _DRM_VBLANK_NEXTONMISS: Type = 268435456; ++ pub const _DRM_VBLANK_SECONDARY: Type = 536870912; ++ pub const _DRM_VBLANK_SIGNAL: Type = 1073741824; ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_request { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub signal: libc::c_ulong, ++} ++impl Default for drm_wait_vblank_request { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_wait_vblank_reply { ++ pub type_: drm_vblank_seq_type::Type, ++ pub sequence: libc::c_uint, ++ pub tval_sec: libc::c_long, ++ pub tval_usec: libc::c_long, ++} ++impl Default for drm_wait_vblank_reply { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Copy, Clone)] ++pub union drm_wait_vblank { ++ pub request: drm_wait_vblank_request, ++ pub reply: drm_wait_vblank_reply, ++} ++impl Default for drm_wait_vblank { ++ fn default() -> Self { ++ let mut s = ::core::mem::MaybeUninit::<Self>::uninit(); ++ unsafe { ++ ::core::ptr::write_bytes(s.as_mut_ptr(), 0, 1); ++ s.assume_init() ++ } ++ } ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_modeset_ctl { ++ pub crtc: __u32, ++ pub cmd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_mode { ++ pub mode: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_buffer { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++ pub type_: libc::c_ulong, ++ pub physical: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_binding { ++ pub handle: libc::c_ulong, ++ pub offset: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_agp_info { ++ pub agp_version_major: libc::c_int, ++ pub agp_version_minor: libc::c_int, ++ pub mode: libc::c_ulong, ++ pub aperture_base: libc::c_ulong, ++ pub aperture_size: libc::c_ulong, ++ pub memory_allowed: libc::c_ulong, ++ pub memory_used: libc::c_ulong, ++ pub id_vendor: libc::c_ushort, ++ pub id_device: libc::c_ushort, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_scatter_gather { ++ pub size: libc::c_ulong, ++ pub handle: libc::c_ulong, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_version { ++ pub drm_di_major: libc::c_int, ++ pub drm_di_minor: libc::c_int, ++ pub drm_dd_major: libc::c_int, ++ pub drm_dd_minor: libc::c_int, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_close { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_flink { ++ pub handle: __u32, ++ pub name: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_gem_open { ++ pub name: __u32, ++ pub handle: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_get_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_set_client_cap { ++ pub capability: __u64, ++ pub value: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_prime_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_create { ++ pub handle: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_destroy { ++ pub handle: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_handle { ++ pub handle: __u32, ++ pub flags: __u32, ++ pub fd: __s32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_transfer { ++ pub src_handle: __u32, ++ pub dst_handle: __u32, ++ pub src_point: __u64, ++ pub dst_point: __u64, ++ pub flags: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_wait { ++ pub handles: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_wait { ++ pub handles: __u64, ++ pub points: __u64, ++ pub timeout_nsec: __s64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++ pub first_signaled: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_array { ++ pub handles: __u64, ++ pub count_handles: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_syncobj_timeline_array { ++ pub handles: __u64, ++ pub points: __u64, ++ pub count_handles: __u32, ++ pub flags: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_get_sequence { ++ pub crtc_id: __u32, ++ pub active: __u32, ++ pub sequence: __u64, ++ pub sequence_ns: __s64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_crtc_queue_sequence { ++ pub crtc_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_modeinfo { ++ pub clock: __u32, ++ pub hdisplay: __u16, ++ pub hsync_start: __u16, ++ pub hsync_end: __u16, ++ pub htotal: __u16, ++ pub hskew: __u16, ++ pub vdisplay: __u16, ++ pub vsync_start: __u16, ++ pub vsync_end: __u16, ++ pub vtotal: __u16, ++ pub vscan: __u16, ++ pub vrefresh: __u32, ++ pub flags: __u32, ++ pub type_: __u32, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_card_res { ++ pub fb_id_ptr: __u64, ++ pub crtc_id_ptr: __u64, ++ pub connector_id_ptr: __u64, ++ pub encoder_id_ptr: __u64, ++ pub count_fbs: __u32, ++ pub count_crtcs: __u32, ++ pub count_connectors: __u32, ++ pub count_encoders: __u32, ++ pub min_width: __u32, ++ pub max_width: __u32, ++ pub min_height: __u32, ++ pub max_height: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc { ++ pub set_connectors_ptr: __u64, ++ pub count_connectors: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub x: __u32, ++ pub y: __u32, ++ pub gamma_size: __u32, ++ pub mode_valid: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_set_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub crtc_x: __s32, ++ pub crtc_y: __s32, ++ pub crtc_w: __u32, ++ pub crtc_h: __u32, ++ pub src_x: __u32, ++ pub src_y: __u32, ++ pub src_h: __u32, ++ pub src_w: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane { ++ pub plane_id: __u32, ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub possible_crtcs: __u32, ++ pub gamma_size: __u32, ++ pub count_format_types: __u32, ++ pub format_type_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_plane_res { ++ pub plane_id_ptr: __u64, ++ pub count_planes: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_encoder { ++ pub encoder_id: __u32, ++ pub encoder_type: __u32, ++ pub crtc_id: __u32, ++ pub possible_crtcs: __u32, ++ pub possible_clones: __u32, ++} ++pub mod drm_mode_subconnector { ++ pub type Type = libc::c_uint; ++ pub const DRM_MODE_SUBCONNECTOR_Automatic: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_Unknown: Type = 0; ++ pub const DRM_MODE_SUBCONNECTOR_VGA: Type = 1; ++ pub const DRM_MODE_SUBCONNECTOR_DVID: Type = 3; ++ pub const DRM_MODE_SUBCONNECTOR_DVIA: Type = 4; ++ pub const DRM_MODE_SUBCONNECTOR_Composite: Type = 5; ++ pub const DRM_MODE_SUBCONNECTOR_SVIDEO: Type = 6; ++ pub const DRM_MODE_SUBCONNECTOR_Component: Type = 8; ++ pub const DRM_MODE_SUBCONNECTOR_SCART: Type = 9; ++ pub const DRM_MODE_SUBCONNECTOR_DisplayPort: Type = 10; ++ pub const DRM_MODE_SUBCONNECTOR_HDMIA: Type = 11; ++ pub const DRM_MODE_SUBCONNECTOR_Native: Type = 15; ++ pub const DRM_MODE_SUBCONNECTOR_Wireless: Type = 18; ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_connector { ++ pub encoders_ptr: __u64, ++ pub modes_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_modes: __u32, ++ pub count_props: __u32, ++ pub count_encoders: __u32, ++ pub encoder_id: __u32, ++ pub connector_id: __u32, ++ pub connector_type: __u32, ++ pub connector_type_id: __u32, ++ pub connection: __u32, ++ pub mm_width: __u32, ++ pub mm_height: __u32, ++ pub subpixel: __u32, ++ pub pad: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_property_enum { ++ pub value: __u64, ++ pub name: [libc::c_char; 32usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_property { ++ pub values_ptr: __u64, ++ pub enum_blob_ptr: __u64, ++ pub prop_id: __u32, ++ pub flags: __u32, ++ pub name: [libc::c_char; 32usize], ++ pub count_values: __u32, ++ pub count_enum_blobs: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_connector_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub connector_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_get_properties { ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub count_props: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_obj_set_property { ++ pub value: __u64, ++ pub prop_id: __u32, ++ pub obj_id: __u32, ++ pub obj_type: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_blob { ++ pub blob_id: __u32, ++ pub length: __u32, ++ pub data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pitch: __u32, ++ pub bpp: __u32, ++ pub depth: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_cmd2 { ++ pub fb_id: __u32, ++ pub width: __u32, ++ pub height: __u32, ++ pub pixel_format: __u32, ++ pub flags: __u32, ++ pub handles: [__u32; 4usize], ++ pub pitches: [__u32; 4usize], ++ pub offsets: [__u32; 4usize], ++ pub modifier: [__u64; 4usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_fb_dirty_cmd { ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub color: __u32, ++ pub num_clips: __u32, ++ pub clips_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_mode_cmd { ++ pub connector_id: __u32, ++ pub mode: drm_mode_modeinfo, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_cursor2 { ++ pub flags: __u32, ++ pub crtc_id: __u32, ++ pub x: __s32, ++ pub y: __s32, ++ pub width: __u32, ++ pub height: __u32, ++ pub handle: __u32, ++ pub hot_x: __s32, ++ pub hot_y: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_lut { ++ pub crtc_id: __u32, ++ pub gamma_size: __u32, ++ pub red: __u64, ++ pub green: __u64, ++ pub blue: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_ctm { ++ pub matrix: [__u64; 9usize], ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_color_lut { ++ pub red: __u16, ++ pub green: __u16, ++ pub blue: __u16, ++ pub reserved: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct hdr_metadata_infoframe__bindgen_ty_1 { ++ pub x: __u16, ++ pub y: __u16, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub reserved: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_crtc_page_flip_target { ++ pub crtc_id: __u32, ++ pub fb_id: __u32, ++ pub flags: __u32, ++ pub sequence: __u32, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_dumb { ++ pub height: __u32, ++ pub width: __u32, ++ pub bpp: __u32, ++ pub flags: __u32, ++ pub handle: __u32, ++ pub pitch: __u32, ++ pub size: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_map_dumb { ++ pub handle: __u32, ++ pub pad: __u32, ++ pub offset: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_dumb { ++ pub handle: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_atomic { ++ pub flags: __u32, ++ pub count_objs: __u32, ++ pub objs_ptr: __u64, ++ pub count_props_ptr: __u64, ++ pub props_ptr: __u64, ++ pub prop_values_ptr: __u64, ++ pub reserved: __u64, ++ pub user_data: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier_blob { ++ pub version: __u32, ++ pub flags: __u32, ++ pub count_formats: __u32, ++ pub formats_offset: __u32, ++ pub count_modifiers: __u32, ++ pub modifiers_offset: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_format_modifier { ++ pub formats: __u64, ++ pub offset: __u32, ++ pub pad: __u32, ++ pub modifier: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_blob { ++ pub data: __u64, ++ pub length: __u32, ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_destroy_blob { ++ pub blob_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_create_lease { ++ pub object_ids: __u64, ++ pub object_count: __u32, ++ pub flags: __u32, ++ pub lessee_id: __u32, ++ pub fd: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_list_lessees { ++ pub count_lessees: __u32, ++ pub pad: __u32, ++ pub lessees_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_get_lease { ++ pub count_objects: __u32, ++ pub pad: __u32, ++ pub objects_ptr: __u64, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_revoke_lease { ++ pub lessee_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_mode_rect { ++ pub x1: __s32, ++ pub y1: __s32, ++ pub x2: __s32, ++ pub y2: __s32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event { ++ pub type_: __u32, ++ pub length: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_vblank { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub tv_sec: __u32, ++ pub tv_usec: __u32, ++ pub sequence: __u32, ++ pub crtc_id: __u32, ++} ++#[repr(C)] ++#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)] ++pub struct drm_event_crtc_sequence { ++ pub base: drm_event, ++ pub user_data: __u64, ++ pub time_ns: __s64, ++ pub sequence: __u64, ++} ++pub type drm_clip_rect_t = drm_clip_rect; ++pub type drm_drawable_info_t = drm_drawable_info; ++pub type drm_tex_region_t = drm_tex_region; ++pub type drm_hw_lock_t = drm_hw_lock; ++pub type drm_version_t = drm_version; ++pub type drm_unique_t = drm_unique; ++pub type drm_list_t = drm_list; ++pub type drm_block_t = drm_block; ++pub type drm_control_t = drm_control; ++pub use self::drm_map_flags::Type as drm_map_flags_t; ++pub use self::drm_map_type::Type as drm_map_type_t; ++pub type drm_ctx_priv_map_t = drm_ctx_priv_map; ++pub type drm_map_t = drm_map; ++pub type drm_client_t = drm_client; ++pub use self::drm_stat_type::Type as drm_stat_type_t; ++pub type drm_stats_t = drm_stats; ++pub use self::drm_lock_flags::Type as drm_lock_flags_t; ++pub type drm_lock_t = drm_lock; ++pub use self::drm_dma_flags::Type as drm_dma_flags_t; ++pub type drm_buf_desc_t = drm_buf_desc; ++pub type drm_buf_info_t = drm_buf_info; ++pub type drm_buf_free_t = drm_buf_free; ++pub type drm_buf_pub_t = drm_buf_pub; ++pub type drm_buf_map_t = drm_buf_map; ++pub type drm_dma_t = drm_dma; ++pub type drm_wait_vblank_t = drm_wait_vblank; ++pub type drm_agp_mode_t = drm_agp_mode; ++pub use self::drm_ctx_flags::Type as drm_ctx_flags_t; ++pub type drm_ctx_t = drm_ctx; ++pub type drm_ctx_res_t = drm_ctx_res; ++pub type drm_draw_t = drm_draw; ++pub type drm_update_draw_t = drm_update_draw; ++pub type drm_auth_t = drm_auth; ++pub type drm_irq_busid_t = drm_irq_busid; ++pub use self::drm_vblank_seq_type::Type as drm_vblank_seq_type_t; ++pub type drm_agp_buffer_t = drm_agp_buffer; ++pub type drm_agp_binding_t = drm_agp_binding; ++pub type drm_agp_info_t = drm_agp_info; ++pub type drm_scatter_gather_t = drm_scatter_gather; ++pub type drm_set_version_t = drm_set_version; ++pub const DRM_MODE_PROP_SIGNED_RANGE: libc::c_uint = 128; ++pub const DRM_MODE_PROP_OBJECT: libc::c_uint = 64; diff --git a/x11/xdg-desktop-portal-luminous/files/patch-pipewire-i386 b/x11/xdg-desktop-portal-luminous/files/patch-pipewire-i386 new file mode 100644 index 000000000000..45037451bfc2 --- /dev/null +++ b/x11/xdg-desktop-portal-luminous/files/patch-pipewire-i386 @@ -0,0 +1,53 @@ +https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/commit/ff923ee9dfe0 + +error[E0308]: mismatched types + --> cargo-crates/libspa-0.7.2/src/pod/parser.rs:180:75 + | +180 | let res = spa_sys::spa_pod_parser_get_long(self.as_raw_ptr(), long.as_mut_ptr()); + | -------------------------------- ^^^^^^^^^^^^^^^^^ expected `*mut i64`, found `*mut i32` + | | + | arguments to this function are incorrect + | + = note: expected raw pointer `*mut i64` + found raw pointer `*mut i32` +note: function defined here + --> cargo-crates/libspa-sys-0.7.2/src/pod/parser.rs:61:12 + | +61 | pub fn spa_pod_parser_get_long(parser: *mut spa_pod_parser, value: *mut i64) -> c_int; + | ^^^^^^^^^^^^^^^^^^^^^^^ + +--- cargo-crates/libspa-0.7.2/src/pod/parser.rs.orig 2006-07-24 01:21:28 UTC ++++ cargo-crates/libspa-0.7.2/src/pod/parser.rs +@@ -2,7 +2,7 @@ use std::{ + // SPDX-License-Identifier: MIT + + use std::{ +- ffi::{c_char, c_double, c_float, c_int, c_long, c_void, CStr}, ++ ffi::{c_char, c_double, c_float, c_void, CStr}, + marker::PhantomData, + mem::MaybeUninit, + }; +@@ -162,9 +162,9 @@ impl<'d> Parser<'d> { + } + } + +- pub fn get_int(&mut self) -> Result<c_int, Errno> { ++ pub fn get_int(&mut self) -> Result<i32, Errno> { + unsafe { +- let mut int: MaybeUninit<c_int> = MaybeUninit::uninit(); ++ let mut int: MaybeUninit<i32> = MaybeUninit::uninit(); + let res = spa_sys::spa_pod_parser_get_int(self.as_raw_ptr(), int.as_mut_ptr()); + if res >= 0 { + Ok(int.assume_init()) +@@ -174,9 +174,9 @@ impl<'d> Parser<'d> { + } + } + +- pub fn get_long(&mut self) -> Result<c_long, Errno> { ++ pub fn get_long(&mut self) -> Result<i64, Errno> { + unsafe { +- let mut long: MaybeUninit<c_long> = MaybeUninit::uninit(); ++ let mut long: MaybeUninit<i64> = MaybeUninit::uninit(); + let res = spa_sys::spa_pod_parser_get_long(self.as_raw_ptr(), long.as_mut_ptr()); + if res >= 0 { + Ok(long.assume_init()) diff --git a/x11/xdg-desktop-portal-luminous/files/patch-pipewire_init b/x11/xdg-desktop-portal-luminous/files/patch-pipewire_init new file mode 100644 index 000000000000..cfb035de43d9 --- /dev/null +++ b/x11/xdg-desktop-portal-luminous/files/patch-pipewire_init @@ -0,0 +1,59 @@ +Chase ABI from multimedia/pipewire/files/patch-src_pipewire_pipewire_init + +https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819 + +error[E0425]: cannot find function `pw_init` in crate `pw_sys` + --> cargo-crates/pipewire-0.4.1/src/lib.rs:156:49 + | +156 | INITIALIZED.get_or_init(|| unsafe { pw_sys::pw_init(ptr::null_mut(), ptr::null_mut()) }); + | ^^^^^^^ not found in `pw_sys` + +error[E0425]: cannot find function `pw_deinit` in crate `pw_sys` + --> cargo-crates/pipewire-0.4.1/src/lib.rs:165:13 + | +165 | pw_sys::pw_deinit() + | ^^^^^^^^^ not found in `pw_sys` + +--- cargo-crates/pipewire-0.7.2/src/lib.rs.orig 2006-07-24 01:21:28 UTC ++++ cargo-crates/pipewire-0.7.2/src/lib.rs +@@ -152,7 +152,7 @@ pub fn init() { + pub fn init() { + use once_cell::sync::OnceCell; + static INITIALIZED: OnceCell<()> = OnceCell::new(); +- INITIALIZED.get_or_init(|| unsafe { pw_sys::pw_init(ptr::null_mut(), ptr::null_mut()) }); ++ INITIALIZED.get_or_init(|| unsafe { pw_sys::pipewire_init(ptr::null_mut(), ptr::null_mut()) }); + } + + /// Deinitialize PipeWire +@@ -161,7 +161,7 @@ pub unsafe fn deinit() { + /// This must only be called once during the lifetime of the process, once no PipeWire threads + /// are running anymore and all PipeWire resources are released. + pub unsafe fn deinit() { +- pw_sys::pw_deinit() ++ pw_sys::pipewire_deinit() + } + + #[cfg(test)] +--- cargo-crates/pipewire-sys-0.7.2/build.rs.orig 2006-07-24 01:21:28 UTC ++++ cargo-crates/pipewire-sys-0.7.2/build.rs +@@ -19,6 +19,7 @@ fn main() { + // included header files changed. + .parse_callbacks(Box::new(bindgen::CargoCallbacks)) + .size_t_is_usize(true) ++ .allowlist_function("pipewire_.*") + .allowlist_function("pw_.*") + .allowlist_type("pw_.*") + .allowlist_var("pw_.*") +--- cargo-crates/pipewire-sys-0.7.2/src/lib.rs.orig 2006-07-24 01:21:28 UTC ++++ cargo-crates/pipewire-sys-0.7.2/src/lib.rs +@@ -20,8 +20,8 @@ mod tests { + #[test] + fn init() { + unsafe { +- pw_init(std::ptr::null_mut(), std::ptr::null_mut()); +- pw_deinit(); ++ pipewire_init(std::ptr::null_mut(), std::ptr::null_mut()); ++ pipewire_deinit(); + } + } + } diff --git a/x11/xdg-desktop-portal-luminous/pkg-descr b/x11/xdg-desktop-portal-luminous/pkg-descr new file mode 100644 index 000000000000..59322b91680b --- /dev/null +++ b/x11/xdg-desktop-portal-luminous/pkg-descr @@ -0,0 +1,3 @@ +An alternative to xdg-desktop-portal-wlr for wlroots compositors. +This project is a stand alone binary and does not depend on grim. +libwayshot is used as the screencopy backend to enable screenshots. |