unplugged-system/external/rust/crates/rusticata-macros
2025-10-06 13:59:42 +00:00
..
.github/workflows Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
benches Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
src Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
.cargo_vcs_info.json Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
.gitignore Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
.travis.yml Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Android.bp Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
cargo2android.json Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Cargo.toml Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
Cargo.toml.orig Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
LICENSE Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
LICENSE-APACHE Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
LICENSE-MIT Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
METADATA Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
MODULE_LICENSE_APACHE2 Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
OWNERS Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
README.md Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00
TEST_MAPPING Initial commit: AOSP 14 with modifications for Unplugged OS 2025-10-06 13:59:42 +00:00

rusticata-macros

License: MIT Apache License 2.0 Build Status Github CI Crates.io Version

Rusticata-macros

Helper macros for the rusticata project.

This crate contains some additions to nom.

For example, the [combinator::cond_else] function allows to apply the first parser if the condition is true, and the second if the condition is false:

use rusticata_macros::combinator::cond_else;
let r: IResult<_, _, ()> = cond_else(
        || s.len() > 1,
        be_u16,
        map(be_u8, u16::from)
    )(s);

See the documentation for more details and examples.

Nom versions

Different versions of this crate are available, depending on nom version.

  • rusticata-macros 4.x depends on nom 7
  • rusticata-macros 3.x depends on nom 6
  • rusticata-macros 2.x depends on nom 5

Documentation

Crate is documented, do running cargo doc will crate the offline documentation.

Reference documentation can be found here

Changes

4.1.0

  • Remove macro slice_fixed

4.0.0

  • Upgrade to nom 7
    • Remove macros

3.0.1

  • Add be_var_u64 and le_var_u64

3.0.0

  • Upgrade to nom 6

2.1.0

  • Add common trait Serialize for structures serialization

2.0.4

  • Add function version of most combinators

2.0.3

  • Add macros q (quote) and align32

2.0.2

  • Add upgrade_error and upgrade_error_to

2.0.1

  • Add macro custom_check
  • Add macro flat_take

2.0.0

  • Upgrade to nom 5
  • Debug types: use newtypes

1.1.0

  • Add macro newtype_enum

1.0.0

  • Upgrade to nom 4.0
    • Warning: this is a breaking change!
  • Mark parse_uint24 as deprecated

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.