pub const TAG_BOOLEAN: i32 = 1;
pub const TAG_INTEGER: i32 = 2;
pub const TAG_BIT_STRING: i32 = 3;
pub const TAG_OCTET_STRING: i32 = 4;
pub const TAG_NULL: i32 = 5;
pub const TAG_OID: i32 = 6;
pub const TAG_ENUM: i32 = 10;
pub const TAG_UTF8_STRING: i32 = 12;
pub const TAG_SEQUENCE: i32 = 16;
pub const TAG_SET: i32 = 17;
pub const TAG_NUMERIC_STRING: i32 = 18;
pub const TAG_PRINTABLE_STRING: i32 = 19;
pub const TAG_T61_STRING: i32 = 20;
pub const TAG_IA5_STRING: i32 = 22;
pub const TAG_UTCTIME: i32 = 23;
pub const TAG_GENERALIZED_TIME: i32 = 24;
pub const TAG_GENERAL_STRING: i32 = 27;
pub const TAG_BMPSTRING: i32 = 30;
pub const CLASS_UNIVERSAL: i32 = 0;
pub const CLASS_APPLICATION: i32 = 1;
pub const CLASS_CONTEXT_SPECIFIC: i32 = 2;
pub const CLASS_PRIVATE: i32 = 3;
#[derive(Debug)]
pub struct FieldParameters {
pub optional: bool, pub explicit: bool, pub application: bool, pub private: bool, pub default_value: Option<i64>, pub tag: Option<i32>, pub string_type: i32, pub time_type: i32, pub set: bool, pub omit_empty: bool,
}
impl Default for FieldParameters {
fn default() -> FieldParameters {
FieldParameters {
optional: false,
explicit: false,
application: false,
private: false,
default_value: None,
tag: None,
string_type: 0,
time_type: 0,
set: false,
omit_empty: false,
}
}
}
#[derive(Debug, Default, PartialEq)]
pub struct TagAndLength {
pub class: i32,
pub tag: i32,
pub length: usize,
pub is_compound: bool,
}