Go to the documentation of this file.
14 const void *sptr,
int ilevel,
18 const char *
const h2c =
"0123456789ABCDEF";
19 char scratch[16 * 3 + 4];
38 end = buf + st->
size - 1;
43 if(cts && cts->
size != -1) {
45 for(
int i = 0; buf < end; buf++, i++) {
46 if(!(i % 16) && (i || st->
size > 16)) {
50 *p++ = h2c[*buf >> 4];
51 *p++ = h2c[*buf & 0x0F];
59 uint8_t v = *buf & (0xff << ubits);
76 for(
int i = 0; buf < end; buf++, i++) {
77 if(!(i % 16) && (i || st->
size > 16)) {
81 *p++ = h2c[*buf >> 4];
82 *p++ = h2c[*buf & 0x0F];
90 uint8_t v = *buf & (0xff << ubits);
109 int wr = snprintf(scratch,
sizeof(scratch),
"%lu",
111 if(wr < 0 || (
size_t)wr >=
sizeof(scratch)) {
130 #define RETURN(_code) \
133 rval.consumed = consumed_myself; \
137 #define SKIPCHAR(_c) \
140 for (; p < pend; ++p) { \
146 if(!found) RETURN(RC_WMORE); \
154 const void *buf_ptr,
size_t size) {
159 ssize_t consumed_myself = 0;
169 const char *p = (
const char*)buf_ptr;
170 const char *pend = p + size;
172 if(!cts || cts->
size == -1) {
188 const char* p1 = p - 1;
191 void *nptr =
REALLOC(st->
buf, (p1-p0 + 1) / 2 + 1);
193 st->
buf = (uint8_t *)nptr;
194 uint8_t *buf = st->
buf;
195 unsigned int clv = 0;
199 int ch = *(
const unsigned char *)p;
201 case 0x30:
case 0x31:
case 0x32:
case 0x33:
case 0x34:
202 case 0x35:
case 0x36:
case 0x37:
case 0x38:
case 0x39:
203 clv = (clv << 4) + (ch - 0x30);
205 case 0x41:
case 0x42:
case 0x43:
206 case 0x44:
case 0x45:
case 0x46:
207 clv = (clv << 4) + (ch - 0x41 + 10);
209 case 0x61:
case 0x62:
case 0x63:
210 case 0x64:
case 0x65:
case 0x66:
211 clv = (clv << 4) + (ch - 0x61 + 10);
235 if(!cts || cts->
size == -1) {
247 for (; p < pend; ++p) {
249 case 0x09:
case 0x0a:
case 0x0c:
case 0x0d:
251 if(!numbered)
continue;
254 case 0x30:
case 0x31:
case 0x32:
case 0x33:
case 0x34:
255 case 0x35:
case 0x36:
case 0x37:
case 0x38:
case 0x39:
264 unsigned long length;
267 void *integer_ptr = (
void *)&integer;
268 memset(&integer, 0,
sizeof(integer));
286 if(st->
size * 8 < (
size_t)cts->
size) {
292 consumed_myself = (
const char *)p - (
const char *)buf_ptr;
#define ASN__ENCODED_OK(rval)
asn_enc_rval_t BIT_STRING_encode_jer(const asn_TYPE_descriptor_t *td, const asn_jer_constraints_t *constraints, const void *sptr, int ilevel, enum jer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, void *app_key)
#define CALLOC(nmemb, size)
#define ASN__CALLBACK(buf, size)
asn_TYPE_descriptor_t asn_DEF_INTEGER
#define REALLOC(oldptr, size)
#define ASN__ENCODE_FAILED
#define ASN__TEXT_INDENT(nl, level)
jer_type_decoder_f INTEGER_decode_jer
const struct asn_jer_constraints_s * jer_constraints
int() asn_app_consume_bytes_f(const void *buffer, size_t size, void *application_specific_key)
#define ASN__DECODE_FAILED
int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l)
asn_dec_rval_t BIT_STRING_decode_jer(const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, const asn_jer_constraints_t *constraints, void **sptr, const void *buf_ptr, size_t size)
asn_encoding_constraints_t encoding_constraints
#define ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF, ptr)
enum asn_dec_rval_code_e code
etsi_its_vam_ts_coding
Author(s): Jean-Pierre Busch
, Guido Küppers , Lennart Reiher
autogenerated on Sun May 18 2025 02:30:55