#archive #applications #read #bundling #process #binaries #sel4

无std selfe-arc

一个简单的文件归档库,用于将进程二进制文件和配置文件与您的seL4应用程序捆绑在一起

1个不稳定版本

0.1.1 2022年1月21日

#526 in 压缩

自定义许可证

38KB
853

selfe-arc

一个简单的文件归档库,用于将进程二进制文件和配置文件与您的seL4应用程序捆绑在一起。它特别注意将所有文件数据对齐到页面。

用法

可以使用pack模块在典型计算机上创建归档。当使用selfe构建时,这将会自动完成。可以使用read模块读取归档数据(您将其嵌入到根任务中,因此映射到内存中)。

库内容

layout模块

layout模块包含定义序列化格式的基数据结构和代码。通常您不会直接使用它。

pack模块

可以使用pack模块从文件系统中的文件创建归档。

use selfe_arc::pack;

let mut ar = pack::Archive::new();
ar.add_file("test.txt", Path::new("./test.txt"));

let mut archive_data = Vec::new();
let mut writer = io::BufWriter::new(&mut archive_data);
ar.write(&mut writer).unwrap();

read模块

read模块,与nostd一起使用,允许您从内存中的某个位置读取数据。它处理&[u8]切片,您应该能够从指针和长度创建这些切片。

use selfe_arc::read;

let arc_data = unsafe { core::slice::from_raw_parts(_selfe_arc_data_ptr, _selfe_arc_len) };
let ar = read::Archive::from_slice(&arc_data);

let test_txt: &[u8] = ar.file("test.txt").unwrap();

依赖项

~120KB