#events #kindle #wrapper #documentation #bindgen #lipc #liblipc

bin+lib libopenlipc-sys

liblipc的包装,用于与Kindle基于dbus的LIPC事件交互

4个版本

0.1.3 2022年7月31日
0.1.2 2021年1月3日
0.1.1 2021年1月3日
0.1.0 2021年1月3日

#2 in #kindle

LGPL-3.0

2.5MB
1K SLoC

包含 (ELF库,1MB) so/libglib-2.0.so.0,(ELF库,1MB) so/libglib-2.0.so,(ELF库,170KB) so/libdbus-1.so,(ELF可执行文件/库,170KB) so/libdbus-1.so.3,(ELF库,68KB) so/liblipc.so,(ELF库,68KB) so/liblipc.so.0 以及更多

LibOpenLIPC-sys

Rust中的Kindle liblipc包装。仅暴露了一小部分功能。

使用了OpenLIPC头文件,并使用bindgen进行转换。[文档在这里](https://arkq.github.io/openlipc)。

下载目标

rustup target add armv7-unknown-linux-gnueabi

获取工具链,并在您的.cargo/config中进行配置

[target.armv7-unknown-linux-gnueabi]
linker = "Amazon-Kindle-Cross-Toolchain/arm-kindle-linux-gnueabi/bin/arm-kindle-linux-gnueabi-cc"

在编译前导出sysroot/lib的路径

export SYSROOT_LIB_DIR=~/git/Amazon-Kindle-Cross-Toolchain/arm-kindle-linux-gnueabi/arm-kindle-linux-gnueabi/sysroot/lib/

将仓库中的.so文件复制到SYSROOT_LIB_DIR(这些是从我的Kindle上获取的)

cp -vt $SYSROOT_LIB_DIR so/*

其他

我尝试使用qemu-arm-static运行二进制文件,但它们发生段错误。不知道原因。

谢谢

感谢在Rust discord频道中的pie_flavor,他向我解释了整个FFI问题。

依赖项