# Quick DER licensing terms
-![Quick DER logo](quick-der-logo.png)
+<img alt="Quick DER logo" src="quick-der-logo.png" style="float: right"/>
Copyright (c) 2016, Rick van Rein, OpenFortress.nl
All rights reserved.
# Syntax for Packing Paths
-![Quick DER logo](quick-der-logo.png)
+<img alt="Quick DER logo" src="quick-der-logo.png" style="float: right"/>
This specification describes the path format used by `der_unpack()` and
`der_pack()` to pass through a DER binary and map it to (or from) an array
# Quick (and Easy) DER, a Library for parsing ASN.1
-![Quick DER logo](quick-der-logo.png)
+<img alt="Quick DER logo" src="quick-der-logo.png" style="float: right"/>
> *Quick DER, or if you like, "Quick and Easy DER", is a library for handling
> DER, which is a widely used binary representation of ASN.1 syntax in binary
# Quick DER parsing support
-![Quick DER logo](quick-der-logo.png)
+<img alt="Quick DER logo" src="quick-der-logo.png" style="float: right"/>
> *Quick DER parsing aims to get you started with the parsing of DER (and most
> BER) encoded ASN.1 data really quickly. It also aims to makes quick parsers,
# Syntax for Walking Paths
-![Quick DER logo](quick-der-logo.png)
+<img alt="Quick DER logo" src="quick-der-logo.png" style="float: right"/>
This specification describes how to make `der_walk()` traverse the path in DER
binaries that you intend it to take.
printf ("Found \"%.*s\"\n", crs.derlen, crs.derptr);
-## There is more
-
-Also have a look at the individual steps that can be taken with
-`der_enter()` and `der_skip()`. And take a look at
-`der_iterate_first()` and `der_iterate_next()` if you need iterators.
-
-Where `der_walk()` is ideally suited to retrieve a single bit of information
-from the repository, the `der_unpack()` routine can unpack a complete DER
-structure (only deferring dynamically-sized parts to later calls). The latter
-also has a reverse routine `der_pack()`. You will want to read the
-[PACK SYNTAX](PACK-SYNTAX.MD) for the walking paths used with those routines.
-
## Optionals, Choices and the ANYs
The forms `ANY` and `ANY DEFINED BY` receive the same treatment as `CHOICE`,
but can be declare with a separate symbol `DER_WALK_ANY`.
+
+## There is more
+
+Also have a look at the individual steps that can be taken with
+`der_enter()` and `der_skip()`. And take a look at
+`der_iterate_first()` and `der_iterate_next()` if you need iterators.
+
+Where `der_walk()` is ideally suited to retrieve a single bit of information
+from the repository, the `der_unpack()` routine can unpack a complete DER
+structure (only deferring dynamically-sized parts to later calls). The latter
+also has a reverse routine `der_pack()`. You will want to read the
+[PACK SYNTAX](PACK-SYNTAX.MD) for the walking paths used with those routines.
+
# Quick DER sizes: Sometimes small is bettar
-![Quick DER logo](quick-der-logo.png)
+<img alt="Quick DER logo" src="quick-der-logo.png" style="float: right"/>
> *This is a decription of the sizes of structures used by Quick DER. As this
> demonstrates, the library is quite useful for embedded purposes.*