[][src]Macro win_crypto_ng::blob

macro_rules! blob {
    (
        $(#[$wrapper_meta:meta])*
        enum $wrapper_ident: ident {},
        header: $header: ty,
        $(#[$outer:meta])*
        view: struct ref $tail_ident: ident {
            $(
                $(#[$meta:meta])*
                $field: ident [$($len: tt)*],
            )*
        }
    ) => { ... };
    (
        fields: $($prev: ident,)* ;
        $(#[$curr_meta:meta])*
        $curr: ident [$($curr_len: tt)*],
        $(
            $(#[$field_meta:meta])*
            $field: ident [$($field_len: tt)*],
        )*
    ) => { ... };
    (fields: $($prev: ident,)* ; ) => { ... };
    (size: $this: expr, $ident: ident) => { ... };
    (size: $this: expr, $expr: expr) => { ... };
}

Defines a trait for accessing dynamic fields (byte slices) for structs that have a header of a known size which also defines the rest of the struct layout. Assumes a contiguous byte buffer.