Skip to main content

der/
asn1.rs

1//! Module containing all of the various ASN.1 built-in types supported by
2//! this library.
3
4#[macro_use]
5mod internal_macros;
6
7mod any;
8mod application;
9pub(crate) mod bit_string;
10#[cfg(feature = "alloc")]
11mod bmp_string;
12mod boolean;
13mod choice;
14mod context_specific;
15mod general_string;
16mod generalized_time;
17mod ia5_string;
18mod integer;
19mod null;
20mod octet_string;
21#[cfg(feature = "oid")]
22mod oid;
23mod optional;
24mod printable_string;
25mod private;
26#[cfg(feature = "real")]
27mod real;
28mod sequence;
29mod sequence_of;
30mod set_of;
31mod teletex_string;
32mod utc_time;
33mod utf8_string;
34mod videotex_string;
35
36pub use self::{
37    any::AnyRef,
38    application::{Application, ApplicationRef},
39    bit_string::{BitStringIter, BitStringRef},
40    choice::Choice,
41    context_specific::{ContextSpecific, ContextSpecificRef},
42    general_string::GeneralStringRef,
43    generalized_time::GeneralizedTime,
44    ia5_string::Ia5StringRef,
45    integer::{int::IntRef, uint::UintRef},
46    null::Null,
47    octet_string::OctetStringRef,
48    printable_string::PrintableStringRef,
49    private::{Private, PrivateRef},
50    sequence::{Sequence, SequenceRef},
51    teletex_string::TeletexStringRef,
52    utc_time::UtcTime,
53    utf8_string::Utf8StringRef,
54    videotex_string::VideotexStringRef,
55};
56
57#[cfg(feature = "alloc")]
58pub use self::{
59    any::Any,
60    bit_string::BitString,
61    bmp_string::BmpString,
62    ia5_string::Ia5String,
63    integer::{int::Int, uint::Uint},
64    octet_string::OctetString,
65    printable_string::PrintableString,
66    set_of::SetOfVec,
67    teletex_string::TeletexString,
68};
69
70#[cfg(feature = "heapless")]
71pub use self::{
72    sequence_of::{SequenceOf, SequenceOfIter},
73    set_of::SetOf,
74};
75
76#[cfg(any(feature = "alloc", feature = "heapless"))]
77pub use set_of::SetOfIter;
78
79#[cfg(feature = "oid")]
80pub use const_oid::ObjectIdentifier;