Lines Matching refs:ber
70 ber_put_tag(BerElement *ber, ber_tag_t tag, int nosos) in ber_put_tag() argument
79 return (kmfber_write(ber, in ber_put_tag()
111 kmfber_put_len(BerElement *ber, ber_int_t len, int nosos) in kmfber_put_len() argument
123 return (kmfber_write(ber, in kmfber_put_len()
146 if (kmfber_write(ber, &lenlen, 1, nosos) != 1) in kmfber_put_len()
151 if (kmfber_write(ber, in kmfber_put_len()
159 ber_put_int_or_enum(BerElement *ber, ber_int_t num, ber_tag_t tag) in ber_put_int_or_enum() argument
194 if ((taglen = ber_put_tag(ber, tag, 0)) == -1) in ber_put_int_or_enum()
197 if ((lenlen = kmfber_put_len(ber, len, 0)) == -1) in ber_put_int_or_enum()
201 if (kmfber_write(ber, in ber_put_int_or_enum()
210 kmfber_put_enum(BerElement *ber, ber_int_t num, ber_tag_t tag) in kmfber_put_enum() argument
215 return (ber_put_int_or_enum(ber, num, tag)); in kmfber_put_enum()
219 ber_put_int(BerElement *ber, ber_int_t num, ber_tag_t tag) in ber_put_int() argument
224 return (ber_put_int_or_enum(ber, num, tag)); in ber_put_int()
228 ber_put_oid(BerElement *ber, struct berval *oid, ber_tag_t tag) in ber_put_oid() argument
235 if ((taglen = ber_put_tag(ber, tag, 0)) == -1) in ber_put_oid()
239 if ((lenlen = kmfber_put_len(ber, len, 0)) == -1 || in ber_put_oid()
240 kmfber_write(ber, oid->bv_val, oid->bv_len, 0) != in ber_put_oid()
251 ber_put_big_int(BerElement *ber, ber_tag_t tag, char *data, in ber_put_big_int() argument
260 if ((taglen = ber_put_tag(ber, tag, 0)) == -1) in ber_put_big_int()
268 if ((lenlen = kmfber_put_len(ber, ilen, 0)) == -1) in ber_put_big_int()
272 if ((data[0] & 0x80) && kmfber_write(ber, &zero, 1, 0) != 1) in ber_put_big_int()
278 if (kmfber_write(ber, data, ilen, 0) != (ber_int_t)ilen) { in ber_put_big_int()
288 kmfber_put_ostring(BerElement *ber, char *str, ber_len_t len, in kmfber_put_ostring() argument
299 if ((taglen = ber_put_tag(ber, tag, 0)) == -1) in kmfber_put_ostring()
303 if (len > 0 && (ber->ber_options & KMFBER_OPT_TRANSLATE_STRINGS) != 0 && in kmfber_put_ostring()
304 ber->ber_encode_translate_proc != NULL) { in kmfber_put_ostring()
305 if ((*(ber->ber_encode_translate_proc))(&str, &len, 0) in kmfber_put_ostring()
320 if ((lenlen = kmfber_put_len(ber, ilen, 0)) == -1 || in kmfber_put_ostring()
321 kmfber_write(ber, str, len, 0) != (ber_int_t)len) { in kmfber_put_ostring()
338 kmfber_put_string(BerElement *ber, char *str, ber_tag_t tag) in kmfber_put_string() argument
340 return (kmfber_put_ostring(ber, str, (ber_len_t)strlen(str), tag)); in kmfber_put_string()
344 kmfber_put_bitstring(BerElement *ber, char *str, in kmfber_put_bitstring() argument
353 if ((taglen = ber_put_tag(ber, tag, 0)) == -1) in kmfber_put_bitstring()
358 if ((lenlen = kmfber_put_len(ber, len + 1, 0)) == -1) in kmfber_put_bitstring()
361 if (kmfber_write(ber, (char *)&unusedbits, 1, 0) != 1) in kmfber_put_bitstring()
364 if (kmfber_write(ber, str, len, 0) != len) in kmfber_put_bitstring()
372 kmfber_put_null(BerElement *ber, ber_tag_t tag) in kmfber_put_null() argument
379 if ((taglen = ber_put_tag(ber, tag, 0)) == -1) in kmfber_put_null()
382 if (kmfber_put_len(ber, 0, 0) != 1) in kmfber_put_null()
389 kmfber_put_boolean(BerElement *ber, int boolval, ber_tag_t tag) in kmfber_put_boolean() argument
398 if ((taglen = ber_put_tag(ber, tag, 0)) == -1) in kmfber_put_boolean()
401 if (kmfber_put_len(ber, 1, 0) != 1) in kmfber_put_boolean()
404 if (kmfber_write(ber, (char *)(boolval ? &trueval : &falseval), 1, 0) in kmfber_put_boolean()
424 ber_start_seqorset(BerElement *ber, ber_tag_t tag) in ber_start_seqorset() argument
429 if (ber->ber_sos_stack_posn < SOS_STACK_SIZE) { in ber_start_seqorset()
431 new_sos = &ber->ber_sos_stack[ber->ber_sos_stack_posn]; in ber_start_seqorset()
439 ber->ber_sos_stack_posn++; in ber_start_seqorset()
441 if (ber->ber_sos == NULLSEQORSET) in ber_start_seqorset()
442 new_sos->sos_first = ber->ber_ptr; in ber_start_seqorset()
444 new_sos->sos_first = ber->ber_sos->sos_ptr; in ber_start_seqorset()
451 new_sos->sos_next = ber->ber_sos; in ber_start_seqorset()
454 ber->ber_sos = new_sos; in ber_start_seqorset()
455 if (ber->ber_sos->sos_ptr > ber->ber_end) { in ber_start_seqorset()
456 if (kmfber_realloc(ber, ber->ber_sos->sos_ptr - in ber_start_seqorset()
457 ber->ber_end) != 0) in ber_start_seqorset()
464 kmfber_start_seq(BerElement *ber, ber_tag_t tag) in kmfber_start_seq() argument
469 return (ber_start_seqorset(ber, tag)); in kmfber_start_seq()
473 kmfber_start_set(BerElement *ber, ber_tag_t tag) in kmfber_start_set() argument
478 return (ber_start_seqorset(ber, tag)); in kmfber_start_set()
482 ber_put_seqorset(BerElement *ber) in ber_put_seqorset() argument
487 Seqorset **sos = &ber->ber_sos; in ber_put_seqorset()
500 if (ber->ber_options & KMFBER_OPT_USE_DER) { in ber_put_seqorset()
508 if ((taglen = ber_put_tag(ber, (*sos)->sos_tag, 1)) == -1) in ber_put_seqorset()
511 if (ber->ber_options & KMFBER_OPT_USE_DER) { in ber_put_seqorset()
513 if (kmfber_put_len(ber, len, 1) == -1) in ber_put_seqorset()
529 if (kmfber_write(ber, (char *)<ag, 1, 1) != 1) in ber_put_seqorset()
533 if (kmfber_write(ber, in ber_put_seqorset()
540 ber->ber_ptr += len; in ber_put_seqorset()
550 if (ber->ber_options & KMFBER_OPT_USE_DER) { in ber_put_seqorset()
558 if (ber->ber_options & KMFBER_OPT_USE_DER) { in ber_put_seqorset()
589 if (ber->ber_sos_stack_posn > SOS_STACK_SIZE) { in ber_put_seqorset()
592 ber->ber_sos_stack_posn--; in ber_put_seqorset()
600 kmfber_printf(BerElement *ber, const char *fmt, ...) in kmfber_printf() argument
622 rc = kmfber_put_boolean(ber, i, ber->ber_tag); in kmfber_printf()
627 rc = ber_put_int(ber, (ber_int_t)i, ber->ber_tag); in kmfber_printf()
633 rc = ber_put_oid(ber, oid, ber->ber_tag); in kmfber_printf()
638 rc = ber_put_big_int(ber, ber->ber_tag, s, len); in kmfber_printf()
643 rc = kmfber_put_enum(ber, (ber_int_t)i, ber->ber_tag); in kmfber_printf()
648 rc = kmfber_put_len(ber, t, 0); in kmfber_printf()
651 rc = kmfber_put_null(ber, ber->ber_tag); in kmfber_printf()
657 rc = kmfber_put_ostring(ber, s, len, ber->ber_tag); in kmfber_printf()
662 rc = kmfber_put_string(ber, s, ber->ber_tag); in kmfber_printf()
668 rc = kmfber_put_bitstring(ber, s, len, ber->ber_tag); in kmfber_printf()
672 ber->ber_tag = va_arg(ap, ber_tag_t); in kmfber_printf()
673 ber->ber_usertag = 1; in kmfber_printf()
678 rc = ber_put_tag(ber, t, 0); in kmfber_printf()
685 if ((rc = kmfber_put_string(ber, ss[i], in kmfber_printf()
686 ber->ber_tag)) == -1) in kmfber_printf()
695 if ((rc = kmfber_put_ostring(ber, bv[i]->bv_val, in kmfber_printf()
696 bv[i]->bv_len, ber->ber_tag)) == -1) in kmfber_printf()
702 rc = kmfber_start_seq(ber, ber->ber_tag); in kmfber_printf()
706 rc = ber_put_seqorset(ber); in kmfber_printf()
710 rc = kmfber_start_set(ber, ber->ber_tag); in kmfber_printf()
714 rc = ber_put_seqorset(ber); in kmfber_printf()
728 if (ber->ber_usertag == 0) in kmfber_printf()
729 ber->ber_tag = KMFBER_DEFAULT; in kmfber_printf()
731 ber->ber_usertag = 0; in kmfber_printf()