Lines Matching refs:ber

36 /* encode.c - ber output encoding routines */
66 ber_put_tag( BerElement *ber, ber_tag_t tag, int nosos )
75 return( ber_write( ber, ((char *) &ntag) + sizeof(ber_int_t) - taglen,
106 ber_put_len( BerElement *ber, ber_len_t len, int nosos )
120 return( ber_write( ber, (char *) &netlen + sizeof(ber_int_t) - 1,
142 if ( ber_write( ber, &lenlen, 1, nosos ) != 1 )
147 if ( ber_write( ber, (char *) &netlen + (sizeof(ber_int_t) - i), i, nosos )
155 ber_put_int_or_enum( BerElement *ber, ber_int_t num, ber_tag_t tag )
191 if ( (taglen = ber_put_tag( ber, tag, 0 )) == -1 )
194 if ( (lenlen = ber_put_len( ber, len, 0 )) == -1 )
198 if ( ber_write( ber, (char *) &netnum + (sizeof(ber_int_t) - i), i, 0 )
208 ber_put_enum( BerElement *ber, ber_int_t num, ber_tag_t tag )
213 return( ber_put_int_or_enum( ber, num, tag ) );
218 ber_put_int( BerElement *ber, ber_int_t num, ber_tag_t tag )
223 return( ber_put_int_or_enum( ber, num, tag ) );
228 ber_put_ostring( BerElement *ber, char *str, ber_len_t len,
239 if ( (taglen = ber_put_tag( ber, tag, 0 )) == -1 )
243 if ( len > 0 && ( ber->ber_options & LBER_OPT_TRANSLATE_STRINGS ) != 0
244 && ber->ber_encode_translate_proc != NULL ) {
245 if ( (*(ber->ber_encode_translate_proc))( &str, &len, 0 )
260 if ( (lenlen = ber_put_len( ber, len, 0 )) == -1 ||
261 ber_write( ber, str, len, 0 ) != (ber_int_t) len ) {
279 ber_put_string( BerElement *ber, char *str, ber_tag_t tag )
281 return( ber_put_ostring( ber, str, (ber_len_t) strlen( str ), tag ));
286 ber_put_bitstring( BerElement *ber, char *str,
295 if ( (taglen = ber_put_tag( ber, tag, 0 )) == -1 )
300 if ( (lenlen = ber_put_len( ber, len + 1, 0 )) == -1 )
303 if ( ber_write( ber, (char *)&unusedbits, 1, 0 ) != 1 )
306 if ( ber_write( ber, str, len, 0 ) != len )
315 ber_put_null( BerElement *ber, ber_tag_t tag )
322 if ( (taglen = ber_put_tag( ber, tag, 0 )) == -1 )
325 if ( ber_put_len( ber, 0, 0 ) != 1 )
333 ber_put_boolean( BerElement *ber, int boolval, ber_tag_t tag )
342 if ( (taglen = ber_put_tag( ber, tag, 0 )) == -1 )
345 if ( ber_put_len( ber, 1, 0 ) != 1 )
348 if ( ber_write( ber, (char *)(boolval ? &trueval : &falseval), 1, 0 )
362 * we pre-allocate a small set of them within the ber element structure.
367 ber_start_seqorset( BerElement *ber, ber_tag_t tag )
372 if (ber->ber_sos_stack_posn < SOS_STACK_SIZE) {
374 new_sos = &ber->ber_sos_stack[ber->ber_sos_stack_posn];
382 ber->ber_sos_stack_posn++;
384 if ( ber->ber_sos == NULLSEQORSET )
385 new_sos->sos_first = ber->ber_ptr;
387 new_sos->sos_first = ber->ber_sos->sos_ptr;
393 new_sos->sos_next = ber->ber_sos;
396 ber->ber_sos = new_sos;
397 if (ber->ber_sos->sos_ptr > ber->ber_end) {
398 nslberi_ber_realloc(ber, ber->ber_sos->sos_ptr - ber->ber_end);
405 ber_start_seq( BerElement *ber, ber_tag_t tag )
410 return( ber_start_seqorset( ber, tag ) );
415 ber_start_set( BerElement *ber, ber_tag_t tag )
420 return( ber_start_seqorset( ber, tag ) );
424 ber_put_seqorset( BerElement *ber )
430 Seqorset **sos = &ber->ber_sos;
445 if ( ber->ber_options & LBER_OPT_USE_DER ) {
453 if ( (taglen = ber_put_tag( ber, (*sos)->sos_tag, 1 )) == -1 )
456 if ( ber->ber_options & LBER_OPT_USE_DER ) {
458 if ( ber_put_len( ber, len, 1 ) == -1 )
474 if ( ber_write( ber, (char *)&ltag, 1, 1 ) != 1 )
478 if ( ber_write( ber, (char *) &netlen + sizeof(ber_int_t)
484 ber->ber_ptr += len;
494 if ( ber->ber_options & LBER_OPT_USE_DER ) {
502 if ( ber->ber_options & LBER_OPT_USE_DER ) {
533 if (ber->ber_sos_stack_posn <= SOS_STACK_SIZE) {
539 ber->ber_sos_stack_posn--;
547 ber_put_seq( BerElement *ber )
549 return( ber_put_seqorset( ber ) );
554 ber_put_set( BerElement *ber )
556 return( ber_put_seqorset( ber ) );
562 ber_printf( BerElement *ber, const char *fmt, ... )
584 rc = ber_put_boolean( ber, i, ber->ber_tag );
589 rc = ber_put_int( ber, (ber_int_t)i, ber->ber_tag );
594 rc = ber_put_enum( ber, (ber_int_t)i, ber->ber_tag );
598 rc = ber_put_null( ber, ber->ber_tag );
604 rc = ber_put_ostring( ber, s, len, ber->ber_tag );
611 rc = ber_put_ostring( ber, "", 0, ber->ber_tag );
613 rc = ber_put_ostring( ber, bval->bv_val, bval->bv_len,
614 ber->ber_tag );
620 rc = ber_put_string( ber, s, ber->ber_tag );
626 rc = ber_put_bitstring( ber, s, len, ber->ber_tag );
630 ber->ber_tag = va_arg( ap, ber_tag_t );
631 ber->ber_usertag = 1;
638 if ( (rc = ber_put_string( ber, ss[i],
639 ber->ber_tag )) == -1 )
648 if ( (rc = ber_put_ostring( ber, bv[i]->bv_val,
649 bv[i]->bv_len, ber->ber_tag )) == -1 )
655 rc = ber_start_seq( ber, ber->ber_tag );
659 rc = ber_put_seqorset( ber );
663 rc = ber_start_set( ber, ber->ber_tag );
667 rc = ber_put_seqorset( ber );
679 if ( ber->ber_usertag == 0 )
680 ber->ber_tag = LBER_DEFAULT;
682 ber->ber_usertag = 0;