#notation #syntax #asn #abstract #itu-t #basic #technology

x680

ITU-T X.680 - 信息技术 – 抽象语法符号一(ASN.1):基本符号规范

1 个不稳定版本

0.0.1 2019年1月12日

#19 in #asn

GPL-2.0-or-later

2KB

正在进行中

目标

最终语法待定

x680!(r#"
FooProtocol DEFINITIONS ::= BEGIN
FooQuestion ::= SEQUENCE {
    trackingNumber INTEGER,
    question       IA5String
}
FooAnswer ::= SEQUENCE {
    questionNumber INTEGER,
    answer         BOOLEAN
}
END
"#)

der_decode!(fq, FooProtocol::FooQuestion)
der_encode!(fa, FooProtocol::FooAnswer)

fn answer_question(buffer: &[u8]) -> Vec<u8> {
    let buffer: &[u8] = ...
    let question: FooQuestion = fq(buffer).unwrap();
        let answer = FooProtocol::FooAnswer {
        questionNumber: 1,
        answer: true
    }
    return fa(answer).unwrap()
}

无运行时依赖