13 const void *buffer,
size_t size) {
16 rval =
uper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0);
26 if(((
const uint8_t *)buffer)[0] == 0) {
29 ASN_DEBUG(
"Expecting single zeroed byte");
44 size_t size,
int skip_bits,
int unused_bits) {
49 if(skip_bits < 0 || skip_bits > 7
50 || unused_bits < 0 || unused_bits > 7
51 || (unused_bits > 0 && !size))
60 s_codec_ctx = *opt_codec_ctx;
61 opt_codec_ctx = &s_codec_ctx;
65 memset(&s_codec_ctx, 0,
sizeof(s_codec_ctx));
67 opt_codec_ctx = &s_codec_ctx;
71 memset(&pd, 0,
sizeof(pd));
72 pd.
buffer = (
const uint8_t *)buffer;
74 pd.
nbits = 8 * size - unused_bits;
87 + pd.
nboff - skip_bits;
88 ASN_DEBUG(
"PER decoding consumed %ld, counted %ld",