Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
src/ | 03-May-2024 | - | 139,542 | 107,842 | ||
.cargo_vcs_info.json | D | 03-May-2024 | 94 | 6 | 6 | |
.gitignore | D | 03-May-2024 | 18 | 3 | 2 | |
Android.bp | D | 03-May-2024 | 2.4 KiB | 76 | 72 | |
Cargo.toml | D | 03-May-2024 | 1.4 KiB | 70 | 62 | |
Cargo.toml.orig | D | 03-May-2024 | 2.4 KiB | 69 | 62 | |
LICENSE | D | 03-May-2024 | 10.6 KiB | 202 | 169 | |
LICENSE-APACHE | D | 03-May-2024 | 10.6 KiB | 202 | 169 | |
LICENSE-MIT | D | 03-May-2024 | 1.1 KiB | 27 | 23 | |
METADATA | D | 03-May-2024 | 649 | 24 | 22 | |
MODULE_LICENSE_APACHE2 | D | 03-May-2024 | 0 | |||
OWNERS | D | 03-May-2024 | 40 | 2 | 1 | |
README-zng.md | D | 03-May-2024 | 1.6 KiB | 42 | 30 | |
README.android | D | 03-May-2024 | 250 | 6 | 4 | |
README.md | D | 03-May-2024 | 2.2 KiB | 62 | 43 | |
TEST_MAPPING | D | 03-May-2024 | 740 | 33 | 32 | |
build.rs | D | 03-May-2024 | 6.2 KiB | 198 | 145 | |
build_zng.rs | D | 03-May-2024 | 1.6 KiB | 56 | 50 | |
cargo2android.json | D | 03-May-2024 | 217 | 13 | 12 |
README-zng.md
1# libz-ng-sys 2 3A library for linking zlib-ng (`libz-ng`) to Rust programs natively, rather 4than in zlib-compat mode. 5 6zlib-ng is a high-performance implementation of zlib. zlib-ng supports building 7in two modes: zlib-compat mode, in whih it provides the same API as zlib and 8generally works as a drop-in replacement, and native mode, in which it provides 9its own API. The native API is almost identical to the zlib-compat API, except 10that some types use more correct sizes (rather than the sizes required for zlib 11compatibility), and the functions all have a `zng_` prefix. The latter allows 12zlib and zlib-ng to coexist in the same program. 13 14This crate provides bindings to the native zlib-ng API. However, for simplicity 15of porting, this crate exports the same API as libz-sys (without the `zng_` 16prefixes), making it easier to write Rust software compatible with both 17libz-sys and libz-ng-sys. 18 19# High-level API 20 21This crate provides bindings to the raw low-level C API. For a higher-level 22safe API to work with DEFLATE, zlib, or gzip streams, see 23[`flate2`](https://docs.rs/flate2). `flate2` supports many different 24implementations. 25 26# License 27 28This project is licensed under either of 29 30 * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or 31 http://www.apache.org/licenses/LICENSE-2.0) 32 * MIT license ([LICENSE-MIT](LICENSE-MIT) or 33 http://opensource.org/licenses/MIT) 34 35at your option. 36 37### Contribution 38 39Unless you explicitly state otherwise, any contribution intentionally submitted 40for inclusion in this crate by you, as defined in the Apache-2.0 license, shall 41be dual licensed as above, without any additional terms or conditions. 42
README.android
1This package is imported to Android and uses Android's external/zlib 2header files and compilation flags to generate bindings. 3 4If features are changed for the libz-sys crate, please ensure those 5features are changed in the libz_bindgen_build module. 6
README.md
1# libz-sys 2 3A common library for linking `libz` to rust programs (also known as zlib). 4 5[Documentation](https://docs.rs/libz-sys) 6 7This also serves as the source for the `libz-ng-sys` crate, which builds 8zlib-ng natively (not in zlib-compat mode). See 9[`README-zng.md`](README-zng.md) for details. 10 11# High-level API 12 13This crate provides bindings to the raw low-level C API. For a higher-level 14safe API to work with DEFLATE, zlib, or gzip streams, see 15[`flate2`](https://docs.rs/flate2). `flate2` also supports alternative 16implementations, including slower but pure Rust implementations. 17 18# zlib-ng 19 20This crate supports building either the high-performance zlib-ng (in 21zlib-compat mode), or the widely available stock zlib. 22 23By default, `libz-sys` uses stock zlib, primarily because doing so allows the 24use of a shared system zlib library if available. 25 26Any application or library designed for zlib should work with zlib-ng in 27zlib-compat mode, as long as it doesn't make assumptions about the exact size 28or output of the deflated data (e.g. "compressing this data produces exactly 29this many bytes"), and as long as you don't also dynamically pull in a copy of 30stock zlib (which will produce conflicting symbols). Nonetheless, for maximum 31compatibility, every library crate in a build must opt into allowing zlib-ng; 32if any library crate in your dependency graph wants stock zlib, `libz-sys` will 33use stock zlib. 34 35Library crates depending on `libz-sys` should use: 36``` 37libz-sys = { version = "1.1.0", default-features = false, features = ["libc"] } 38``` 39(Omit the `libc` feature if you don't require the corresponding functions.) 40 41This allows higher-level crates depending on your library to opt into zlib-ng 42if desired. 43 44Building zlib-ng requires `cmake`. 45 46# License 47 48This project is licensed under either of 49 50 * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or 51 http://www.apache.org/licenses/LICENSE-2.0) 52 * MIT license ([LICENSE-MIT](LICENSE-MIT) or 53 http://opensource.org/licenses/MIT) 54 55at your option. 56 57### Contribution 58 59Unless you explicitly state otherwise, any contribution intentionally submitted 60for inclusion in `libz-sys` by you, as defined in the Apache-2.0 license, shall be 61dual licensed as above, without any additional terms or conditions. 62