commit | 51861d1df8cfa907307c8c2028b27573704275cb | [log] [tgz] |
---|---|---|
author | Yiming Jing <yimingjing@google.com> | Tue Jul 20 19:48:22 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Tue Jul 20 19:48:22 2021 +0000 |
tree | 293b11b9b7e5c859eda0cc9fa0d558321a90fb92 | |
parent | 61f3cdd73fa997537b62c352e6b36c9b271246da [diff] | |
parent | dfd2c42fa5cbe9e51aa956eb3239dfb47826294c [diff] |
Initial import of rusticata-macros-3.1.0 am: ebb187258f am: aaf83fe9a4 am: 45de4c0da3 am: dfd2c42fa5 Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/rusticata-macros/+/1770171 Change-Id: Icbf96fca3abd8fb4e53f76a72d41f3bf972434ad
Helper macros for the rusticata project.
This crate contains some additions to nom.
For example, the error_if!
macro allows to test a condition and return an error from the parser if the condition fails:
use rusticata_macros::error_if; let r : IResult<&[u8],()> = do_parse!( s, l: be_u8 >> error_if!(l < 4, ErrorKind::Verify) >> data: take!(l - 4) >> (()) );
See the documentation for more details and examples.
Different versions of this crate are available, depending on nom version.
rusticata-macros
0.3.x depends on nom 6rusticata-macros
0.2.x depends on nom 5Crate is documented, do running cargo doc
will crate the offline documentation.
Reference documentation can be found here
be_var_u64
and le_var_u64
Serialize
for structures serializationq
(quote) and align32
upgrade_error
and upgrade_error_to
custom_check
flat_take
newtype_enum
parse_uint24
as deprecatedLicensed under either of
at your option.
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.