Lines Matching refs:ber

210 ber_read( BerElement *ber, char *buf, ber_len_t len )  in ber_read()  argument
215 nleft = ber->ber_end - ber->ber_ptr; in ber_read()
218 SAFEMEMCPY( buf, ber->ber_ptr, (size_t)actuallen ); in ber_read()
220 ber->ber_ptr += actuallen; in ber_read()
230 nslberi_ber_realloc( BerElement *ber, ber_len_t len ) in nslberi_ber_realloc() argument
238 have_bytes = ber->ber_end - ber->ber_buf; in nslberi_ber_realloc()
243 oldbuf = ber->ber_buf; in nslberi_ber_realloc()
245 if (ber->ber_buf == NULL) { in nslberi_ber_realloc()
246 if ( (ber->ber_buf = (char *)NSLBERI_MALLOC( (size_t)total )) in nslberi_ber_realloc()
250 ber->ber_flags &= ~LBER_FLAG_NO_FREE_BUFFER; in nslberi_ber_realloc()
252 if ( ber->ber_flags & LBER_FLAG_NO_FREE_BUFFER ) { in nslberi_ber_realloc()
254 if ( (ber->ber_buf = (char *)NSLBERI_MALLOC( in nslberi_ber_realloc()
258 ber->ber_flags &= ~LBER_FLAG_NO_FREE_BUFFER; in nslberi_ber_realloc()
260 SAFEMEMCPY( ber->ber_buf, oldbuf, have_bytes ); in nslberi_ber_realloc()
262 if ( (ber->ber_buf = (char *)NSLBERI_REALLOC( in nslberi_ber_realloc()
263 ber->ber_buf,(size_t)total )) == NULL ) { in nslberi_ber_realloc()
269 ber->ber_end = ber->ber_buf + total; in nslberi_ber_realloc()
277 if ( ber->ber_buf != oldbuf ) { in nslberi_ber_realloc()
278 ber->ber_ptr = ber->ber_buf + (ber->ber_ptr - oldbuf); in nslberi_ber_realloc()
280 for ( s = ber->ber_sos; s != NULLSEQORSET; s = s->sos_next ) { in nslberi_ber_realloc()
282 s->sos_first = ber->ber_buf + off; in nslberi_ber_realloc()
285 s->sos_ptr = ber->ber_buf + off; in nslberi_ber_realloc()
297 ber_write( BerElement *ber, char *buf, ber_len_t len, int nosos ) in ber_write() argument
299 if ( nosos || ber->ber_sos == NULL ) { in ber_write()
300 if ( ber->ber_ptr + len > ber->ber_end ) { in ber_write()
301 if ( nslberi_ber_realloc( ber, len ) != 0 ) in ber_write()
304 SAFEMEMCPY( ber->ber_ptr, buf, (size_t)len ); in ber_write()
305 ber->ber_ptr += len; in ber_write()
308 if ( ber->ber_sos->sos_ptr + len > ber->ber_end ) { in ber_write()
309 if ( nslberi_ber_realloc( ber, len ) != 0 ) in ber_write()
312 SAFEMEMCPY( ber->ber_sos->sos_ptr, buf, (size_t)len ); in ber_write()
313 ber->ber_sos->sos_ptr += len; in ber_write()
314 ber->ber_sos->sos_clen += len; in ber_write()
321 ber_free( BerElement *ber, int freebuf ) in ber_free() argument
323 if ( ber != NULL ) { in ber_free()
325 !(ber->ber_flags & LBER_FLAG_NO_FREE_BUFFER)) { in ber_free()
326 NSLBERI_FREE(ber->ber_buf); in ber_free()
328 NSLBERI_FREE( (char *) ber ); in ber_free()
337 ber_flush( Sockbuf *sb, BerElement *ber, int freeit ) in ber_flush() argument
341 if ( ber->ber_rwptr == NULL ) { in ber_flush()
342 ber->ber_rwptr = ber->ber_buf; in ber_flush()
343 } else if (ber->ber_rwptr >= ber->ber_end) { in ber_flush()
348 towrite = ber->ber_ptr - ber->ber_rwptr; in ber_flush()
354 sb->sb_sd, ber->ber_rwptr != ber->ber_buf ? " (re-flush)" in ber_flush()
358 lber_bprint( ber->ber_rwptr, towrite ); in ber_flush()
363 rc = write( sb->sb_copyfd, ber->ber_buf, towrite ); in ber_flush()
374 rc = udp_write( sb, ber->ber_buf + nwritten, in ber_flush()
391 sb->sb_sd, ber->ber_rwptr, (size_t)towrite, in ber_flush()
397 if ( (rc = BerWrite( sb, ber->ber_rwptr, in ber_flush()
405 ber->ber_rwptr += rc; in ber_flush()
409 ber_free( ber, 1 ); in ber_flush()
420 BerElement *ber; in ber_alloc_t() local
422 if ( (ber = (BerElement*)NSLBERI_CALLOC( 1, in ber_alloc_t()
436 ber->ber_tag = LBER_DEFAULT; in ber_alloc_t()
437 ber->ber_options = options; in ber_alloc_t()
438 ber->ber_buf = (char*)ber + sizeof(struct berelement); in ber_alloc_t()
439 ber->ber_ptr = ber->ber_buf; in ber_alloc_t()
440 ber->ber_end = ber->ber_buf + EXBUFSIZ; in ber_alloc_t()
441 ber->ber_flags = LBER_FLAG_NO_FREE_BUFFER; in ber_alloc_t()
443 return( ber ); in ber_alloc_t()
463 ber_dup( BerElement *ber ) in ber_dup() argument
470 *new = *ber; in ber_dup()
478 ber_init_w_nullchar( BerElement *ber, int options ) in ber_init_w_nullchar() argument
480 (void) memset( (char *)ber, '\0', sizeof(struct berelement) ); in ber_init_w_nullchar()
481 ber->ber_tag = LBER_DEFAULT; in ber_init_w_nullchar()
492 ber->ber_options = options; in ber_init_w_nullchar()
498 ber_reset( BerElement *ber, int was_writing ) in ber_reset() argument
501 ber->ber_end = ber->ber_ptr; in ber_reset()
502 ber->ber_ptr = ber->ber_buf; in ber_reset()
504 ber->ber_ptr = ber->ber_end; in ber_reset()
507 ber->ber_rwptr = NULL; in ber_reset()
514 ber_dump( BerElement *ber, int inout ) in ber_dump() argument
518 ber->ber_buf, ber->ber_ptr, ber->ber_rwptr, ber->ber_end ); in ber_dump()
522 ber->ber_end - ber->ber_ptr ); in ber_dump()
524 lber_bprint( ber->ber_ptr, ber->ber_end - ber->ber_ptr ); in ber_dump()
527 ber->ber_ptr - ber->ber_buf ); in ber_dump()
529 lber_bprint( ber->ber_buf, ber->ber_ptr - ber->ber_buf ); in ber_dump()
593 ber_get_next( Sockbuf *sb, ber_len_t *len, BerElement *ber ) in ber_get_next() argument
624 if ( ber->ber_rwptr == NULL ) { in ber_get_next()
632 ber->ber_tag = tag; in ber_get_next()
659 ber->ber_len = *len; in ber_get_next()
678 if ( (ber->ber_buf = (char *)NSLBERI_CALLOC( 1,(size_t)*len )) in ber_get_next()
682 ber->ber_flags &= ~LBER_FLAG_NO_FREE_BUFFER; in ber_get_next()
683 ber->ber_ptr = ber->ber_buf; in ber_get_next()
684 ber->ber_end = ber->ber_buf + *len; in ber_get_next()
685 ber->ber_rwptr = ber->ber_buf; in ber_get_next()
688 toread = (uintptr_t)ber->ber_end - (uintptr_t)ber->ber_rwptr; in ber_get_next()
690 if ( (rc = BerRead( sb, ber->ber_rwptr, (ber_int_t)toread )) <= 0 ) { in ber_get_next()
695 ber->ber_rwptr += rc; in ber_get_next()
702 tag, ber->ber_len ); in ber_get_next()
705 ber_dump( ber, 1 ); in ber_get_next()
709 *len = ber->ber_len; in ber_get_next()
710 ber->ber_rwptr = NULL; in ber_get_next()
711 return( ber->ber_tag ); in ber_get_next()
746 ber_set_option( struct berelement *ber, int option, void *value ) in ber_set_option() argument
773 if ( !NSLBERI_VALID_BERELEMENT_POINTER( ber )) { in ber_set_option()
781 ber->ber_options |= option; in ber_set_option()
783 ber->ber_options &= ~option; in ber_set_option()
787 ber->ber_end = ber->ber_ptr + *((ber_uint_t *)value); in ber_set_option()
790 ber->ber_end = ber->ber_buf + *((ber_uint_t *)value); in ber_set_option()
793 ber->ber_ptr = ber->ber_buf + *((ber_uint_t *)value); in ber_set_option()
807 ber_get_option( struct berelement *ber, int option, void *value ) in ber_get_option() argument
832 if ( !NSLBERI_VALID_BERELEMENT_POINTER( ber )) { in ber_get_option()
839 *((int *) value) = (ber->ber_options & option); in ber_get_option()
842 *((ber_uint_t *) value) = ber->ber_end - ber->ber_ptr; in ber_get_option()
845 *((ber_uint_t *) value) = ber->ber_end - ber->ber_buf; in ber_get_option()
848 *((ber_uint_t *) value) = ber->ber_ptr - ber->ber_buf; in ber_get_option()
1012 ber_special_free(void* buf, BerElement *ber) in ber_special_free() argument
1014 if (!(ber->ber_flags & LBER_FLAG_NO_FREE_BUFFER)) { in ber_special_free()
1015 NSLBERI_FREE(ber->ber_buf); in ber_special_free()
1090 BerElement *ber, ber_uint_t *Bytes_Scanned ) in ber_get_next_buffer() argument
1092 return (ber_get_next_buffer_ext( buffer, buffer_size, len, ber, in ber_get_next_buffer()
1099 BerElement *ber, ber_uint_t *Bytes_Scanned, Sockbuf *sock ) in ber_get_next_buffer_ext() argument
1130 if ( ber->ber_rwptr == NULL ) { in ber_get_next_buffer_ext()
1138 ber->ber_tag = tag; in ber_get_next_buffer_ext()
1165 ber->ber_len = *len; in ber_get_next_buffer_ext()
1185 if ( ber->ber_buf + *len > ber->ber_end ) { in ber_get_next_buffer_ext()
1186 if ( nslberi_ber_realloc( ber, *len ) != 0 ) in ber_get_next_buffer_ext()
1189 ber->ber_ptr = ber->ber_buf; in ber_get_next_buffer_ext()
1190 ber->ber_end = ber->ber_buf + *len; in ber_get_next_buffer_ext()
1191 ber->ber_rwptr = ber->ber_buf; in ber_get_next_buffer_ext()
1194 toread = (uintptr_t)ber->ber_end - (uintptr_t)ber->ber_rwptr; in ber_get_next_buffer_ext()
1196 if ( (rc = read_bytes( &sb, (unsigned char *)ber->ber_rwptr, in ber_get_next_buffer_ext()
1202 ber->ber_rwptr += rc; in ber_get_next_buffer_ext()
1205 *len = ber->ber_len; in ber_get_next_buffer_ext()
1207 return( ber->ber_tag ); in ber_get_next_buffer_ext()
1230 ber_flatten( BerElement *ber, struct berval **bvPtr ) in ber_flatten() argument
1245 if ( ber == NULL ) { in ber_flatten()
1249 len = ber->ber_ptr - ber->ber_buf; in ber_flatten()
1254 SAFEMEMCPY( new->bv_val, ber->ber_buf, (size_t)len ); in ber_flatten()
1275 BerElement *ber; in ber_init() local
1278 if (( ber = ber_alloc_t( 0 )) != NULLBER ) { in ber_init()
1281 if ( (ber_write ( ber, bv->bv_val, bv->bv_len, 0 )) in ber_init()
1283 ber_free( ber, 1 ); in ber_init()
1292 ber_reset( ber, 1); in ber_init()
1298 return( ber ); in ber_init()