asn1_codecs/per/uper/decode/
mod.rs1use bitvec::prelude::*;
4
5#[allow(unused)]
6use crate::per::common::decode::*;
7use crate::{PerCodecData, PerCodecError};
8
9pub fn decode_choice_idx(
16 data: &mut PerCodecData,
17 lb: i128,
18 ub: i128,
19 is_extensible: bool,
20) -> Result<(i128, bool), PerCodecError> {
21 log::trace!(
22 "decode_choice_idx: lb: {}, ub: {}, extensible: {}",
23 lb,
24 ub,
25 is_extensible
26 );
27
28 decode_choice_idx_common(data, lb, ub, is_extensible, false)
29}
30
31pub fn decode_sequence_header(
37 data: &mut PerCodecData,
38 is_extensible: bool,
39 optional_count: usize,
40) -> Result<(BitVec<u8, Msb0>, bool), PerCodecError> {
41 log::trace!("decode_sequence_header: extensible: {}", is_extensible);
42
43 decode_sequence_header_common(data, is_extensible, optional_count, false)
44}
45
46pub fn decode_integer(
60 data: &mut PerCodecData,
61 lb: Option<i128>,
62 ub: Option<i128>,
63 is_extensible: bool,
64) -> Result<(i128, bool), PerCodecError> {
65 log::trace!(
66 "decode_integer: Lower: {:?} Upper:{:?} Extensible: {}",
67 lb,
68 ub,
69 is_extensible
70 );
71
72 decode_integer_common(data, lb, ub, is_extensible, false)
73}
74
75pub fn decode_bool(data: &mut PerCodecData) -> Result<bool, PerCodecError> {
79 log::trace!("decode_bool:");
80
81 decode_bool_common(data, false)
82}
83
84pub fn decode_real(data: &mut PerCodecData) -> Result<f64, PerCodecError> {
88 log::trace!("decode_real:");
89 decode_real_common(data, false)
90}
91
92pub fn decode_enumerated(
99 data: &mut PerCodecData,
100 lb: Option<i128>,
101 ub: Option<i128>,
102 is_extensible: bool,
103) -> Result<(i128, bool), PerCodecError> {
104 log::trace!(
105 "decode_enumerated: lb: {:?}, ub: {:?}, is_extensible: {}",
106 lb,
107 ub,
108 is_extensible
109 );
110
111 decode_enumerated_common(data, lb, ub, is_extensible, false)
112}
113
114pub fn decode_bitstring(
118 data: &mut PerCodecData,
119 lb: Option<i128>,
120 ub: Option<i128>,
121 is_extensible: bool,
122) -> Result<BitVec<u8, Msb0>, PerCodecError> {
123 log::trace!(
124 "decode_bitstring: lb: {:?}, ub: {:?}, is_extensible: {}",
125 lb,
126 ub,
127 is_extensible
128 );
129
130 decode_bitstring_common(data, lb, ub, is_extensible, false)
131}
132
133pub fn decode_octetstring(
137 data: &mut PerCodecData,
138 lb: Option<i128>,
139 ub: Option<i128>,
140 is_extensible: bool,
141) -> Result<Vec<u8>, PerCodecError> {
142 log::trace!(
143 "decode_bitstring: lb: {:?}, ub: {:?}, is_extensible: {}",
144 lb,
145 ub,
146 is_extensible
147 );
148
149 decode_octetstring_common(data, lb, ub, is_extensible, false)
150}
151
152pub fn decode_length_determinent(
154 data: &mut PerCodecData,
155 lb: Option<i128>,
156 ub: Option<i128>,
157 normally_small: bool,
158) -> Result<usize, PerCodecError> {
159 log::trace!("decode_length_determinent:");
160
161 decode_length_determinent_common(data, lb, ub, normally_small, false)
162}
163
164mod decode_charstrings;
165pub use decode_charstrings::*;