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:
rust
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
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.