Mock Version: 6.5 Mock Version: 6.5 Mock Version: 6.5 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'], chrootPath='/var/lib/mock/f45-build-35481-695/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=995gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'a55532a498934c068e21597585999c83', '-D', '/var/lib/mock/f45-build-35481-695/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1784246400 Wrote: /builddir/build/SRPMS/rust-libspa-sys0.8-0.8.0-4.fc45.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'], chrootPath='/var/lib/mock/f45-build-35481-695/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=995gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'f2d6a36ab49740c685d96236bc231ca3', '-D', '/var/lib/mock/f45-build-35481-695/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1784246400 Executing(mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.UZ9qau Creating(rpmbuild.env): /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/rpmbuild.env RPM_SOURCE_DIR="/builddir/build/SOURCES" RPM_BUILD_DIR="/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build" RPM_OPT_FLAGS="-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" RPM_LD_FLAGS="-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes " RPM_ARCH="riscv64" RPM_OS="linux" RPM_BUILD_NCPUS="8" RPM_SPECPARTS_DIR="/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/SPECPARTS" export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS RPM_BUILD_NCPUS RPM_SPECPARTS_DIR RPM_LD_FLAGS RPM_DOC_DIR="/usr/share/doc" export RPM_DOC_DIR RPM_PACKAGE_NAME="rust-libspa-sys0.8" RPM_PACKAGE_VERSION="0.8.0" RPM_PACKAGE_RELEASE="4.fc45" export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE LANG=C.UTF-8 export LANG unset CDPATH DISPLAY ||: unset DEBUGINFOD_URLS ||: unset RPM_CONFIG_DIR ||: RPM_BUILD_ROOT="/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT" export RPM_BUILD_ROOT PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig" export PKG_CONFIG_PATH CONFIG_SITE=${CONFIG_SITE:-NONE} export CONFIG_SITE Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.PI7F3n + umask 022 + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + rm -rf libspa-sys-0.8.0 + /usr/bin/rpmuncompress -x /builddir/build/SOURCES/libspa-sys-0.8.0.crate + STATUS=0 + '[' 0 -ne 0 ']' + cd libspa-sys-0.8.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/bin/rpmuncompress /builddir/build/SOURCES/libspa-sys-fix-metadata.diff + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + set -euo pipefail + /usr/bin/mkdir -p target/rpm + /usr/bin/ln -s rpm target/release + /usr/bin/rm -rf .cargo/ + /usr/bin/mkdir -p .cargo + cat + cat + /usr/bin/rm -f Cargo.lock + /usr/bin/rm -f Cargo.toml.orig + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.074aAE + umask 022 + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + cd libspa-sys-0.8.0 + /usr/bin/cargo2rpm --path Cargo.toml buildrequires --with-check + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/rust-libspa-sys0.8-0.8.0-4.fc45.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'], chrootPath='/var/lib/mock/f45-build-35481-695/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=995gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '261a5aba483946b89c6c4ba3800d44d1', '-D', '/var/lib/mock/f45-build-35481-695/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1784246400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.iIT6C5 + umask 022 + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + cd libspa-sys-0.8.0 + /usr/bin/cargo2rpm --path Cargo.toml buildrequires --with-check + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/rust-libspa-sys0.8-0.8.0-4.fc45.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'], chrootPath='/var/lib/mock/f45-build-35481-695/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=995gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'fcbb94bf54974b5a931a35569319823f', '-D', '/var/lib/mock/f45-build-35481-695/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.u_na_4gz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target riscv64 --nodeps /builddir/build/SPECS/rust-libspa-sys0.8.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1784246400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.0Rrl3p + umask 022 + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + cd libspa-sys-0.8.0 + /usr/bin/cargo2rpm --path Cargo.toml buildrequires --with-check + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.AVO8u6 + umask 022 + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd libspa-sys-0.8.0 + /usr/bin/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 'RUSTFLAGS=-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' /usr/bin/cargo build -j8 -Z avoid-dev-deps --profile rpm Compiling serde_core v1.0.229 Compiling serde v1.0.229 Compiling glob v0.3.4 Compiling proc-macro2 v1.0.107 Compiling target-lexicon v0.12.16 Compiling unicode-ident v1.0.24 Compiling equivalent v1.0.2 Compiling hashbrown v0.17.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/serde_core-1.0.229/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="result"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "rc", "result", "std", "unstable"))' -C metadata=5030200b85d7c5b8 -C extra-filename=-2fd66e11dc7b650f --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/serde_core-2fd66e11dc7b650f -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/serde-1.0.229/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "derive", "rc", "serde_derive", "std", "unstable"))' -C metadata=166074cb75fb50cb -C extra-filename=-c93b62c2077a1eb7 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/serde-c93b62c2077a1eb7 -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name glob --edition=2021 /usr/share/cargo/registry/glob-0.3.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=ce1fa1107ebe1d3e -C extra-filename=-30ac4bef9f078fd4 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/proc-macro2-1.0.107/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "proc-macro", "span-locations"))' -C metadata=075dd25a5e64132b -C extra-filename=-c125fbcac5d5ebb7 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/proc-macro2-c125fbcac5d5ebb7 -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name equivalent --edition=2015 /usr/share/cargo/registry/equivalent-1.0.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=75461811b5366ca8 -C extra-filename=-185db3913a781ac1 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name build_script_build --edition=2018 /usr/share/cargo/registry/target-lexicon-0.12.16/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arch_zkasm", "default", "serde", "serde_support", "std"))' -C metadata=87ebc22938c44098 -C extra-filename=-8316ad7e61441277 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/target-lexicon-8316ad7e61441277 -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name hashbrown --edition=2024 /usr/share/cargo/registry/hashbrown-0.17.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unused_extern_crates --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::ref_as_ptr' '--warn=clippy::redundant_else' '--warn=clippy::ptr_cast_constness' '--warn=clippy::ptr_as_ptr' '--allow=clippy::option_if_let_else' '--warn=clippy::needless_continue' '--allow=clippy::must_use_candidate' '--allow=clippy::module_name_repetitions' '--allow=clippy::missing_safety_doc' '--allow=clippy::missing_errors_doc' --warn=missing_docs '--allow=clippy::manual_map' '--warn=clippy::manual_let_else' --warn=explicit_outlives_requirements --warn=ellipsis_inclusive_range_patterns --warn=elided_lifetimes_in_paths '--allow=clippy::doc_markdown' '--warn=clippy::borrow_as_ptr' --warn=bare_trait_objects -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "allocator-api2", "core", "default", "default-hasher", "equivalent", "inline-more", "nightly", "raw-entry", "rayon", "rustc-dep-of-std", "rustc-internal-api", "serde"))' -C metadata=1397f0adc52caf8a -C extra-filename=-5d570e7b9d5fd7b2 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name unicode_ident --edition=2021 /usr/share/cargo/registry/unicode-ident-1.0.24/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=4e09a2d83e4b8f87 -C extra-filename=-b90bb588e120788f --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling libc v0.2.189 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/libc-0.2.189/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no --allow=unused_qualifications '--warn=clippy::unnecessary_semicolon' '--allow=clippy::unnecessary_cast' '--warn=clippy::ptr_as_ptr' '--allow=clippy::non_minimal_cfg' '--allow=clippy::missing_safety_doc' '--warn=clippy::map_unwrap_or' '--warn=clippy::manual_assert' '--allow=clippy::identity_op' '--warn=clippy::explicit_iter_loop' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=7faeb1de7d8721fb -C extra-filename=-0c44b1d6d4eb29f5 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libc-0c44b1d6d4eb29f5 -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling quote v1.0.47 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/quote-1.0.47/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "proc-macro"))' -C metadata=836db14dfa9db5f5 -C extra-filename=-c4b1ff271808d097 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/quote-c4b1ff271808d097 -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/serde-c93b62c2077a1eb7/build-script-build` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/quote-c4b1ff271808d097/build-script-build` Compiling regex-syntax v0.8.11 Running `/usr/bin/rustc --crate-name regex_syntax --edition=2021 /usr/share/cargo/registry/regex-syntax-0.8.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' -C debug-assertions=off --cfg 'feature="std"' --cfg 'feature="unicode-perl"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "default", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"))' -C metadata=11d6e5486748b4fe -C extra-filename=-84749a7c3c5c6804 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling memchr v2.8.3 Running `/usr/bin/rustc --crate-name memchr --edition=2021 /usr/share/cargo/registry/memchr-2.8.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "core", "default", "libc", "logging", "rustc-dep-of-std", "std", "use_std"))' -C metadata=3ea12151606fb634 -C extra-filename=-fa8d5d2a6afbc1fb --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/proc-macro2-c125fbcac5d5ebb7/build-script-build` Running `/usr/bin/rustc --crate-name proc_macro2 --edition=2021 /usr/share/cargo/registry/proc-macro2-1.0.107/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "proc-macro", "span-locations"))' -C metadata=5bb2cfce89d7d922 -C extra-filename=-27e3291d30a3dfa3 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern unicode_ident=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libunicode_ident-b90bb588e120788f.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg wrap_proc_macro --cfg proc_macro_span --cfg proc_macro_span_location --cfg proc_macro_span_file --check-cfg 'cfg(fuzzing)' --check-cfg 'cfg(no_is_available)' --check-cfg 'cfg(no_literal_byte_character)' --check-cfg 'cfg(no_literal_c_string)' --check-cfg 'cfg(no_source_text)' --check-cfg 'cfg(proc_macro_span)' --check-cfg 'cfg(proc_macro_span_file)' --check-cfg 'cfg(proc_macro_span_location)' --check-cfg 'cfg(procmacro2_backtrace)' --check-cfg 'cfg(procmacro2_build_probe)' --check-cfg 'cfg(procmacro2_nightly_testing)' --check-cfg 'cfg(procmacro2_semver_exempt)' --check-cfg 'cfg(randomize_layout)' --check-cfg 'cfg(span_locations)' --check-cfg 'cfg(super_unstable)' --check-cfg 'cfg(wrap_proc_macro)'` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/serde_core-2fd66e11dc7b650f/build-script-build` Running `/usr/bin/rustc --crate-name serde_core --edition=2021 /usr/share/cargo/registry/serde_core-1.0.229/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="result"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "rc", "result", "std", "unstable"))' -C metadata=a88879582fc0358c -C extra-filename=-89e5b5bd6404423a --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(if_docsrs_then_no_serde_core)' --check-cfg 'cfg(no_core_cstr)' --check-cfg 'cfg(no_core_error)' --check-cfg 'cfg(no_core_net)' --check-cfg 'cfg(no_core_num_saturating)' --check-cfg 'cfg(no_diagnostic_namespace)' --check-cfg 'cfg(no_serde_derive)' --check-cfg 'cfg(no_std_atomic)' --check-cfg 'cfg(no_std_atomic64)' --check-cfg 'cfg(no_target_has_atomic)'` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/target-lexicon-8316ad7e61441277/build-script-build` Compiling indexmap v2.14.2 Running `/usr/bin/rustc --crate-name indexmap --edition=2024 /usr/share/cargo/registry/indexmap-2.14.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms --deny=unsafe_code --deny=unreachable_pub --deny=unnameable_types '--allow=clippy::style' --deny=private_interfaces --deny=private_bounds -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "borsh", "default", "quickcheck", "rayon", "serde", "std", "sval", "test_debug"))' -C metadata=d55ab4ae3b25751c -C extra-filename=-56673663651cd8f2 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern equivalent=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libequivalent-185db3913a781ac1.rmeta --extern hashbrown=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libhashbrown-5d570e7b9d5fd7b2.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling winnow v0.7.15 Running `/usr/bin/rustc --crate-name winnow --edition=2021 /usr/share/cargo/registry/winnow-0.7.15/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--allow=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enums' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "debug", "default", "simd", "std", "unstable-doc", "unstable-recover"))' -C metadata=f772ecc96a70bb6a -C extra-filename=-7542e941ee01cb7e --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libc-0c44b1d6d4eb29f5/build-script-build` Compiling minimal-lexical v0.2.1 Running `/usr/bin/rustc --crate-name minimal_lexical --edition=2018 /usr/share/cargo/registry/minimal-lexical-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "compact", "default", "lint", "nightly", "std"))' -C metadata=df7a4864c8fe663f -C extra-filename=-ad285012461017e0 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling clang-sys v1.9.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/clang-sys-1.9.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clang_10_0"' --cfg 'feature="clang_11_0"' --cfg 'feature="clang_3_5"' --cfg 'feature="clang_3_6"' --cfg 'feature="clang_3_7"' --cfg 'feature="clang_3_8"' --cfg 'feature="clang_3_9"' --cfg 'feature="clang_4_0"' --cfg 'feature="clang_5_0"' --cfg 'feature="clang_6_0"' --cfg 'feature="clang_7_0"' --cfg 'feature="clang_8_0"' --cfg 'feature="clang_9_0"' --cfg 'feature="libloading"' --cfg 'feature="runtime"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("clang_10_0", "clang_11_0", "clang_12_0", "clang_13_0", "clang_14_0", "clang_15_0", "clang_16_0", "clang_17_0", "clang_18_0", "clang_19_0", "clang_20_0", "clang_3_5", "clang_3_6", "clang_3_7", "clang_3_8", "clang_3_9", "clang_4_0", "clang_5_0", "clang_6_0", "clang_7_0", "clang_8_0", "clang_9_0", "libcpp", "libloading", "runtime", "static"))' -C metadata=32dbc98b8ad00df9 -C extra-filename=-36af5bb3a0c9b6c9 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/clang-sys-36af5bb3a0c9b6c9 -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern glob=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libglob-30ac4bef9f078fd4.rlib --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling cfg-if v1.0.4 Running `/usr/bin/rustc --crate-name cfg_if --edition=2018 /usr/share/cargo/registry/cfg-if-1.0.4/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("core", "rustc-dep-of-std"))' -C metadata=c54ab27e4275ccd4 -C extra-filename=-efcc4d2b78e8b171 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling libloading v0.8.9 Running `/usr/bin/rustc --crate-name libloading --edition=2015 /usr/share/cargo/registry/libloading-0.8.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(libloading_docs)' --check-cfg 'cfg(target_os, values("cygwin"))' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=1e31553bca8b11e2 -C extra-filename=-2983376086af3114 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern cfg_if=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libcfg_if-efcc4d2b78e8b171.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling nom v7.1.3 Running `/usr/bin/rustc --crate-name nom --edition=2018 /usr/share/cargo/registry/nom-7.1.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "docsrs", "std"))' -C metadata=dcb8bdc332fafc6e -C extra-filename=-72108b1ecd56e0e7 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern memchr=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libmemchr-fa8d5d2a6afbc1fb.rmeta --extern minimal_lexical=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libminimal_lexical-ad285012461017e0.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name quote --edition=2021 /usr/share/cargo/registry/quote-1.0.47/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="proc-macro"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "proc-macro"))' -C metadata=c37f4aeb0f21b778 -C extra-filename=-506a491a68269a1e --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern proc_macro2=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libproc_macro2-27e3291d30a3dfa3.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --check-cfg 'cfg(no_diagnostic_namespace)'` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/clang-sys-36af5bb3a0c9b6c9/build-script-build` Running `/usr/bin/rustc --crate-name libc --edition=2021 /usr/share/cargo/registry/libc-0.2.189/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unused_qualifications '--warn=clippy::unnecessary_semicolon' '--allow=clippy::unnecessary_cast' '--warn=clippy::ptr_as_ptr' '--allow=clippy::non_minimal_cfg' '--allow=clippy::missing_safety_doc' '--warn=clippy::map_unwrap_or' '--warn=clippy::manual_assert' '--allow=clippy::identity_op' '--warn=clippy::explicit_iter_loop' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("align", "const-extern-fn", "default", "extra_traits", "rustc-dep-of-std", "rustc-std-workspace-core", "std", "use_std"))' -C metadata=c9f0394566036022 -C extra-filename=-a95f44c69b49fac8 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg freebsd12 --check-cfg 'cfg(emscripten_old_stat_abi)' --check-cfg 'cfg(espidf_picolibc)' --check-cfg 'cfg(espidf_time32)' --check-cfg 'cfg(freebsd10)' --check-cfg 'cfg(freebsd11)' --check-cfg 'cfg(freebsd12)' --check-cfg 'cfg(freebsd13)' --check-cfg 'cfg(freebsd14)' --check-cfg 'cfg(freebsd15)' --check-cfg 'cfg(gnu_file_offset_bits64)' --check-cfg 'cfg(gnu_time_bits64)' --check-cfg 'cfg(libc_deny_warnings)' --check-cfg 'cfg(linux_time_bits64)' --check-cfg 'cfg(musl_v1_2_3)' --check-cfg 'cfg(musl32_time64)' --check-cfg 'cfg(musl_redir_time64)' --check-cfg 'cfg(vxworks_lt_25_09)' --check-cfg 'cfg(libc_pauthtest)' --check-cfg 'cfg(target_os,values("switch","aix","ohos","hurd","rtems","visionos","nuttx","cygwin","qurt","qnx"))' --check-cfg 'cfg(target_env,values("illumos","wasi","aix","ohos","nto71_iosock"))' --check-cfg 'cfg(target_arch,values("loongarch64","mips32r6","mips64r6","csky"))'` Compiling regex-automata v0.4.18 Running `/usr/bin/rustc --crate-name regex_automata --edition=2021 /usr/share/cargo/registry/regex-automata-0.4.18/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' -C debug-assertions=off --cfg 'feature="alloc"' --cfg 'feature="meta"' --cfg 'feature="nfa-pikevm"' --cfg 'feature="nfa-thompson"' --cfg 'feature="std"' --cfg 'feature="syntax"' --cfg 'feature="unicode-perl"' --cfg 'feature="unicode-word-boundary"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "dfa", "dfa-build", "dfa-onepass", "dfa-search", "hybrid", "internal-instrument", "internal-instrument-pikevm", "logging", "meta", "nfa", "nfa-backtrack", "nfa-pikevm", "nfa-thompson", "perf", "perf-inline", "perf-literal", "perf-literal-multisubstring", "perf-literal-substring", "std", "syntax", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "unicode-word-boundary"))' -C metadata=b138af3ac26e27c2 -C extra-filename=-6ac62b97a4a10303 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern regex_syntax=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libregex_syntax-84749a7c3c5c6804.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name target_lexicon --edition=2018 /usr/share/cargo/registry/target-lexicon-0.12.16/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arch_zkasm", "default", "serde", "serde_support", "std"))' -C metadata=8d3efaa52cc919fa -C extra-filename=-211590359386d144 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg 'feature="rust_1_40"'` Compiling either v1.17.0 Running `/usr/bin/rustc --crate-name either --edition=2021 /usr/share/cargo/registry/either-1.17.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "serde", "std", "use_std"))' -C metadata=87287e95732fb6db -C extra-filename=-d3539f13c58c115d --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling anstyle v1.0.14 Running `/usr/bin/rustc --crate-name anstyle --edition=2021 /usr/share/cargo/registry/anstyle-1.0.14/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --warn=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enums' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=66ada638c12cec02 -C extra-filename=-76f5a9c8592e0f61 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling unicode-width v0.2.2 Running `/usr/bin/rustc --crate-name unicode_width --edition=2021 /usr/share/cargo/registry/unicode-width-0.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="cjk"' --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("cjk", "core", "default", "no_std", "rustc-dep-of-std", "std"))' -C metadata=49d69db164358083 -C extra-filename=-60ee779606b2670a --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling shlex v2.0.1 Running `/usr/bin/rustc --crate-name shlex --edition=2018 /usr/share/cargo/registry/shlex-2.0.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(manual_codegen_check)' -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "std"))' -C metadata=e59150a8aa21fed8 -C extra-filename=-eedef81ceec7c6f6 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling smallvec v1.16.1 Running `/usr/bin/rustc --crate-name smallvec --edition=2018 /usr/share/cargo/registry/smallvec-1.16.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "bincode", "const_generics", "const_new", "drain_filter", "drain_keep_rest", "impl_bincode", "malloc_size_of", "may_dangle", "serde", "specialization", "union", "unty", "write"))' -C metadata=504d2abcc8c2f14b -C extra-filename=-7a8d6630009221c3 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling bindgen v0.72.1 Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 /usr/share/cargo/registry/bindgen-0.72.1/build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no '--warn=clippy::pedantic' '--allow=clippy::wildcard_imports' '--allow=clippy::used_underscore_binding' '--allow=clippy::unused_self' --warn=unused_qualifications '--allow=clippy::unreadable_literal' '--allow=clippy::unnecessary_wraps' '--allow=clippy::trivially_copy_pass_by_ref' '--allow=clippy::too_many_lines' '--allow=clippy::struct_field_names' '--allow=clippy::struct_excessive_bools' '--allow=clippy::similar_names' '--allow=clippy::return_self_not_must_use' '--allow=clippy::redundant_closure_for_method_calls' '--allow=clippy::must_use_candidate' '--allow=clippy::module_name_repetitions' '--allow=clippy::missing_panics_doc' '--allow=clippy::missing_errors_doc' '--allow=clippy::maybe_infinite_iter' '--allow=clippy::match_same_arms' '--allow=clippy::items_after_statements' '--allow=clippy::implicit_hasher' '--allow=clippy::ignored_unit_patterns' '--allow=clippy::enum_glob_use' '--allow=clippy::default_trait_access' '--allow=clippy::cast_sign_loss' '--allow=clippy::cast_precision_loss' '--allow=clippy::cast_possible_wrap' '--allow=clippy::cast_possible_truncation' -C debug-assertions=off --cfg 'feature="experimental"' --cfg 'feature="runtime"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__cli", "__testing_only_extra_assertions", "__testing_only_libclang_16", "__testing_only_libclang_9", "default", "experimental", "logging", "prettyplease", "runtime", "static"))' -C metadata=43db8709a0923e56 -C extra-filename=-2dd72496e285f27c --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/bindgen-2dd72496e285f27c -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling annotate-snippets v0.11.5 Running `/usr/bin/rustc --crate-name annotate_snippets --edition=2021 /usr/share/cargo/registry/annotate-snippets-0.11.5/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--warn=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' -C debug-assertions=off --cfg 'feature="default"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "memchr", "simd", "testing-colors"))' -C metadata=c49aaccc0b4c9b9d -C extra-filename=-b766401f5762c157 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern anstyle=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libanstyle-76f5a9c8592e0f61.rmeta --extern unicode_width=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libunicode_width-60ee779606b2670a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling cexpr v0.6.0 Running `/usr/bin/rustc --crate-name cexpr --edition=2018 /usr/share/cargo/registry/cexpr-0.6.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=22ccfd6f16c808de -C extra-filename=-c5dbfe69c05b44b8 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern nom=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libnom-72108b1ecd56e0e7.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/bindgen-2dd72496e285f27c/build-script-build` Compiling cfg-expr v0.17.2 Running `/usr/bin/rustc --crate-name cfg_expr --edition=2021 /usr/share/cargo/registry/cfg-expr-0.17.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="target-lexicon"' --cfg 'feature="targets"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "target-lexicon", "targets"))' -C metadata=fd42f946c4f1249f -C extra-filename=-9a37aa084e482f80 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern smallvec=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libsmallvec-7a8d6630009221c3.rmeta --extern target_lexicon=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libtarget_lexicon-211590359386d144.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name serde --edition=2021 /usr/share/cargo/registry/serde-1.0.229/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("alloc", "default", "derive", "rc", "serde_derive", "std", "unstable"))' -C metadata=587d2f50c76916ba -C extra-filename=-8f93050135819dd0 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern serde_core=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libserde_core-89e5b5bd6404423a.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg if_docsrs_then_no_serde_core --check-cfg 'cfg(feature, values("result"))' --check-cfg 'cfg(if_docsrs_then_no_serde_core)' --check-cfg 'cfg(no_core_cstr)' --check-cfg 'cfg(no_core_error)' --check-cfg 'cfg(no_core_net)' --check-cfg 'cfg(no_core_num_saturating)' --check-cfg 'cfg(no_diagnostic_namespace)' --check-cfg 'cfg(no_serde_derive)' --check-cfg 'cfg(no_std_atomic)' --check-cfg 'cfg(no_std_atomic64)' --check-cfg 'cfg(no_target_has_atomic)'` Compiling itertools v0.13.0 Running `/usr/bin/rustc --crate-name itertools --edition=2018 /usr/share/cargo/registry/itertools-0.13.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "use_alloc", "use_std"))' -C metadata=d602b736e2f850b1 -C extra-filename=-16be9f23131653f2 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern either=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libeither-d3539f13c58c115d.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name clang_sys --edition=2021 /usr/share/cargo/registry/clang-sys-1.9.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clang_10_0"' --cfg 'feature="clang_11_0"' --cfg 'feature="clang_3_5"' --cfg 'feature="clang_3_6"' --cfg 'feature="clang_3_7"' --cfg 'feature="clang_3_8"' --cfg 'feature="clang_3_9"' --cfg 'feature="clang_4_0"' --cfg 'feature="clang_5_0"' --cfg 'feature="clang_6_0"' --cfg 'feature="clang_7_0"' --cfg 'feature="clang_8_0"' --cfg 'feature="clang_9_0"' --cfg 'feature="libloading"' --cfg 'feature="runtime"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("clang_10_0", "clang_11_0", "clang_12_0", "clang_13_0", "clang_14_0", "clang_15_0", "clang_16_0", "clang_17_0", "clang_18_0", "clang_19_0", "clang_20_0", "clang_3_5", "clang_3_6", "clang_3_7", "clang_3_8", "clang_3_9", "clang_4_0", "clang_5_0", "clang_6_0", "clang_7_0", "clang_8_0", "clang_9_0", "libcpp", "libloading", "runtime", "static"))' -C metadata=592e9a981ac35434 -C extra-filename=-0b3ed97aadc4506c --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern glob=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libglob-30ac4bef9f078fd4.rmeta --extern libc=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/liblibc-a95f44c69b49fac8.rmeta --extern libloading=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/liblibloading-2983376086af3114.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling regex v1.13.1 Running `/usr/bin/rustc --crate-name regex --edition=2021 /usr/share/cargo/registry/regex-1.13.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(docsrs_regex)' -C debug-assertions=off --cfg 'feature="std"' --cfg 'feature="unicode-perl"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "logging", "pattern", "perf", "perf-backtrack", "perf-cache", "perf-dfa", "perf-dfa-full", "perf-inline", "perf-literal", "perf-onepass", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment", "unstable", "use_std"))' -C metadata=cea608b6849eb850 -C extra-filename=-d0e8ef046c135e6d --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern regex_automata=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libregex_automata-6ac62b97a4a10303.rmeta --extern regex_syntax=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libregex_syntax-84749a7c3c5c6804.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling serde_spanned v0.6.9 Running `/usr/bin/rustc --crate-name serde_spanned --edition=2021 /usr/share/cargo/registry/serde_spanned-0.6.9/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --allow=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' -C debug-assertions=off --cfg 'feature="serde"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("serde"))' -C metadata=9eaf6e7a549e95e0 -C extra-filename=-7630774de852d35e --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern serde=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libserde-8f93050135819dd0.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling toml_datetime v0.6.11 Running `/usr/bin/rustc --crate-name toml_datetime --edition=2021 /usr/share/cargo/registry/toml_datetime-0.6.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --allow=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' -C debug-assertions=off --cfg 'feature="serde"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("serde"))' -C metadata=92b06a945cedbbf1 -C extra-filename=-6547b5e6e18cad68 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern serde=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libserde-8f93050135819dd0.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling toml_edit v0.22.27 Running `/usr/bin/rustc --crate-name toml_edit --edition=2021 /usr/share/cargo/registry/toml_edit-0.22.27/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --allow=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' -C debug-assertions=off --cfg 'feature="parse"' --cfg 'feature="serde"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "display", "parse", "perf", "serde", "unbounded", "unstable-debug"))' -C metadata=a82c9455b95f64cc -C extra-filename=-762f1eba0503e867 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern indexmap=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libindexmap-56673663651cd8f2.rmeta --extern serde=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libserde-8f93050135819dd0.rmeta --extern serde_spanned=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libserde_spanned-7630774de852d35e.rmeta --extern toml_datetime=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libtoml_datetime-6547b5e6e18cad68.rmeta --extern winnow=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libwinnow-7542e941ee01cb7e.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling syn v2.0.119 Running `/usr/bin/rustc --crate-name syn --edition=2021 /usr/share/cargo/registry/syn-2.0.119/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="clone-impls"' --cfg 'feature="default"' --cfg 'feature="derive"' --cfg 'feature="extra-traits"' --cfg 'feature="full"' --cfg 'feature="parsing"' --cfg 'feature="printing"' --cfg 'feature="proc-macro"' --cfg 'feature="visit-mut"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("clone-impls", "default", "derive", "extra-traits", "fold", "full", "parsing", "printing", "proc-macro", "test", "visit", "visit-mut"))' -C metadata=d8382a9b6e2850d5 -C extra-filename=-eac4a84ddf4cc2e9 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern proc_macro2=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libproc_macro2-27e3291d30a3dfa3.rmeta --extern quote=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libquote-506a491a68269a1e.rmeta --extern unicode_ident=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libunicode_ident-b90bb588e120788f.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling version-compare v0.2.1 Running `/usr/bin/rustc --crate-name version_compare --edition=2021 /usr/share/cargo/registry/version-compare-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=unexpected_cfgs --check-cfg 'cfg(tarpaulin)' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=e584d50f2eb2009d -C extra-filename=-fab012ade581c7db --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling find-msvc-tools v0.1.11 Running `/usr/bin/rustc --crate-name find_msvc_tools --edition=2021 /usr/share/cargo/registry/find-msvc-tools-0.1.11/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs '--warn=clippy::ptr_cast_constness' '--warn=clippy::ptr_as_ptr' --warn=missing_docs '--warn=clippy::manual_let_else' '--warn=clippy::doc_markdown' '--warn=clippy::disallowed_methods' '--warn=clippy::borrow_as_ptr' --check-cfg 'cfg(disable_clang_cl_tests)' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=f6a6647946ac78c5 -C extra-filename=-a1399c798660e35e --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling bitflags v2.13.1 Running `/usr/bin/rustc --crate-name bitflags --edition=2021 /usr/share/cargo/registry/bitflags-2.13.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("arbitrary", "bytemuck", "example_generated", "serde", "serde_core", "std"))' -C metadata=03b2bde4809af84a -C extra-filename=-6a18d748ba24a19c --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling heck v0.5.0 Running `/usr/bin/rustc --crate-name heck --edition=2021 /usr/share/cargo/registry/heck-0.5.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=1b91140d34c0de96 -C extra-filename=-23d46bdccaea3698 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling pkg-config v0.3.34 Running `/usr/bin/rustc --crate-name pkg_config --edition=2021 /usr/share/cargo/registry/pkg-config-0.3.34/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=d3f3f709b168191d -C extra-filename=-32ecf0b48b23a58c --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling rustc-hash v2.1.3 Running `/usr/bin/rustc --crate-name rustc_hash --edition=2021 /usr/share/cargo/registry/rustc-hash-2.1.3/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --cfg 'feature="default"' --cfg 'feature="std"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "nightly", "rand", "std"))' -C metadata=6770317f2251aa13 -C extra-filename=-16d39f4b4506dc3b --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling cc v1.2.62 Running `/usr/bin/rustc --crate-name cc --edition=2018 /usr/share/cargo/registry/cc-1.2.62/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --allow=unexpected_cfgs --check-cfg 'cfg(disable_clang_cl_tests)' -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("jobserver", "parallel"))' -C metadata=f2b390f708281fe1 -C extra-filename=-ba9895c6475e2947 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern find_msvc_tools=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libfind_msvc_tools-a1399c798660e35e.rmeta --extern shlex=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libshlex-eedef81ceec7c6f6.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling toml v0.8.23 Running `/usr/bin/rustc --crate-name toml --edition=2021 /usr/share/cargo/registry/toml-0.8.23/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::zero_sized_map_values' '--warn=clippy::wildcard_imports' '--warn=clippy::verbose_file_reads' --warn=unused_qualifications --warn=unused_macro_rules --warn=unused_lifetimes --warn=unsafe_op_in_unsafe_fn --warn=unreachable_pub --allow=unnameable_types '--warn=clippy::uninlined_format_args' '--warn=clippy::trait_duplication_in_bounds' '--warn=clippy::todo' '--warn=clippy::string_to_string' '--warn=clippy::string_lit_as_bytes' '--warn=clippy::string_add_assign' '--warn=clippy::string_add' '--warn=clippy::str_to_string' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::self_named_module_files' '--warn=clippy::same_functions_in_if_condition' '--allow=clippy::result_large_err' '--warn=clippy::rest_pat_in_fully_bound_structs' '--warn=clippy::ref_option_ref' '--warn=clippy::redundant_feature_names' '--warn=clippy::rc_mutex' '--warn=clippy::ptr_as_ptr' '--warn=clippy::path_buf_push_overwrite' '--warn=clippy::negative_feature_names' '--warn=clippy::needless_for_each' '--allow=clippy::needless_continue' '--warn=clippy::mutex_integer' '--warn=clippy::mem_forget' '--warn=clippy::macro_use_imports' '--warn=clippy::lossy_float_literal' '--warn=clippy::linkedlist' '--allow=clippy::let_and_return' '--warn=clippy::large_types_passed_by_value' '--warn=clippy::large_stack_arrays' '--warn=clippy::large_digit_groups' '--warn=clippy::invalid_upcast_comparisons' '--warn=clippy::infinite_loop' '--warn=clippy::inefficient_to_string' '--warn=clippy::inconsistent_struct_constructor' '--warn=clippy::imprecise_flops' '--warn=clippy::implicit_clone' '--allow=clippy::if_same_then_else' '--warn=clippy::from_iter_instead_of_collect' '--warn=clippy::fn_params_excessive_bools' '--warn=clippy::float_cmp_const' '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::fallible_impl_from' '--warn=clippy::explicit_into_iter_loop' '--warn=clippy::explicit_deref_methods' '--warn=clippy::expl_impl_clone_on_copy' '--warn=clippy::enum_glob_use' '--warn=clippy::empty_enum' '--warn=clippy::doc_markdown' '--warn=clippy::debug_assert_with_mut_call' '--warn=clippy::dbg_macro' '--warn=clippy::create_dir' '--allow=clippy::collapsible_else_if' '--warn=clippy::checked_conversions' '--allow=clippy::branches_sharing_code' '--allow=clippy::bool_assert_comparison' -C debug-assertions=off --cfg 'feature="parse"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "display", "indexmap", "parse", "preserve_order", "unbounded"))' -C metadata=5707395052aab686 -C extra-filename=-1531235916434aee --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern serde=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libserde-8f93050135819dd0.rmeta --extern serde_spanned=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libserde_spanned-7630774de852d35e.rmeta --extern toml_datetime=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libtoml_datetime-6547b5e6e18cad68.rmeta --extern toml_edit=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libtoml_edit-762f1eba0503e867.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling system-deps v6.2.2 Running `/usr/bin/rustc --crate-name system_deps --edition=2018 /usr/share/cargo/registry/system-deps-6.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=98b78a20cda3692b -C extra-filename=-240d5a26281f0c87 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern cfg_expr=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libcfg_expr-9a37aa084e482f80.rmeta --extern heck=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libheck-23d46bdccaea3698.rmeta --extern pkg_config=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libpkg_config-32ecf0b48b23a58c.rmeta --extern toml=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libtoml-1531235916434aee.rmeta --extern version_compare=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libversion_compare-fab012ade581c7db.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/usr/bin/rustc --crate-name bindgen --edition=2021 /usr/share/cargo/registry/bindgen-0.72.1/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no '--warn=clippy::pedantic' '--allow=clippy::wildcard_imports' '--allow=clippy::used_underscore_binding' '--allow=clippy::unused_self' --warn=unused_qualifications '--allow=clippy::unreadable_literal' '--allow=clippy::unnecessary_wraps' '--allow=clippy::trivially_copy_pass_by_ref' '--allow=clippy::too_many_lines' '--allow=clippy::struct_field_names' '--allow=clippy::struct_excessive_bools' '--allow=clippy::similar_names' '--allow=clippy::return_self_not_must_use' '--allow=clippy::redundant_closure_for_method_calls' '--allow=clippy::must_use_candidate' '--allow=clippy::module_name_repetitions' '--allow=clippy::missing_panics_doc' '--allow=clippy::missing_errors_doc' '--allow=clippy::maybe_infinite_iter' '--allow=clippy::match_same_arms' '--allow=clippy::items_after_statements' '--allow=clippy::implicit_hasher' '--allow=clippy::ignored_unit_patterns' '--allow=clippy::enum_glob_use' '--allow=clippy::default_trait_access' '--allow=clippy::cast_sign_loss' '--allow=clippy::cast_precision_loss' '--allow=clippy::cast_possible_wrap' '--allow=clippy::cast_possible_truncation' -C debug-assertions=off --cfg 'feature="experimental"' --cfg 'feature="runtime"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("__cli", "__testing_only_extra_assertions", "__testing_only_libclang_16", "__testing_only_libclang_9", "default", "experimental", "logging", "prettyplease", "runtime", "static"))' -C metadata=7750b81e5f2a7b70 -C extra-filename=-0ae13ce6e53bafcc --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern annotate_snippets=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libannotate_snippets-b766401f5762c157.rmeta --extern bitflags=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libbitflags-6a18d748ba24a19c.rmeta --extern cexpr=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libcexpr-c5dbfe69c05b44b8.rmeta --extern clang_sys=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libclang_sys-0b3ed97aadc4506c.rmeta --extern itertools=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libitertools-16be9f23131653f2.rmeta --extern proc_macro2=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libproc_macro2-27e3291d30a3dfa3.rmeta --extern quote=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libquote-506a491a68269a1e.rmeta --extern regex=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libregex-d0e8ef046c135e6d.rmeta --extern rustc_hash=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/librustc_hash-16d39f4b4506dc3b.rmeta --extern shlex=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libshlex-eedef81ceec7c6f6.rmeta --extern syn=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libsyn-eac4a84ddf4cc2e9.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Compiling libspa-sys v0.8.0 (/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0) Running `/usr/bin/rustc --crate-name build_script_build --edition=2021 build.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C embed-bitcode=no -C debug-assertions=off --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("v0_3_65"))' -C metadata=d0baa8d7e50df277 -C extra-filename=-643ef125b0daedf1 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-643ef125b0daedf1 -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps --extern bindgen=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libbindgen-0ae13ce6e53bafcc.rlib --extern cc=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libcc-ba9895c6475e2947.rlib --extern system_deps=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libsystem_deps-240d5a26281f0c87.rlib -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-643ef125b0daedf1/build-script-build` Running `/usr/bin/rustc --crate-name libspa_sys --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("v0_3_65"))' -C metadata=bbf112a2489fd65d -C extra-filename=-39170b3c056576bb --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out -l pipewire-0.3 -l static=libspa-rs-reexports --cfg system_deps_have_libpipewire --cfg system_deps_have_libspa` warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:121052 | 3 | ... , PartialEq , Eq)] pub struct spa_debug_context { pub log : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut spa_debug_context , fmt : * const :: std :: os :: raw :: c_char , ...) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:284210 | 3 | ... , PartialEq , Eq)] pub struct spa_hook { pub link : spa_list , pub cb : spa_callbacks , # [doc = " callback and data for the hook list, private to the\n hook_list implementor"] pub removed : :: std :: option :: Option < unsafe extern "C" fn (hook : * mut spa_hook) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:292272 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:292484 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , # [doc = " Emitted when port info changes, NULL when port is removed"] pub port_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port : u32 , info : * const spa_port_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:293317 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , # [doc = " Emitted when port info changes, NULL when port is removed"] pub port_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port : u32 , info : * const spa_port_info) > , # [doc = " notify a result.\n\n Some methods will trigger a result event with an optional\n result of the given type. Look at the documentation of the\n method to know when to expect a result event.\n\n The result event can be called synchronously, as an event\n called from inside the method itself, in which case the seq\n number passed to the method will be passed unchanged.\n\n The result event will be called asynchronously when the\n method returned an async return value. In this case, the seq\n number in the result will match the async return value of\n the method call. Users should match the seq number from\n request to the reply."] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:293724 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , # [doc = " Emitted when port info changes, NULL when port is removed"] pub port_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port : u32 , info : * const spa_port_info) > , # [doc = " notify a result.\n\n Some methods will trigger a result event with an optional\n result of the given type. Look at the documentation of the\n method to know when to expect a result event.\n\n The result event can be called synchronously, as an event\n called from inside the method itself, in which case the seq\n number passed to the method will be passed unchanged.\n\n The result event will be called asynchronously when the\n method returned an async return value. In this case, the seq\n number in the result will match the async return value of\n the method call. Users should match the seq number from\n request to the reply."] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , # [doc = " \\param node a spa_node\n \\param event the event that was emitted\n\n This will be called when an out-of-bound event is notified\n on \\a node."] pub event : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const spa_event) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:295136 | 3 | ... , PartialEq , Eq)] pub struct spa_node_callbacks { pub version : u32 , # [doc = " \\param node a spa_node\n\n The node is ready for processing.\n\n When this function is NULL, synchronous operation is requested\n on the ports."] pub ready : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , state : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:295585 | 3 | ... , PartialEq , Eq)] pub struct spa_node_callbacks { pub version : u32 , # [doc = " \\param node a spa_node\n\n The node is ready for processing.\n\n When this function is NULL, synchronous operation is requested\n on the ports."] pub ready : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , state : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " \\param node a spa_node\n \\param port_id an input port_id\n \\param buffer_id the buffer id to be reused\n\n The node has a buffer that can be reused.\n\n When this function is NULL, the buffers to reuse will be set in\n the io area of the input ports."] pub reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:296087 | 3 | ... , PartialEq , Eq)] pub struct spa_node_callbacks { pub version : u32 , # [doc = " \\param node a spa_node\n\n The node is ready for processing.\n\n When this function is NULL, synchronous operation is requested\n on the ports."] pub ready : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , state : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " \\param node a spa_node\n \\param port_id an input port_id\n \\param buffer_id the buffer id to be reused\n\n The node has a buffer that can be reused.\n\n When this function is NULL, the buffers to reuse will be set in\n the io area of the input ports."] pub reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " \\param data user data\n \\param trigger the timestamp in microseconds when the xrun happened\n \\param delay the amount of microseconds of xrun.\n \\param info an object with extra info (NULL for now)\n\n The node has encountered an over or underrun\n\n The info contains an object with more information"] pub xrun : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , trigger : u64 , delay : u64 , info : * mut spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:297603 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:298200 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:298870 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:300288 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:301227 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:302044 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:302661 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:303313 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:303808 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:305365 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:306831 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:308664 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:309843 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a port_id. This\n structure is allocated by the host and is used to exchange\n data and parameters with the port.\n\n Setting an \\a io of NULL will disable the port io.\n\n This function must be called from the main thread.\n\n This function can be called when the node is running and the node\n must be prepared to handle changes in io areas while running. This\n is normally done by synchronizing the port io updates with the\n data processing loop.\n\n \\param direction a spa_direction\n \\param port_id a port id\n \\param id the id of the io area, the available ids can be\n enumerated with the port parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub port_set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:310373 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a port_id. This\n structure is allocated by the host and is used to exchange\n data and parameters with the port.\n\n Setting an \\a io of NULL will disable the port io.\n\n This function must be called from the main thread.\n\n This function can be called when the node is running and the node\n must be prepared to handle changes in io areas while running. This\n is normally done by synchronizing the port io updates with the\n data processing loop.\n\n \\param direction a spa_direction\n \\param port_id a port id\n \\param id the id of the io area, the available ids can be\n enumerated with the port parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub port_set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Tell an output port to reuse a buffer.\n\n This function must be called from the data thread.\n\n \\param node a spa_node\n \\param port_id a port id\n \\param buffer_id a buffer id to reuse\n \\return 0 on success\n -EINVAL when node is NULL"] pub port_reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:311342 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a port_id. This\n structure is allocated by the host and is used to exchange\n data and parameters with the port.\n\n Setting an \\a io of NULL will disable the port io.\n\n This function must be called from the main thread.\n\n This function can be called when the node is running and the node\n must be prepared to handle changes in io areas while running. This\n is normally done by synchronizing the port io updates with the\n data processing loop.\n\n \\param direction a spa_direction\n \\param port_id a port id\n \\param id the id of the io area, the available ids can be\n enumerated with the port parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub port_set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Tell an output port to reuse a buffer.\n\n This function must be called from the data thread.\n\n \\param node a spa_node\n \\param port_id a port id\n \\param buffer_id a buffer id to reuse\n \\return 0 on success\n -EINVAL when node is NULL"] pub port_reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Process the node\n\n This function must be called from the data thread.\n\n Output io areas with SPA_STATUS_NEED_DATA will recycle the\n buffers if any.\n\n Input areas with SPA_STATUS_HAVE_DATA are consumed if possible\n and the status is set to SPA_STATUS_NEED_DATA or SPA_STATUS_OK.\n\n When the node has new output buffers, the SPA_STATUS_HAVE_DATA\n bit will be set.\n\n When the node can accept new input in the next cycle, the\n SPA_STATUS_NEED_DATA bit will be set.\n\n Note that the node might return SPA_STATUS_NEED_DATA even when\n no input ports have this status. This means that the amount of\n data still available on the input ports is likely not going to\n be enough for the next cycle and the host might need to prefetch\n data for the next cycle."] pub process : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:320356 | 3 | ... , PartialEq , Eq)] pub struct spa_graph_link { pub link : spa_list , pub state : * mut spa_graph_state , pub signal : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:322440 | 3 | ... , PartialEq , Eq)] pub struct spa_graph_node_callbacks { pub version : u32 , pub process : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , node : * mut spa_graph_node) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:322615 | 3 | ... , PartialEq , Eq)] pub struct spa_graph_node_callbacks { pub version : u32 , pub process : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , node : * mut spa_graph_node) -> :: std :: os :: raw :: c_int > , pub reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , node : * mut spa_graph_node , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:335557 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:335729 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , # [doc = " notify a result"] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:336006 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , # [doc = " notify a result"] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , # [doc = " a device event"] pub event : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const spa_event) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:336250 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , # [doc = " notify a result"] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , # [doc = " a device event"] pub event : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const spa_event) > , # [doc = " info changed for an object managed by the device, info is NULL when\n the object is removed"] pub object_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , id : u32 , info : * const spa_device_object_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:337901 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:338596 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the device, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:339757 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the device, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a device.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The result callback will be called at most \\a max times with a\n struct spa_result_device_params as the result.\n\n This function must be called from the main thread.\n\n \\param device a \\ref spa_device\n \\param seq a sequence number to pass to the result function\n \\param id the param id to enumerate\n \\param index the index of enumeration, pass 0 for the first item.\n \\param max the maximum number of items to iterate\n \\param filter and optional filter to use\n \\return 0 when there are no more parameters to enumerate\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a device"] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , index : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:340717 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the device, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a device.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The result callback will be called at most \\a max times with a\n struct spa_result_device_params as the result.\n\n This function must be called from the main thread.\n\n \\param device a \\ref spa_device\n \\param seq a sequence number to pass to the result function\n \\param id the param id to enumerate\n \\param index the index of enumeration, pass 0 for the first item.\n \\param max the maximum number of items to iterate\n \\param filter and optional filter to use\n \\return 0 when there are no more parameters to enumerate\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a device"] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , index : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a device.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param object \\ref spa_device\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when invalid arguments are given\n -ENOTSUP when there are no parameters implemented on \\a device\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:343756 | 3 | ... , PartialEq , Eq)] pub struct spa_pod_builder_callbacks { pub version : u32 , pub overflow : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , size : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:398841 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399048 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399250 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399426 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " get maximum required alignment of data"] pub get_max_align : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399554 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " get maximum required alignment of data"] pub get_max_align : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , pub get_vm_type : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399680 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " get maximum required alignment of data"] pub get_max_align : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , pub get_vm_type : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , pub zero_denormals : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enable : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:403719 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:403936 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404156 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404386 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404567 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404786 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405002 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405194 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405477 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405760 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405983 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:406278 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:406512 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:406806 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407029 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407243 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407436 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407639 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , pub eventfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : * mut u64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407847 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , pub eventfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : * mut u64) -> :: std :: os :: raw :: c_int > , pub signalfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:408081 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , pub eventfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : * mut u64) -> :: std :: os :: raw :: c_int > , pub signalfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub signalfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , signal : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:417726 | 3 | ... Copy , Clone , PartialEq , Eq)] pub struct spa_source { pub loop_ : * mut spa_loop , pub func : spa_source_func_t , pub data : * ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:419578 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:419979 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:420387 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a source from the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub remove_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:422054 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a source from the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub remove_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Invoke a function in the context of this loop.\n May be called from any thread and multiple threads at the same time.\n\n If called from the loop's thread, all callbacks previously queued with\n invoke() will be run synchronously, which might cause unexpected\n reentrancy problems.\n\n \\param[in] object The callbacks data.\n \\param func The function to be invoked.\n \\param seq An opaque sequence number. This will be made\n available to func.\n \\param[in] data Data that will be copied into the internal ring buffer and made\n available to func. Because this data is copied, it is okay to\n pass a pointer to a local variable, but do not pass a pointer to\n an object that has identity.\n \\param size The size of data to copy.\n \\param block If \\true, do not return until func has been called. Otherwise,\n returns immediately. Passing \\true can cause a deadlock when\n the calling thread is holding the loop context lock. A blocking\n invoke should never be done from a realtime thread. Also beware\n of blocking invokes between 2 threads as you can easily end up\n in a deadly embrace.\n \\param user_data An opaque pointer passed to func.\n \\return `-EPIPE` if the internal ring buffer filled up,\n if block is \\false, 0 if seq was SPA_ID_INVALID or\n seq with the ASYNC flag set\n or the return value of func otherwise."] pub invoke : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_invoke_func_t , seq : u32 , data : * const :: std :: os :: raw :: c_void , size : usize , block : bool , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:422847 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a source from the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub remove_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Invoke a function in the context of this loop.\n May be called from any thread and multiple threads at the same time.\n\n If called from the loop's thread, all callbacks previously queued with\n invoke() will be run synchronously, which might cause unexpected\n reentrancy problems.\n\n \\param[in] object The callbacks data.\n \\param func The function to be invoked.\n \\param seq An opaque sequence number. This will be made\n available to func.\n \\param[in] data Data that will be copied into the internal ring buffer and made\n available to func. Because this data is copied, it is okay to\n pass a pointer to a local variable, but do not pass a pointer to\n an object that has identity.\n \\param size The size of data to copy.\n \\param block If \\true, do not return until func has been called. Otherwise,\n returns immediately. Passing \\true can cause a deadlock when\n the calling thread is holding the loop context lock. A blocking\n invoke should never be done from a realtime thread. Also beware\n of blocking invokes between 2 threads as you can easily end up\n in a deadly embrace.\n \\param user_data An opaque pointer passed to func.\n \\return `-EPIPE` if the internal ring buffer filled up,\n if block is \\false, 0 if seq was SPA_ID_INVALID or\n seq with the ASYNC flag set\n or the return value of func otherwise."] pub invoke : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_invoke_func_t , seq : u32 , data : * const :: std :: os :: raw :: c_void , size : usize , block : bool , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Call a function with the loop lock acquired\n May be called from any thread and multiple threads at the same time.\n\n \\param[in] object The callbacks data.\n \\param func The function to be called.\n \\param seq An opaque sequence number. This will be made\n available to func.\n \\param[in] data Data that will be passed to func.\n \\param size The size of data.\n \\param user_data An opaque pointer passed to func.\n \\return the return value of func."] pub locked : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_invoke_func_t , seq : u32 , data : * const :: std :: os :: raw :: c_void , size : usize , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:425778 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_hooks { pub version : u32 , # [doc = " Executed right before waiting for events. It is typically used to\n release locks or integrate other fds into the loop."] pub before : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:426024 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_hooks { pub version : u32 , # [doc = " Executed right before waiting for events. It is typically used to\n release locks or integrate other fds into the loop."] pub before : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Executed right after waiting for events. It is typically used to\n reacquire locks or integrate other fds into the loop."] pub after : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:428336 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:428629 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:429153 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:429500 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:429992 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:430426 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:430791 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:431149 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:431467 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:432051 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , # [doc = " Wait for a signal\n Wait until a thread performs signal. Since version 2:2\n\n This function must be called with the loop lock. Because this is a\n blocking call, it should not be performed from a realtime thread.\n\n \\param[in] object the control\n \\param[in] abstime the maximum time to wait for the signal or NULL\n \\return 0 on success or a negative return value on error."] pub wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * const timespec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:432699 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , # [doc = " Wait for a signal\n Wait until a thread performs signal. Since version 2:2\n\n This function must be called with the loop lock. Because this is a\n blocking call, it should not be performed from a realtime thread.\n\n \\param[in] object the control\n \\param[in] abstime the maximum time to wait for the signal or NULL\n \\return 0 on success or a negative return value on error."] pub wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * const timespec) -> :: std :: os :: raw :: c_int > , # [doc = " Signal waiters\n Wake up all threads blocked in wait. Since version 2:2\n When wait_for_accept is set, this functions blocks until all\n threads performed accept.\n\n This function must be called with the loop lock and is safe to\n call from a realtime thread source dispatch functions when\n wait_for_accept is false.\n\n \\param[in] object the control\n \\param[in] wait_for_accept block for accept\n \\return 0 on success or a negative return value on error."] pub signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , wait_for_accept : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:433176 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , # [doc = " Wait for a signal\n Wait until a thread performs signal. Since version 2:2\n\n This function must be called with the loop lock. Because this is a\n blocking call, it should not be performed from a realtime thread.\n\n \\param[in] object the control\n \\param[in] abstime the maximum time to wait for the signal or NULL\n \\return 0 on success or a negative return value on error."] pub wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * const timespec) -> :: std :: os :: raw :: c_int > , # [doc = " Signal waiters\n Wake up all threads blocked in wait. Since version 2:2\n When wait_for_accept is set, this functions blocks until all\n threads performed accept.\n\n This function must be called with the loop lock and is safe to\n call from a realtime thread source dispatch functions when\n wait_for_accept is false.\n\n \\param[in] object the control\n \\param[in] wait_for_accept block for accept\n \\return 0 on success or a negative return value on error."] pub signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , wait_for_accept : bool) -> :: std :: os :: raw :: c_int > , # [doc = " Accept signalers\n Resume the thread that signaled with wait_for accept.\n\n This function must be called with the loop lock and is safe to\n call from a realtime thread source dispatch functions.\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub accept : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:438779 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439052 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439242 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439472 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439668 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439883 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440063 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440278 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , value : * mut timespec , interval : * mut timespec , absolute : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440529 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , value : * mut timespec , interval : * mut timespec , absolute : bool) -> :: std :: os :: raw :: c_int > , pub add_signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal_number : :: std :: os :: raw :: c_int , func : spa_source_signal_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440963 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , value : * mut timespec , interval : * mut timespec , absolute : bool) -> :: std :: os :: raw :: c_int > , pub add_signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal_number : :: std :: os :: raw :: c_int , func : spa_source_signal_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , # [doc = " destroy a source allocated with this interface. This function\n should only be called when the loop is not running or from the\n context of the running loop"] pub destroy_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:446259 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection_events { pub version : u32 , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:446372 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection_events { pub version : u32 , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub disconnected : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:447741 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection { pub version : u32 , # [doc = " Get the DBusConnection from a wrapper\n\n Note that the returned handle is closed and unref'd by spa_dbus\n immediately before emitting the asynchronous \"disconnected\" event.\n The caller must either deal with the invalidation, or keep an extra\n ref on the handle returned.\n\n \\param conn the spa_dbus_connection wrapper\n \\return a pointer of type DBusConnection"] pub get : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) -> * mut :: std :: os :: raw :: c_void > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:447966 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection { pub version : u32 , # [doc = " Get the DBusConnection from a wrapper\n\n Note that the returned handle is closed and unref'd by spa_dbus\n immediately before emitting the asynchronous \"disconnected\" event.\n The caller must either deal with the invalidation, or keep an extra\n ref on the handle returned.\n\n \\param conn the spa_dbus_connection wrapper\n \\return a pointer of type DBusConnection"] pub get : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroy a dbus connection wrapper\n\n \\param conn the wrapper to destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:448128 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection { pub version : u32 , # [doc = " Get the DBusConnection from a wrapper\n\n Note that the returned handle is closed and unref'd by spa_dbus\n immediately before emitting the asynchronous \"disconnected\" event.\n The caller must either deal with the invalidation, or keep an extra\n ref on the handle returned.\n\n \\param conn the spa_dbus_connection wrapper\n \\return a pointer of type DBusConnection"] pub get : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroy a dbus connection wrapper\n\n \\param conn the wrapper to destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) > , # [doc = " Add a listener for events\n\n Since version 1"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection , listener : * mut spa_hook , events : * const spa_dbus_connection_events , data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:450512 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_methods { pub version : u32 , # [doc = " Get a new connection wrapper for the given bus type.\n\n The connection wrapper is completely configured to operate\n in the main context of the handle that manages the spa_dbus\n interface.\n\n \\param dbus the dbus manager\n \\param type the bus type to wrap\n \\param error location for the DBusError\n \\return a new dbus connection wrapper or NULL on error"] pub get_connection : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , type_ : spa_dbus_type) -> * mut spa_dbus_connection > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:452212 | 3 | ... , PartialEq , Eq)] pub struct spa_i18n_methods { pub version : u32 , # [doc = " Translate a message\n\n \\param object the i18n interface\n \\param msgid the message\n \\return a translated message"] pub text : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , msgid : * const :: std :: os :: raw :: c_char) -> * const :: std :: os :: raw :: c_char > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:452664 | 3 | ... , PartialEq , Eq)] pub struct spa_i18n_methods { pub version : u32 , # [doc = " Translate a message\n\n \\param object the i18n interface\n \\param msgid the message\n \\return a translated message"] pub text : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , msgid : * const :: std :: os :: raw :: c_char) -> * const :: std :: os :: raw :: c_char > , # [doc = " Translate a message for a number\n\n \\param object the i18n interface\n \\param msgid the message to translate\n \\param msgid_plural the plural form of \\a msgid\n \\param n a number\n \\return a translated message for the number \\a n"] pub ntext : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , msgid : * const :: std :: os :: raw :: c_char , msgid_plural : * const :: std :: os :: raw :: c_char , n : :: std :: os :: raw :: c_ulong) -> * const :: std :: os :: raw :: c_char > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:458278 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:459022 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:459804 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note Callers that do not use topic-based logging (version 0), the \\a\n topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments\n\n \\since 1"] pub logt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:460612 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note Callers that do not use topic-based logging (version 0), the \\a\n topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments\n\n \\since 1"] pub logt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note For callers that do not use topic-based logging (version 0),\n the \\a topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments\n\n \\since 1"] pub logtv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:461184 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note Callers that do not use topic-based logging (version 0), the \\a\n topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments\n\n \\since 1"] pub logt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note For callers that do not use topic-based logging (version 0),\n the \\a topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments\n\n \\since 1"] pub logtv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Initializes a \\ref spa_log_topic to the correct logging level.\n\n \\deprecated\n Plugin host should obtain log topics from \\ref SPA_LOG_TOPIC_ENUM_NAME\n and update them itself.\n\n \\since 1"] pub topic_init : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , topic : * mut spa_log_topic) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:464815 | 3 | ... , PartialEq , Eq)] pub struct spa_plugin_loader_methods { pub version : u32 , # [doc = " Load a SPA plugin.\n\n \\param factory_name Plugin factory name\n \\param info Info dictionary for plugin. NULL if none.\n \\return plugin handle, or NULL on error"] pub load : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , factory_name : * const :: std :: os :: raw :: c_char , info : * const spa_dict) -> * mut spa_handle > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:465134 | 3 | ... , PartialEq , Eq)] pub struct spa_plugin_loader_methods { pub version : u32 , # [doc = " Load a SPA plugin.\n\n \\param factory_name Plugin factory name\n \\param info Info dictionary for plugin. NULL if none.\n \\return plugin handle, or NULL on error"] pub load : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , factory_name : * const :: std :: os :: raw :: c_char , info : * const spa_dict) -> * mut spa_handle > , # [doc = " Unload a SPA plugin.\n\n \\param handle Plugin handle.\n \\return 0 on success, < 0 on error"] pub unload : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , handle : * mut spa_handle) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:467050 | 3 | ... , PartialEq , Eq)] pub struct spa_handle { pub version : u32 , # [doc = " Get the interface provided by \\a handle with \\a type.\n\n \\a interface is always a struct spa_interface but depending on\n \\a type, the struct might contain other information.\n\n \\param handle a spa_handle\n \\param type the interface type\n \\param iface result to hold the interface.\n \\return 0 on success\n -ENOTSUP when there are no interfaces\n -EINVAL when handle or info is NULL"] pub get_interface : :: std :: option :: Option < unsafe extern "C" fn (handle : * mut spa_handle , type_ : * const :: std :: os :: raw :: c_char , iface : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:467448 | 3 | ... , PartialEq , Eq)] pub struct spa_handle { pub version : u32 , # [doc = " Get the interface provided by \\a handle with \\a type.\n\n \\a interface is always a struct spa_interface but depending on\n \\a type, the struct might contain other information.\n\n \\param handle a spa_handle\n \\param type the interface type\n \\param iface result to hold the interface.\n \\return 0 on success\n -ENOTSUP when there are no interfaces\n -EINVAL when handle or info is NULL"] pub get_interface : :: std :: option :: Option < unsafe extern "C" fn (handle : * mut spa_handle , type_ : * const :: std :: os :: raw :: c_char , iface : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Clean up the memory of \\a handle. After this, \\a handle should not be used\n anymore.\n\n \\param handle a pointer to memory\n \\return 0 on success"] pub clear : :: std :: option :: Option < unsafe extern "C" fn (handle : * mut spa_handle) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:471172 | 3 | ... , PartialEq , Eq)] pub struct spa_handle_factory { pub version : u32 , # [doc = " The name of the factory contains a logical name that describes\n the function of the handle. Other plugins might contain an alternative\n implementation with the same name.\n\n See utils/names.h for the list of standard names.\n\n Examples include:\n\n api.alsa.pcm.sink: an object to write PCM samples to an alsa PLAYBACK\n\t\t\tdevice\n api.v4l2.source: an object to read from a v4l2 source."] pub name : * const :: std :: os :: raw :: c_char , # [doc = " Extra information about the handles of this factory."] pub info : * const spa_dict , # [doc = " Get the size of handles from this factory.\n\n \\param factory a spa_handle_factory\n \\param params extra parameters that determine the size of the\n handle."] pub get_size : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , params : * const spa_dict) -> usize > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:471921 | 3 | ... , PartialEq , Eq)] pub struct spa_handle_factory { pub version : u32 , # [doc = " The name of the factory contains a logical name that describes\n the function of the handle. Other plugins might contain an alternative\n implementation with the same name.\n\n See utils/names.h for the list of standard names.\n\n Examples include:\n\n api.alsa.pcm.sink: an object to write PCM samples to an alsa PLAYBACK\n\t\t\tdevice\n api.v4l2.source: an object to read from a v4l2 source."] pub name : * const :: std :: os :: raw :: c_char , # [doc = " Extra information about the handles of this factory."] pub info : * const spa_dict , # [doc = " Get the size of handles from this factory.\n\n \\param factory a spa_handle_factory\n \\param params extra parameters that determine the size of the\n handle."] pub get_size : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , params : * const spa_dict) -> usize > , # [doc = " Initialize an instance of this factory. The caller should allocate\n memory at least size bytes and pass this as \\a handle.\n\n \\a support can optionally contain extra interfaces or data items that the\n plugin can use such as a logger.\n\n \\param factory a spa_handle_factory\n \\param handle a pointer to memory\n \\param info extra handle specific information, usually obtained\n from a spa_device. This can be used to configure the handle.\n \\param support support items\n \\param n_support number of elements in \\a support\n \\return 0 on success\n\t < 0 errno type error"] pub init : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , handle : * mut spa_handle , info : * const spa_dict , support : * const spa_support , n_support : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:472547 | 3 | ... , PartialEq , Eq)] pub struct spa_handle_factory { pub version : u32 , # [doc = " The name of the factory contains a logical name that describes\n the function of the handle. Other plugins might contain an alternative\n implementation with the same name.\n\n See utils/names.h for the list of standard names.\n\n Examples include:\n\n api.alsa.pcm.sink: an object to write PCM samples to an alsa PLAYBACK\n\t\t\tdevice\n api.v4l2.source: an object to read from a v4l2 source."] pub name : * const :: std :: os :: raw :: c_char , # [doc = " Extra information about the handles of this factory."] pub info : * const spa_dict , # [doc = " Get the size of handles from this factory.\n\n \\param factory a spa_handle_factory\n \\param params extra parameters that determine the size of the\n handle."] pub get_size : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , params : * const spa_dict) -> usize > , # [doc = " Initialize an instance of this factory. The caller should allocate\n memory at least size bytes and pass this as \\a handle.\n\n \\a support can optionally contain extra interfaces or data items that the\n plugin can use such as a logger.\n\n \\param factory a spa_handle_factory\n \\param handle a pointer to memory\n \\param info extra handle specific information, usually obtained\n from a spa_device. This can be used to configure the handle.\n \\param support support items\n \\param n_support number of elements in \\a support\n \\return 0 on success\n\t < 0 errno type error"] pub init : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , handle : * mut spa_handle , info : * const spa_dict , support : * const spa_support , n_support : u32) -> :: std :: os :: raw :: c_int > , # [doc = " spa_handle_factory::enum_interface_info:\n \\param factory: a #spa_handle_factory\n \\param info: result to hold spa_interface_info.\n \\param index: index to keep track of the enumeration, 0 for first item\n\n Enumerate the interface information for \\a factory.\n\n \\return 1 when an item is available\n\t 0 when no more items are available\n\t < 0 errno type error"] pub enum_interface_info : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , info : * mut * const spa_interface_info , index : * mut u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:476249 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:476636 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:476937 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get realtime priority range for threads created with \\a props"] pub get_rt_range : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , min : * mut :: std :: os :: raw :: c_int , max : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:477318 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get realtime priority range for threads created with \\a props"] pub get_rt_range : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , min : * mut :: std :: os :: raw :: c_int , max : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " acquire realtime priority, a priority of -1 refers to the priority\n configured in the realtime module"] pub acquire_rt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , priority : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:477574 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get realtime priority range for threads created with \\a props"] pub get_rt_range : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , min : * mut :: std :: os :: raw :: c_int , max : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " acquire realtime priority, a priority of -1 refers to the priority\n configured in the realtime module"] pub acquire_rt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , priority : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " drop realtime priority"] pub drop_rt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: `libspa-sys` (lib) generated 117 warnings Finished `rpm` profile [optimized + debuginfo] target(s) in 4m 16s + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.e642An + umask 022 + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + '[' /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + mkdir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd libspa-sys-0.8.0 + set -euo pipefail ++ /usr/bin/cargo2rpm --path Cargo.toml is-lib + '[' 1 -eq 1 ']' + '[' 1 -eq 1 ']' ++ /usr/bin/cargo2rpm --path Cargo.toml name + CRATE_NAME=libspa-sys ++ /usr/bin/cargo2rpm --path Cargo.toml version + CRATE_VERSION=0.8.0 + REG_DIR=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT/usr/share/cargo/registry/libspa-sys-0.8.0 + /usr/bin/mkdir -p /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT/usr/share/cargo/registry/libspa-sys-0.8.0 + /usr/bin/awk -i inplace -v INPLACE_SUFFIX=.deps '/^\[((.+\.)?((dev|build)-)?dependencies|features)/{f=1;next} /^\[/{f=0}; !f' Cargo.toml + /usr/bin/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 'RUSTFLAGS=-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' /usr/bin/cargo package -l + grep -w -E -v 'Cargo.(lock|toml.orig)' + xargs -d '\n' /usr/bin/cp --parents -a -t /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT/usr/share/cargo/registry/libspa-sys-0.8.0 warning: no (git) VCS found for `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0` + /usr/bin/mv Cargo.toml.deps Cargo.toml + /usr/bin/cp -a Cargo.toml /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT/usr/share/cargo/registry/libspa-sys-0.8.0/Cargo.toml + /usr/bin/rm -f /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT/usr/share/cargo/registry/libspa-sys-0.8.0/Cargo.toml.deps + echo '{"files":{},"package":""}' ++ /usr/bin/cargo2rpm --path Cargo.toml is-bin + '[' 0 -eq 1 ']' + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + COMPRESS='gzip -9 -n' + COMPRESS_EXT=.gz + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j8 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-det --brp -j8 /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT Scanned 7 directories and 9 files, processed 0 inodes, 0 modified (0 replaced + 0 rewritten), 0 unsupported format, 0 errors + /usr/bin/linkdupes --brp /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT/usr Scanned 6 directories and 9 files, considered 9 files, read 0 files, linked 0 files, 0 errors sum of sizes of linked files: 0 bytes Reading /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/SPECPARTS/rpm-debuginfo.specpart Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.FuoPnj + umask 022 + cd /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -march=rva23u64 -mabi=lp64d -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd libspa-sys-0.8.0 + /usr/bin/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 'RUSTFLAGS=-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' /usr/bin/cargo test -j8 -Z avoid-dev-deps --profile rpm --no-fail-fast Fresh glob v0.3.4 Fresh hashbrown v0.17.1 Fresh serde_core v1.0.229 Fresh equivalent v1.0.2 Fresh unicode-ident v1.0.24 Fresh serde v1.0.229 Fresh indexmap v2.14.2 Fresh proc-macro2 v1.0.107 Fresh minimal-lexical v0.2.1 Fresh cfg-if v1.0.4 Fresh memchr v2.8.3 Fresh toml_datetime v0.6.11 Fresh serde_spanned v0.6.9 Fresh regex-syntax v0.8.11 Fresh winnow v0.7.15 Fresh libloading v0.8.9 Fresh quote v1.0.47 Fresh nom v7.1.3 Fresh libc v0.2.189 Fresh regex-automata v0.4.18 Fresh toml_edit v0.22.27 Fresh target-lexicon v0.12.16 Fresh shlex v2.0.1 Fresh smallvec v1.16.1 Fresh either v1.17.0 Fresh anstyle v1.0.14 Fresh unicode-width v0.2.2 Fresh itertools v0.13.0 Fresh regex v1.13.1 Fresh cfg-expr v0.17.2 Fresh toml v0.8.23 Fresh cexpr v0.6.0 Fresh syn v2.0.119 Fresh annotate-snippets v0.11.5 Fresh clang-sys v1.9.1 Fresh rustc-hash v2.1.3 Fresh bitflags v2.13.1 Fresh heck v0.5.0 Fresh version-compare v0.2.1 Fresh find-msvc-tools v0.1.11 Fresh pkg-config v0.3.34 Fresh system-deps v6.2.2 Fresh bindgen v0.72.1 Fresh cc v1.2.62 Compiling libspa-sys v0.8.0 (/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0) Running `/usr/bin/rustc --crate-name libspa_sys --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("v0_3_65"))' -C metadata=ff3b8089487ff89b -C extra-filename=-1c4c0ae8c65e0879 --out-dir /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -L dependency=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn -L native=/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out -l pipewire-0.3 -l static=libspa-rs-reexports --cfg system_deps_have_libpipewire --cfg system_deps_have_libspa` warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:121052 | 3 | ... , PartialEq , Eq)] pub struct spa_debug_context { pub log : :: std :: option :: Option < unsafe extern "C" fn (ctx : * mut spa_debug_context , fmt : * const :: std :: os :: raw :: c_char , ...) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:284210 | 3 | ... , PartialEq , Eq)] pub struct spa_hook { pub link : spa_list , pub cb : spa_callbacks , # [doc = " callback and data for the hook list, private to the\n hook_list implementor"] pub removed : :: std :: option :: Option < unsafe extern "C" fn (hook : * mut spa_hook) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:292272 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:292484 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , # [doc = " Emitted when port info changes, NULL when port is removed"] pub port_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port : u32 , info : * const spa_port_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:293317 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , # [doc = " Emitted when port info changes, NULL when port is removed"] pub port_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port : u32 , info : * const spa_port_info) > , # [doc = " notify a result.\n\n Some methods will trigger a result event with an optional\n result of the given type. Look at the documentation of the\n method to know when to expect a result event.\n\n The result event can be called synchronously, as an event\n called from inside the method itself, in which case the seq\n number passed to the method will be passed unchanged.\n\n The result event will be called asynchronously when the\n method returned an async return value. In this case, the seq\n number in the result will match the async return value of\n the method call. Users should match the seq number from\n request to the reply."] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:293724 | 3 | ... , PartialEq , Eq)] pub struct spa_node_events { # [doc = "< version of this structure"] pub version : u32 , # [doc = " Emitted when info changes"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_node_info) > , # [doc = " Emitted when port info changes, NULL when port is removed"] pub port_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port : u32 , info : * const spa_port_info) > , # [doc = " notify a result.\n\n Some methods will trigger a result event with an optional\n result of the given type. Look at the documentation of the\n method to know when to expect a result event.\n\n The result event can be called synchronously, as an event\n called from inside the method itself, in which case the seq\n number passed to the method will be passed unchanged.\n\n The result event will be called asynchronously when the\n method returned an async return value. In this case, the seq\n number in the result will match the async return value of\n the method call. Users should match the seq number from\n request to the reply."] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , # [doc = " \\param node a spa_node\n \\param event the event that was emitted\n\n This will be called when an out-of-bound event is notified\n on \\a node."] pub event : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const spa_event) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:295136 | 3 | ... , PartialEq , Eq)] pub struct spa_node_callbacks { pub version : u32 , # [doc = " \\param node a spa_node\n\n The node is ready for processing.\n\n When this function is NULL, synchronous operation is requested\n on the ports."] pub ready : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , state : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:295585 | 3 | ... , PartialEq , Eq)] pub struct spa_node_callbacks { pub version : u32 , # [doc = " \\param node a spa_node\n\n The node is ready for processing.\n\n When this function is NULL, synchronous operation is requested\n on the ports."] pub ready : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , state : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " \\param node a spa_node\n \\param port_id an input port_id\n \\param buffer_id the buffer id to be reused\n\n The node has a buffer that can be reused.\n\n When this function is NULL, the buffers to reuse will be set in\n the io area of the input ports."] pub reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:296087 | 3 | ... , PartialEq , Eq)] pub struct spa_node_callbacks { pub version : u32 , # [doc = " \\param node a spa_node\n\n The node is ready for processing.\n\n When this function is NULL, synchronous operation is requested\n on the ports."] pub ready : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , state : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " \\param node a spa_node\n \\param port_id an input port_id\n \\param buffer_id the buffer id to be reused\n\n The node has a buffer that can be reused.\n\n When this function is NULL, the buffers to reuse will be set in\n the io area of the input ports."] pub reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " \\param data user data\n \\param trigger the timestamp in microseconds when the xrun happened\n \\param delay the amount of microseconds of xrun.\n \\param info an object with extra info (NULL for now)\n\n The node has encountered an over or underrun\n\n The info contains an object with more information"] pub xrun : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , trigger : u64 , delay : u64 , info : * mut spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:297603 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:298200 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:298870 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:300288 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:301227 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:302044 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:302661 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:303313 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:303808 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:305365 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:306831 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:308664 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:309843 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a port_id. This\n structure is allocated by the host and is used to exchange\n data and parameters with the port.\n\n Setting an \\a io of NULL will disable the port io.\n\n This function must be called from the main thread.\n\n This function can be called when the node is running and the node\n must be prepared to handle changes in io areas while running. This\n is normally done by synchronizing the port io updates with the\n data processing loop.\n\n \\param direction a spa_direction\n \\param port_id a port id\n \\param id the id of the io area, the available ids can be\n enumerated with the port parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub port_set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:310373 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a port_id. This\n structure is allocated by the host and is used to exchange\n data and parameters with the port.\n\n Setting an \\a io of NULL will disable the port io.\n\n This function must be called from the main thread.\n\n This function can be called when the node is running and the node\n must be prepared to handle changes in io areas while running. This\n is normally done by synchronizing the port io updates with the\n data processing loop.\n\n \\param direction a spa_direction\n \\param port_id a port id\n \\param id the id of the io area, the available ids can be\n enumerated with the port parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub port_set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Tell an output port to reuse a buffer.\n\n This function must be called from the data thread.\n\n \\param node a spa_node\n \\param port_id a port id\n \\param buffer_id a buffer id to reuse\n \\return 0 on success\n -EINVAL when node is NULL"] pub port_reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:311342 | 3 | ... , PartialEq , Eq)] pub struct spa_node_methods { pub version : u32 , # [doc = " Adds an event listener on \\a node.\n\n Setting the events will trigger the info event and a\n port_info event for each managed port on the new\n listener.\n\n \\param node a #spa_node\n \\param listener a listener\n \\param events a struct \\ref spa_node_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_node_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Set callbacks to on \\a node.\n if \\a callbacks is NULL, the current callbacks are removed.\n\n This function must be called from the main thread.\n\n All callbacks are called from the data thread.\n\n \\param node a spa_node\n \\param callbacks callbacks to set\n \\return 0 on success\n -EINVAL when node is NULL"] pub set_callbacks : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , callbacks : * const spa_node_callbacks , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the node, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a node.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result will either be the \\a seq\n number when executed synchronously or the async return value of\n this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param id the param id to enumerate\n \\param start the index of enumeration, pass 0 for the first item\n \\param max the maximum number of parameters to enumerate\n \\param filter and optional filter to use\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a node\n an async return value when the result event will be\n emitted later."] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a node.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param node a \\ref spa_node\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when node is NULL\n -ENOTSUP when there are no parameters implemented on \\a node\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a node. This\n structure is allocated by the host and is used to exchange\n data and parameters with the node.\n\n Setting an \\a io of NULL will disable the node io.\n\n This function must be called from the main thread.\n\n \\param id the id of the io area, the available ids can be\n enumerated with the node parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Send a command to a node.\n\n Upon completion, a command might change the state of a node.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param command a spa_command\n \\return 0 on success\n -EINVAL when node or command is NULL\n -ENOTSUP when this node can't process commands\n -EINVAL \\a command is an invalid command"] pub send_command : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , command : * const spa_command) -> :: std :: os :: raw :: c_int > , # [doc = " Make a new port with \\a port_id. The caller should use the lowest unused\n port id for the given \\a direction.\n\n Port ids should be between 0 and max_ports as obtained from the info\n event.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id an unused port id\n \\param props extra properties\n \\return 0 on success\n -EINVAL when node is NULL"] pub add_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , props : * const spa_dict) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a port with \\a port_id.\n\n \\param node a spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id a port id\n \\return 0 on success\n -EINVAL when node is NULL or when port_id is unknown or\n\t\twhen the port can't be removed."] pub remove_port : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate all possible parameters of \\a id on \\a port_id of \\a node\n that are compatible with \\a filter.\n\n When SPA_ID_INVALID is given as the port_id, the node will reply with\n the params that would be returned for a new port in the given direction.\n\n The result parameters can be queried and modified and ultimately be used\n to call port_set_param.\n\n The function will emit the result event up to \\a max times with\n the result value. The seq in the result event will either be the\n \\a seq number when executed synchronously or the async return\n value of this function when executed asynchronously.\n\n This function must be called from the main thread.\n\n \\param node a spa_node\n \\param seq a sequence number to pass to the result event when\n\tthis method is executed synchronously.\n \\param direction an spa_direction\n \\param port_id the port to query or SPA_ID_INVALID\n \\param id the parameter id to query\n \\param start the first index to query, 0 to get the first item\n \\param max the maximum number of params to query\n \\param filter a parameter filter or NULL for no filter\n\n \\return 0 when no more items can be iterated.\n -EINVAL when invalid parameters are given\n -ENOENT when \\a id is unknown\n an async return value when the result event will be\n emitted later."] pub port_enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , direction : spa_direction , port_id : u32 , id : u32 , start : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set a parameter on \\a port_id of \\a node.\n\n When \\a param is NULL, the parameter will be unset.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called with\n a param that changes the processing state (like a format change).\n\n \\param node a struct \\ref spa_node\n \\param direction a enum \\ref spa_direction\n \\param port_id the port to configure\n \\param id the parameter id to set\n \\param flags optional flags\n \\param param a struct \\ref spa_pod with the parameter to set\n \\return 0 on success\n 1 on success, the value of \\a param might have been\n changed depending on \\a flags and the final value can be found by\n doing port_enum_params.\n -EINVAL when node is NULL or invalid arguments are given\n -ESRCH when one of the mandatory param\n properties is not specified and SPA_NODE_PARAM_FLAG_FIXATE was\n not set in \\a flags.\n -ESRCH when the type or size of a property is not correct.\n -ENOENT when the param id is not found"] pub port_set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Tell the port to use the given buffers\n\n When \\a flags contains SPA_NODE_BUFFERS_FLAG_ALLOC, the data\n in the buffers should point to an array of at least 1 data entry\n with the desired supported type that will be filled by this function.\n\n The port should also have a spa_io_buffers io area configured to exchange\n the buffers with the port.\n\n For an input port, all the buffers will remain dequeued.\n Once a buffer has been queued on a port in the spa_io_buffers,\n it should not be reused until the reuse_buffer callback is notified\n or when the buffer has been returned in the spa_io_buffers of\n the port.\n\n For output ports, all buffers will be queued in the port. When process\n returns SPA_STATUS_HAVE_DATA, buffers are available in one or more\n of the spa_io_buffers areas.\n\n When a buffer can be reused, port_reuse_buffer() should be called or the\n buffer_id should be placed in the spa_io_buffers area before calling\n process.\n\n Passing NULL as \\a buffers will remove the reference that the port has\n on the buffers.\n\n When this function returns async, use the spa_node_sync operation to\n wait for completion.\n\n This function must be called from the main thread. The node muse be paused\n or the port SPA_IO_Buffers area is NULL when this function is called.\n\n \\param object an object implementing the interface\n \\param direction a port direction\n \\param port_id a port id\n \\param flags extra flags\n \\param buffers an array of buffer pointers\n \\param n_buffers number of elements in \\a buffers\n \\return 0 on success"] pub port_use_buffers : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , flags : u32 , buffers : * mut * mut spa_buffer , n_buffers : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Configure the given memory area with \\a id on \\a port_id. This\n structure is allocated by the host and is used to exchange\n data and parameters with the port.\n\n Setting an \\a io of NULL will disable the port io.\n\n This function must be called from the main thread.\n\n This function can be called when the node is running and the node\n must be prepared to handle changes in io areas while running. This\n is normally done by synchronizing the port io updates with the\n data processing loop.\n\n \\param direction a spa_direction\n \\param port_id a port id\n \\param id the id of the io area, the available ids can be\n enumerated with the port parameters.\n \\param data a io area memory\n \\param size the size of \\a data\n \\return 0 on success\n -EINVAL when invalid input is given\n -ENOENT when \\a id is unknown\n -ENOSPC when \\a size is too small"] pub port_set_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , direction : spa_direction , port_id : u32 , id : u32 , data : * mut :: std :: os :: raw :: c_void , size : usize) -> :: std :: os :: raw :: c_int > , # [doc = " Tell an output port to reuse a buffer.\n\n This function must be called from the data thread.\n\n \\param node a spa_node\n \\param port_id a port id\n \\param buffer_id a buffer id to reuse\n \\return 0 on success\n -EINVAL when node is NULL"] pub port_reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , # [doc = " Process the node\n\n This function must be called from the data thread.\n\n Output io areas with SPA_STATUS_NEED_DATA will recycle the\n buffers if any.\n\n Input areas with SPA_STATUS_HAVE_DATA are consumed if possible\n and the status is set to SPA_STATUS_NEED_DATA or SPA_STATUS_OK.\n\n When the node has new output buffers, the SPA_STATUS_HAVE_DATA\n bit will be set.\n\n When the node can accept new input in the next cycle, the\n SPA_STATUS_NEED_DATA bit will be set.\n\n Note that the node might return SPA_STATUS_NEED_DATA even when\n no input ports have this status. This means that the amount of\n data still available on the input ports is likely not going to\n be enough for the next cycle and the host might need to prefetch\n data for the next cycle."] pub process : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:320356 | 3 | ... , PartialEq , Eq)] pub struct spa_graph_link { pub link : spa_list , pub state : * mut spa_graph_state , pub signal : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:322440 | 3 | ... , PartialEq , Eq)] pub struct spa_graph_node_callbacks { pub version : u32 , pub process : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , node : * mut spa_graph_node) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:322615 | 3 | ... , PartialEq , Eq)] pub struct spa_graph_node_callbacks { pub version : u32 , pub process : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , node : * mut spa_graph_node) -> :: std :: os :: raw :: c_int > , pub reuse_buffer : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , node : * mut spa_graph_node , port_id : u32 , buffer_id : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:335557 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:335729 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , # [doc = " notify a result"] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:336006 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , # [doc = " notify a result"] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , # [doc = " a device event"] pub event : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const spa_event) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:336250 | 3 | ... , PartialEq , Eq)] pub struct spa_device_events { pub version : u32 , # [doc = " notify extra information about the device"] pub info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , info : * const spa_device_info) > , # [doc = " notify a result"] pub result : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , res : :: std :: os :: raw :: c_int , type_ : u32 , result : * const :: std :: os :: raw :: c_void) > , # [doc = " a device event"] pub event : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , event : * const spa_event) > , # [doc = " info changed for an object managed by the device, info is NULL when\n the object is removed"] pub object_info : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , id : u32 , info : * const spa_device_object_info) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:337901 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:338596 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the device, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:339757 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the device, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a device.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The result callback will be called at most \\a max times with a\n struct spa_result_device_params as the result.\n\n This function must be called from the main thread.\n\n \\param device a \\ref spa_device\n \\param seq a sequence number to pass to the result function\n \\param id the param id to enumerate\n \\param index the index of enumeration, pass 0 for the first item.\n \\param max the maximum number of items to iterate\n \\param filter and optional filter to use\n \\return 0 when there are no more parameters to enumerate\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a device"] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , index : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:340717 | 3 | ... , PartialEq , Eq)] pub struct spa_device_methods { pub version : u32 , # [doc = " Set events to receive asynchronous notifications from\n the device.\n\n Setting the events will trigger the info event and an\n object_info event for each managed object on the new\n listener.\n\n \\param object a \\ref spa_device\n \\param listener a listener\n \\param events a struct \\ref spa_device_events\n \\param data data passed as first argument in functions of \\a events\n \\return 0 on success\n\t < 0 errno on error"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , listener : * mut spa_hook , events : * const spa_device_events , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Perform a sync operation.\n\n This method will emit the result event with the given sequence\n number synchronously or with the returned async return value\n asynchronously.\n\n Because all methods are serialized in the device, this can be used\n to wait for completion of all previous method calls.\n\n \\param seq a sequence number\n \\return 0 on success\n -EINVAL when node is NULL\n an async result"] pub sync : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Enumerate the parameters of a device.\n\n Parameters are identified with an \\a id. Some parameters can have\n multiple values, see the documentation of the parameter id.\n\n Parameters can be filtered by passing a non-NULL \\a filter.\n\n The result callback will be called at most \\a max times with a\n struct spa_result_device_params as the result.\n\n This function must be called from the main thread.\n\n \\param device a \\ref spa_device\n \\param seq a sequence number to pass to the result function\n \\param id the param id to enumerate\n \\param index the index of enumeration, pass 0 for the first item.\n \\param max the maximum number of items to iterate\n \\param filter and optional filter to use\n \\return 0 when there are no more parameters to enumerate\n -EINVAL when invalid arguments are given\n -ENOENT the parameter \\a id is unknown\n -ENOTSUP when there are no parameters\n implemented on \\a device"] pub enum_params : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , seq : :: std :: os :: raw :: c_int , id : u32 , index : u32 , max : u32 , filter : * const spa_pod) -> :: std :: os :: raw :: c_int > , # [doc = " Set the configurable parameter in \\a device.\n\n Usually, \\a param will be obtained from enum_params and then\n modified but it is also possible to set another spa_pod\n as long as its keys and types match a supported object.\n\n Objects with property keys that are not known are ignored.\n\n This function must be called from the main thread.\n\n \\param object \\ref spa_device\n \\param id the parameter id to configure\n \\param flags additional flags\n \\param param the parameter to configure\n\n \\return 0 on success\n -EINVAL when invalid arguments are given\n -ENOTSUP when there are no parameters implemented on \\a device\n -ENOENT the parameter is unknown"] pub set_param : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , id : u32 , flags : u32 , param : * const spa_pod) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:343756 | 3 | ... , PartialEq , Eq)] pub struct spa_pod_builder_callbacks { pub version : u32 , pub overflow : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void , size : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:398841 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399048 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399250 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399426 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " get maximum required alignment of data"] pub get_max_align : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399554 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " get maximum required alignment of data"] pub get_max_align : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , pub get_vm_type : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:399680 | 3 | ... , PartialEq , Eq)] pub struct spa_cpu_methods { pub version : u32 , # [doc = " get CPU flags"] pub get_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " force CPU flags, use SPA_CPU_FORCE_AUTODETECT to autodetect CPU flags"] pub force_flags : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : u32) -> :: std :: os :: raw :: c_int > , # [doc = " get number of CPU cores"] pub get_count : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , # [doc = " get maximum required alignment of data"] pub get_max_align : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , pub get_vm_type : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> u32 > , pub zero_denormals : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enable : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:403719 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:403936 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404156 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404386 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404567 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:404786 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405002 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405194 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405477 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405760 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:405983 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:406278 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:406512 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:406806 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407029 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407243 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407436 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407639 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , pub eventfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : * mut u64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:407847 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , pub eventfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : * mut u64) -> :: std :: os :: raw :: c_int > , pub signalfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:408081 | 3 | ... , PartialEq , Eq)] pub struct spa_system_methods { pub version : u32 , pub read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_void , count : usize) -> isize > , pub write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_void , count : usize) -> isize > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , request : :: std :: os :: raw :: c_ulong , ...) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub clock_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , value : * mut timespec) -> :: std :: os :: raw :: c_int > , pub clock_getres : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , res : * mut timespec) -> :: std :: os :: raw :: c_int > , pub pollfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_add : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_mod : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , events : u32 , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , pub pollfd_del : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub pollfd_wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , pfd : :: std :: os :: raw :: c_int , ev : * mut spa_poll_event , n_ev : :: std :: os :: raw :: c_int , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , clockid : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub timerfd_settime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int , new_value : * const itimerspec , old_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_gettime : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , curr_value : * mut itimerspec) -> :: std :: os :: raw :: c_int > , pub timerfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , expirations : * mut u64) -> :: std :: os :: raw :: c_int > , pub eventfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub eventfd_write : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : u64) -> :: std :: os :: raw :: c_int > , pub eventfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , count : * mut u64) -> :: std :: os :: raw :: c_int > , pub signalfd_create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal : :: std :: os :: raw :: c_int , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub signalfd_read : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , signal : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:417726 | 3 | ... Copy , Clone , PartialEq , Eq)] pub struct spa_source { pub loop_ : * mut spa_loop , pub func : spa_source_func_t , pub data : * ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:419578 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:419979 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:420387 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a source from the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub remove_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:422054 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a source from the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub remove_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Invoke a function in the context of this loop.\n May be called from any thread and multiple threads at the same time.\n\n If called from the loop's thread, all callbacks previously queued with\n invoke() will be run synchronously, which might cause unexpected\n reentrancy problems.\n\n \\param[in] object The callbacks data.\n \\param func The function to be invoked.\n \\param seq An opaque sequence number. This will be made\n available to func.\n \\param[in] data Data that will be copied into the internal ring buffer and made\n available to func. Because this data is copied, it is okay to\n pass a pointer to a local variable, but do not pass a pointer to\n an object that has identity.\n \\param size The size of data to copy.\n \\param block If \\true, do not return until func has been called. Otherwise,\n returns immediately. Passing \\true can cause a deadlock when\n the calling thread is holding the loop context lock. A blocking\n invoke should never be done from a realtime thread. Also beware\n of blocking invokes between 2 threads as you can easily end up\n in a deadly embrace.\n \\param user_data An opaque pointer passed to func.\n \\return `-EPIPE` if the internal ring buffer filled up,\n if block is \\false, 0 if seq was SPA_ID_INVALID or\n seq with the ASYNC flag set\n or the return value of func otherwise."] pub invoke : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_invoke_func_t , seq : u32 , data : * const :: std :: os :: raw :: c_void , size : usize , block : bool , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:422847 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_methods { pub version : u32 , # [doc = " Add a source to the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub add_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Update the source io mask. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub update_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Remove a source from the loop. Must be called from the loop's own thread.\n\n \\param[in] object The callbacks data.\n \\param[in] source The source.\n \\return 0 on success, negative errno-style value on failure."] pub remove_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , # [doc = " Invoke a function in the context of this loop.\n May be called from any thread and multiple threads at the same time.\n\n If called from the loop's thread, all callbacks previously queued with\n invoke() will be run synchronously, which might cause unexpected\n reentrancy problems.\n\n \\param[in] object The callbacks data.\n \\param func The function to be invoked.\n \\param seq An opaque sequence number. This will be made\n available to func.\n \\param[in] data Data that will be copied into the internal ring buffer and made\n available to func. Because this data is copied, it is okay to\n pass a pointer to a local variable, but do not pass a pointer to\n an object that has identity.\n \\param size The size of data to copy.\n \\param block If \\true, do not return until func has been called. Otherwise,\n returns immediately. Passing \\true can cause a deadlock when\n the calling thread is holding the loop context lock. A blocking\n invoke should never be done from a realtime thread. Also beware\n of blocking invokes between 2 threads as you can easily end up\n in a deadly embrace.\n \\param user_data An opaque pointer passed to func.\n \\return `-EPIPE` if the internal ring buffer filled up,\n if block is \\false, 0 if seq was SPA_ID_INVALID or\n seq with the ASYNC flag set\n or the return value of func otherwise."] pub invoke : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_invoke_func_t , seq : u32 , data : * const :: std :: os :: raw :: c_void , size : usize , block : bool , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Call a function with the loop lock acquired\n May be called from any thread and multiple threads at the same time.\n\n \\param[in] object The callbacks data.\n \\param func The function to be called.\n \\param seq An opaque sequence number. This will be made\n available to func.\n \\param[in] data Data that will be passed to func.\n \\param size The size of data.\n \\param user_data An opaque pointer passed to func.\n \\return the return value of func."] pub locked : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_invoke_func_t , seq : u32 , data : * const :: std :: os :: raw :: c_void , size : usize , user_data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:425778 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_hooks { pub version : u32 , # [doc = " Executed right before waiting for events. It is typically used to\n release locks or integrate other fds into the loop."] pub before : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:426024 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_hooks { pub version : u32 , # [doc = " Executed right before waiting for events. It is typically used to\n release locks or integrate other fds into the loop."] pub before : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Executed right after waiting for events. It is typically used to\n reacquire locks or integrate other fds into the loop."] pub after : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:428336 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:428629 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:429153 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:429500 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:429992 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:430426 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:430791 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:431149 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:431467 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:432051 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , # [doc = " Wait for a signal\n Wait until a thread performs signal. Since version 2:2\n\n This function must be called with the loop lock. Because this is a\n blocking call, it should not be performed from a realtime thread.\n\n \\param[in] object the control\n \\param[in] abstime the maximum time to wait for the signal or NULL\n \\return 0 on success or a negative return value on error."] pub wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * const timespec) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:432699 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , # [doc = " Wait for a signal\n Wait until a thread performs signal. Since version 2:2\n\n This function must be called with the loop lock. Because this is a\n blocking call, it should not be performed from a realtime thread.\n\n \\param[in] object the control\n \\param[in] abstime the maximum time to wait for the signal or NULL\n \\return 0 on success or a negative return value on error."] pub wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * const timespec) -> :: std :: os :: raw :: c_int > , # [doc = " Signal waiters\n Wake up all threads blocked in wait. Since version 2:2\n When wait_for_accept is set, this functions blocks until all\n threads performed accept.\n\n This function must be called with the loop lock and is safe to\n call from a realtime thread source dispatch functions when\n wait_for_accept is false.\n\n \\param[in] object the control\n \\param[in] wait_for_accept block for accept\n \\return 0 on success or a negative return value on error."] pub signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , wait_for_accept : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:433176 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_control_methods { pub version : u32 , # [doc = " get the loop fd\n \\param object the control to query\n\n Get the fd of this loop control. This fd will be readable when a\n source in the loop has activity. The user should call iterate()\n with a 0 timeout to schedule one iteration of the loop and dispatch\n the sources.\n \\return the fd of the loop"] pub get_fd : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Add a hook\n \\param object the control to change\n \\param hooks the hooks to add\n\n Adds hooks to the loop controlled by \\a ctrl."] pub add_hook : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , hook : * mut spa_hook , hooks : * const spa_loop_control_hooks , data : * mut :: std :: os :: raw :: c_void) > , # [doc = " Enter a loop\n \\param object the control\n\n This function should be called before calling iterate and is\n typically used to capture the thread that this loop will run in.\n It should ideally be called once from the thread that will run\n the loop. This function will lock the loop."] pub enter : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Leave a loop\n \\param object the control\n\n It should ideally be called once after calling iterate when the loop\n will no longer be iterated from the thread that called enter().\n\n This function will unlock the loop."] pub leave : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) > , # [doc = " Perform one iteration of the loop.\n \\param ctrl the control\n \\param timeout an optional timeout in milliseconds.\n\t0 for no timeout, -1 for infinite timeout.\n\n This function will first unlock the loop and then block\n up to \\a timeout milliseconds, lock the loop again and then\n dispatch the fds with activity.\n\n The number of dispatched fds is returned."] pub iterate : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , timeout : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " Check context of the loop\n \\param ctrl the control\n\n This function will check if the current thread is currently the\n one that did the enter call. Since version 1:1.\n\n returns 1 on success, 0 or negative errno value on error."] pub check : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Lock the loop.\n This will ensure the loop is not in the process of dispatching\n callbacks. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub lock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Unlock the loop.\n Unlocks the loop again so that callbacks can be dispatched\n again. Since version 2:2\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub unlock : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get the absolute time\n Get the current time with \\ref timeout that can be used in wait.\n Since version 2:2\n\n This function can be called from any thread."] pub get_time : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * mut timespec , timeout : i64) -> :: std :: os :: raw :: c_int > , # [doc = " Wait for a signal\n Wait until a thread performs signal. Since version 2:2\n\n This function must be called with the loop lock. Because this is a\n blocking call, it should not be performed from a realtime thread.\n\n \\param[in] object the control\n \\param[in] abstime the maximum time to wait for the signal or NULL\n \\return 0 on success or a negative return value on error."] pub wait : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , abstime : * const timespec) -> :: std :: os :: raw :: c_int > , # [doc = " Signal waiters\n Wake up all threads blocked in wait. Since version 2:2\n When wait_for_accept is set, this functions blocks until all\n threads performed accept.\n\n This function must be called with the loop lock and is safe to\n call from a realtime thread source dispatch functions when\n wait_for_accept is false.\n\n \\param[in] object the control\n \\param[in] wait_for_accept block for accept\n \\return 0 on success or a negative return value on error."] pub signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , wait_for_accept : bool) -> :: std :: os :: raw :: c_int > , # [doc = " Accept signalers\n Resume the thread that signaled with wait_for accept.\n\n This function must be called with the loop lock and is safe to\n call from a realtime thread source dispatch functions.\n\n \\param[in] object the control\n \\return 0 on success or a negative return value on error."] pub accept : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:438779 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439052 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439242 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439472 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439668 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:439883 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440063 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440278 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , value : * mut timespec , interval : * mut timespec , absolute : bool) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440529 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , value : * mut timespec , interval : * mut timespec , absolute : bool) -> :: std :: os :: raw :: c_int > , pub add_signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal_number : :: std :: os :: raw :: c_int , func : spa_source_signal_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:440963 | 3 | ... , PartialEq , Eq)] pub struct spa_loop_utils_methods { pub version : u32 , pub add_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , fd : :: std :: os :: raw :: c_int , mask : u32 , close : bool , func : spa_source_io_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_io : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , mask : u32) -> :: std :: os :: raw :: c_int > , pub add_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , enabled : bool , func : spa_source_idle_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub enable_idle : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , enabled : bool) -> :: std :: os :: raw :: c_int > , pub add_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_event_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub signal_event : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) -> :: std :: os :: raw :: c_int > , pub add_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , func : spa_source_timer_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , pub update_timer : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source , value : * mut timespec , interval : * mut timespec , absolute : bool) -> :: std :: os :: raw :: c_int > , pub add_signal : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , signal_number : :: std :: os :: raw :: c_int , func : spa_source_signal_func_t , data : * mut :: std :: os :: raw :: c_void) -> * mut spa_source > , # [doc = " destroy a source allocated with this interface. This function\n should only be called when the loop is not running or from the\n context of the running loop"] pub destroy_source : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , source : * mut spa_source) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:446259 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection_events { pub version : u32 , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:446372 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection_events { pub version : u32 , pub destroy : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , pub disconnected : :: std :: option :: Option < unsafe extern "C" fn (data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:447741 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection { pub version : u32 , # [doc = " Get the DBusConnection from a wrapper\n\n Note that the returned handle is closed and unref'd by spa_dbus\n immediately before emitting the asynchronous \"disconnected\" event.\n The caller must either deal with the invalidation, or keep an extra\n ref on the handle returned.\n\n \\param conn the spa_dbus_connection wrapper\n \\return a pointer of type DBusConnection"] pub get : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) -> * mut :: std :: os :: raw :: c_void > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:447966 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection { pub version : u32 , # [doc = " Get the DBusConnection from a wrapper\n\n Note that the returned handle is closed and unref'd by spa_dbus\n immediately before emitting the asynchronous \"disconnected\" event.\n The caller must either deal with the invalidation, or keep an extra\n ref on the handle returned.\n\n \\param conn the spa_dbus_connection wrapper\n \\return a pointer of type DBusConnection"] pub get : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroy a dbus connection wrapper\n\n \\param conn the wrapper to destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:448128 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_connection { pub version : u32 , # [doc = " Get the DBusConnection from a wrapper\n\n Note that the returned handle is closed and unref'd by spa_dbus\n immediately before emitting the asynchronous \"disconnected\" event.\n The caller must either deal with the invalidation, or keep an extra\n ref on the handle returned.\n\n \\param conn the spa_dbus_connection wrapper\n \\return a pointer of type DBusConnection"] pub get : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) -> * mut :: std :: os :: raw :: c_void > , # [doc = " Destroy a dbus connection wrapper\n\n \\param conn the wrapper to destroy"] pub destroy : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection) > , # [doc = " Add a listener for events\n\n Since version 1"] pub add_listener : :: std :: option :: Option < unsafe extern "C" fn (conn : * mut spa_dbus_connection , listener : * mut spa_hook , events : * const spa_dbus_connection_events , data : * mut :: std :: os :: raw :: c_void) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:450512 | 3 | ... , PartialEq , Eq)] pub struct spa_dbus_methods { pub version : u32 , # [doc = " Get a new connection wrapper for the given bus type.\n\n The connection wrapper is completely configured to operate\n in the main context of the handle that manages the spa_dbus\n interface.\n\n \\param dbus the dbus manager\n \\param type the bus type to wrap\n \\param error location for the DBusError\n \\return a new dbus connection wrapper or NULL on error"] pub get_connection : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , type_ : spa_dbus_type) -> * mut spa_dbus_connection > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:452212 | 3 | ... , PartialEq , Eq)] pub struct spa_i18n_methods { pub version : u32 , # [doc = " Translate a message\n\n \\param object the i18n interface\n \\param msgid the message\n \\return a translated message"] pub text : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , msgid : * const :: std :: os :: raw :: c_char) -> * const :: std :: os :: raw :: c_char > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:452664 | 3 | ... , PartialEq , Eq)] pub struct spa_i18n_methods { pub version : u32 , # [doc = " Translate a message\n\n \\param object the i18n interface\n \\param msgid the message\n \\return a translated message"] pub text : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , msgid : * const :: std :: os :: raw :: c_char) -> * const :: std :: os :: raw :: c_char > , # [doc = " Translate a message for a number\n\n \\param object the i18n interface\n \\param msgid the message to translate\n \\param msgid_plural the plural form of \\a msgid\n \\param n a number\n \\return a translated message for the number \\a n"] pub ntext : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , msgid : * const :: std :: os :: raw :: c_char , msgid_plural : * const :: std :: os :: raw :: c_char , n : :: std :: os :: raw :: c_ulong) -> * const :: std :: os :: raw :: c_char > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:458278 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:459022 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:459804 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note Callers that do not use topic-based logging (version 0), the \\a\n topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments\n\n \\since 1"] pub logt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:460612 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note Callers that do not use topic-based logging (version 0), the \\a\n topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments\n\n \\since 1"] pub logt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note For callers that do not use topic-based logging (version 0),\n the \\a topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments\n\n \\since 1"] pub logtv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:461184 | 3 | ... , PartialEq , Eq)] pub struct spa_log_methods { pub version : u32 , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logt() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments"] pub log : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level.\n\n \\note If compiled with this header, this function is only called\n for implementations of version 0. For versions 1 and above, see\n logtv() instead.\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments"] pub logv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note Callers that do not use topic-based logging (version 0), the \\a\n topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param ... format arguments\n\n \\since 1"] pub logt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , ...) > , # [doc = " Log a message with the given log level for the given topic.\n\n \\note For callers that do not use topic-based logging (version 0),\n the \\a topic is NULL\n\n \\param log a spa_log\n \\param level a spa_log_level\n \\param topic the topic for this message, may be NULL\n \\param file the file name\n \\param line the line number\n \\param func the function name\n \\param fmt printf style format\n \\param args format arguments\n\n \\since 1"] pub logtv : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , level : spa_log_level , topic : * const spa_log_topic , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , func : * const :: std :: os :: raw :: c_char , fmt : * const :: std :: os :: raw :: c_char , args : va_list) > , # [doc = " Initializes a \\ref spa_log_topic to the correct logging level.\n\n \\deprecated\n Plugin host should obtain log topics from \\ref SPA_LOG_TOPIC_ENUM_NAME\n and update them itself.\n\n \\since 1"] pub topic_init : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , topic : * mut spa_log_topic) > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:464815 | 3 | ... , PartialEq , Eq)] pub struct spa_plugin_loader_methods { pub version : u32 , # [doc = " Load a SPA plugin.\n\n \\param factory_name Plugin factory name\n \\param info Info dictionary for plugin. NULL if none.\n \\return plugin handle, or NULL on error"] pub load : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , factory_name : * const :: std :: os :: raw :: c_char , info : * const spa_dict) -> * mut spa_handle > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:465134 | 3 | ... , PartialEq , Eq)] pub struct spa_plugin_loader_methods { pub version : u32 , # [doc = " Load a SPA plugin.\n\n \\param factory_name Plugin factory name\n \\param info Info dictionary for plugin. NULL if none.\n \\return plugin handle, or NULL on error"] pub load : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , factory_name : * const :: std :: os :: raw :: c_char , info : * const spa_dict) -> * mut spa_handle > , # [doc = " Unload a SPA plugin.\n\n \\param handle Plugin handle.\n \\return 0 on success, < 0 on error"] pub unload : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , handle : * mut spa_handle) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:467050 | 3 | ... , PartialEq , Eq)] pub struct spa_handle { pub version : u32 , # [doc = " Get the interface provided by \\a handle with \\a type.\n\n \\a interface is always a struct spa_interface but depending on\n \\a type, the struct might contain other information.\n\n \\param handle a spa_handle\n \\param type the interface type\n \\param iface result to hold the interface.\n \\return 0 on success\n -ENOTSUP when there are no interfaces\n -EINVAL when handle or info is NULL"] pub get_interface : :: std :: option :: Option < unsafe extern "C" fn (handle : * mut spa_handle , type_ : * const :: std :: os :: raw :: c_char , iface : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:467448 | 3 | ... , PartialEq , Eq)] pub struct spa_handle { pub version : u32 , # [doc = " Get the interface provided by \\a handle with \\a type.\n\n \\a interface is always a struct spa_interface but depending on\n \\a type, the struct might contain other information.\n\n \\param handle a spa_handle\n \\param type the interface type\n \\param iface result to hold the interface.\n \\return 0 on success\n -ENOTSUP when there are no interfaces\n -EINVAL when handle or info is NULL"] pub get_interface : :: std :: option :: Option < unsafe extern "C" fn (handle : * mut spa_handle , type_ : * const :: std :: os :: raw :: c_char , iface : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " Clean up the memory of \\a handle. After this, \\a handle should not be used\n anymore.\n\n \\param handle a pointer to memory\n \\return 0 on success"] pub clear : :: std :: option :: Option < unsafe extern "C" fn (handle : * mut spa_handle) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:471172 | 3 | ... , PartialEq , Eq)] pub struct spa_handle_factory { pub version : u32 , # [doc = " The name of the factory contains a logical name that describes\n the function of the handle. Other plugins might contain an alternative\n implementation with the same name.\n\n See utils/names.h for the list of standard names.\n\n Examples include:\n\n api.alsa.pcm.sink: an object to write PCM samples to an alsa PLAYBACK\n\t\t\tdevice\n api.v4l2.source: an object to read from a v4l2 source."] pub name : * const :: std :: os :: raw :: c_char , # [doc = " Extra information about the handles of this factory."] pub info : * const spa_dict , # [doc = " Get the size of handles from this factory.\n\n \\param factory a spa_handle_factory\n \\param params extra parameters that determine the size of the\n handle."] pub get_size : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , params : * const spa_dict) -> usize > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:471921 | 3 | ... , PartialEq , Eq)] pub struct spa_handle_factory { pub version : u32 , # [doc = " The name of the factory contains a logical name that describes\n the function of the handle. Other plugins might contain an alternative\n implementation with the same name.\n\n See utils/names.h for the list of standard names.\n\n Examples include:\n\n api.alsa.pcm.sink: an object to write PCM samples to an alsa PLAYBACK\n\t\t\tdevice\n api.v4l2.source: an object to read from a v4l2 source."] pub name : * const :: std :: os :: raw :: c_char , # [doc = " Extra information about the handles of this factory."] pub info : * const spa_dict , # [doc = " Get the size of handles from this factory.\n\n \\param factory a spa_handle_factory\n \\param params extra parameters that determine the size of the\n handle."] pub get_size : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , params : * const spa_dict) -> usize > , # [doc = " Initialize an instance of this factory. The caller should allocate\n memory at least size bytes and pass this as \\a handle.\n\n \\a support can optionally contain extra interfaces or data items that the\n plugin can use such as a logger.\n\n \\param factory a spa_handle_factory\n \\param handle a pointer to memory\n \\param info extra handle specific information, usually obtained\n from a spa_device. This can be used to configure the handle.\n \\param support support items\n \\param n_support number of elements in \\a support\n \\return 0 on success\n\t < 0 errno type error"] pub init : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , handle : * mut spa_handle , info : * const spa_dict , support : * const spa_support , n_support : u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:472547 | 3 | ... , PartialEq , Eq)] pub struct spa_handle_factory { pub version : u32 , # [doc = " The name of the factory contains a logical name that describes\n the function of the handle. Other plugins might contain an alternative\n implementation with the same name.\n\n See utils/names.h for the list of standard names.\n\n Examples include:\n\n api.alsa.pcm.sink: an object to write PCM samples to an alsa PLAYBACK\n\t\t\tdevice\n api.v4l2.source: an object to read from a v4l2 source."] pub name : * const :: std :: os :: raw :: c_char , # [doc = " Extra information about the handles of this factory."] pub info : * const spa_dict , # [doc = " Get the size of handles from this factory.\n\n \\param factory a spa_handle_factory\n \\param params extra parameters that determine the size of the\n handle."] pub get_size : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , params : * const spa_dict) -> usize > , # [doc = " Initialize an instance of this factory. The caller should allocate\n memory at least size bytes and pass this as \\a handle.\n\n \\a support can optionally contain extra interfaces or data items that the\n plugin can use such as a logger.\n\n \\param factory a spa_handle_factory\n \\param handle a pointer to memory\n \\param info extra handle specific information, usually obtained\n from a spa_device. This can be used to configure the handle.\n \\param support support items\n \\param n_support number of elements in \\a support\n \\return 0 on success\n\t < 0 errno type error"] pub init : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , handle : * mut spa_handle , info : * const spa_dict , support : * const spa_support , n_support : u32) -> :: std :: os :: raw :: c_int > , # [doc = " spa_handle_factory::enum_interface_info:\n \\param factory: a #spa_handle_factory\n \\param info: result to hold spa_interface_info.\n \\param index: index to keep track of the enumeration, 0 for first item\n\n Enumerate the interface information for \\a factory.\n\n \\return 1 when an item is available\n\t 0 when no more items are available\n\t < 0 errno type error"] pub enum_interface_info : :: std :: option :: Option < unsafe extern "C" fn (factory : * const spa_handle_factory , info : * mut * const spa_interface_info , index : * mut u32) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:476249 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:476636 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:476937 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get realtime priority range for threads created with \\a props"] pub get_rt_range : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , min : * mut :: std :: os :: raw :: c_int , max : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:477318 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get realtime priority range for threads created with \\a props"] pub get_rt_range : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , min : * mut :: std :: os :: raw :: c_int , max : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " acquire realtime priority, a priority of -1 refers to the priority\n configured in the realtime module"] pub acquire_rt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , priority : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique --> /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/build/libspa-sys-39cb276406735bce/out/bindings.rs:3:477574 | 3 | ... , PartialEq , Eq)] pub struct spa_thread_utils_methods { pub version : u32 , # [doc = " create a new thread that runs \\a start with \\a arg"] pub create : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , start : :: std :: option :: Option < unsafe extern "C" fn (arg1 : * mut :: std :: os :: raw :: c_void) -> * mut :: std :: os :: raw :: c_void > , arg : * mut :: std :: os :: raw :: c_void) -> * mut spa_thread > , # [doc = " stop and join a thread"] pub join : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , retval : * mut * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , # [doc = " get realtime priority range for threads created with \\a props"] pub get_rt_range : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , props : * const spa_dict , min : * mut :: std :: os :: raw :: c_int , max : * mut :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " acquire realtime priority, a priority of -1 refers to the priority\n configured in the realtime module"] pub acquire_rt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread , priority : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , # [doc = " drop realtime priority"] pub drop_rt : :: std :: option :: Option < unsafe extern "C" fn (object : * mut :: std :: os :: raw :: c_void , thread : * mut spa_thread) -> :: std :: os :: raw :: c_int > , ... | --------- in this derive macro expansion ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: the address of the same function can vary between different codegen units = note: furthermore, different functions could have the same address after being merged together = note: for more information visit warning: `libspa-sys` (lib test) generated 117 warnings Finished `rpm` profile [optimized + debuginfo] target(s) in 22.79s Running `/builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/libspa-sys-0.8.0/target/rpm/deps/libspa_sys-1c4c0ae8c65e0879` running 3 tests test type_info::test::test_libspa_rs_debug_type_find_name ... ok test type_info::test::test_libspa_rs_debug_type_find ... ok test type_info::test::test_libspa_rs_debug_type_find_short_name ... ok test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s + RPM_EC=0 ++ jobs -p + exit 0 Processing files: rust-libspa-sys0.8-devel-0.8.0-4.fc45.noarch warning: File listed twice: /usr/share/cargo/registry/libspa-sys-0.8.0/LICENSE warning: File listed twice: /usr/share/cargo/registry/libspa-sys-0.8.0/README.md Provides: crate(libspa-sys) = 0.8.0 purl(pkg:cargo/libspa-sys@0.8.0) rust-libspa-sys0.8-devel = 0.8.0-4.fc45 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: (crate(bindgen) >= 0.72.1 with crate(bindgen) < 0.73.0~) (crate(bindgen/experimental) >= 0.72.1 with crate(bindgen/experimental) < 0.73.0~) (crate(bindgen/runtime) >= 0.72.1 with crate(bindgen/runtime) < 0.73.0~) (crate(cc/default) >= 1.0.0 with crate(cc/default) < 2.0.0~) (crate(system-deps/default) >= 6.0.0 with crate(system-deps/default) < 7.0.0~) cargo Processing files: rust-libspa-sys0.8+default-devel-0.8.0-4.fc45.noarch Provides: crate(libspa-sys/default) = 0.8.0 rust-libspa-sys0.8+default-devel = 0.8.0-4.fc45 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: cargo crate(libspa-sys) = 0.8.0 Processing files: rust-libspa-sys0.8+v0_3_65-devel-0.8.0-4.fc45.noarch Provides: crate(libspa-sys/v0_3_65) = 0.8.0 rust-libspa-sys0.8+v0_3_65-devel = 0.8.0-4.fc45 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: cargo crate(libspa-sys) = 0.8.0 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/rust-libspa-sys0.8-0.8.0-build/BUILDROOT Wrote: /builddir/build/SRPMS/rust-libspa-sys0.8-0.8.0-4.fc45.src.rpm Wrote: /builddir/build/RPMS/rust-libspa-sys0.8+v0_3_65-devel-0.8.0-4.fc45.noarch.rpm Wrote: /builddir/build/RPMS/rust-libspa-sys0.8+default-devel-0.8.0-4.fc45.noarch.rpm Wrote: /builddir/build/RPMS/rust-libspa-sys0.8-devel-0.8.0-4.fc45.noarch.rpm RPM build warnings: File listed twice: /usr/share/cargo/registry/libspa-sys-0.8.0/LICENSE File listed twice: /usr/share/cargo/registry/libspa-sys-0.8.0/README.md Child return code was: 0