Lines Matching refs:sb

61 #define bergetc( sb, len )    ( sb->sb_ber.ber_end > sb->sb_ber.ber_ptr ? \  argument
62 (unsigned char)*sb->sb_ber.ber_ptr++ : \
63 ber_filbuf( sb, len ))
71 # define BerWrite( sb, b, l ) tcpwrite( sb->sb_sd, (unsigned char *)(b), (l<MAX_WRITE)? l : MAX_… argument
83 # define BerWrite( sb, b, l ) write( sb->sb_sd, b, l ) argument
84 # define udp_read( sb, b, l, al ) recvfrom(sb->sb_sd, (char *)b, l, 0, \ argument
85 (struct sockaddr *)sb->sb_fromaddr, \
87 # define udp_write( sb, b, l ) sendto(sb->sb_sd, (char *)(b), l, 0, \ argument
88 (struct sockaddr *)sb->sb_useaddr, sizeof(struct sockaddr))
93 #define udp_read( sb, b, l, al ) CLDAP NOT SUPPORTED argument
94 #define udp_write( sb, b, l ) CLDAP NOT SUPPORTED argument
106 static void nslberi_install_compat_io_fns( Sockbuf *sb );
124 ber_filbuf( Sockbuf *sb, ber_slen_t len ) in ber_filbuf() argument
131 if ( sb->sb_ber.ber_buf == NULL ) { in ber_filbuf()
132 if ( (sb->sb_ber.ber_buf = (char *)NSLBERI_MALLOC( in ber_filbuf()
136 sb->sb_ber.ber_flags &= ~LBER_FLAG_NO_FREE_BUFFER; in ber_filbuf()
137 sb->sb_ber.ber_ptr = sb->sb_ber.ber_buf; in ber_filbuf()
138 sb->sb_ber.ber_end = sb->sb_ber.ber_buf; in ber_filbuf()
141 if ( sb->sb_naddr > 0 ) { in ber_filbuf()
143 rc = udp_read(sb, sb->sb_ber.ber_buf, READBUFSIZ, addrlen ); in ber_filbuf()
151 lber_bprint( sb->sb_ber.ber_buf, rc ); in ber_filbuf()
158 if ( sb->sb_ext_io_fns.lbextiofn_read != NULL ) { in ber_filbuf()
159 rc = sb->sb_ext_io_fns.lbextiofn_read( in ber_filbuf()
160 sb->sb_sd, sb->sb_ber.ber_buf, in ber_filbuf()
161 ((sb->sb_options & LBER_SOCKBUF_OPT_NO_READ_AHEAD) in ber_filbuf()
163 sb->sb_ext_io_fns.lbextiofn_socket_arg ); in ber_filbuf()
165 rc = read( sb->sb_sd, sb->sb_ber.ber_buf, in ber_filbuf()
166 ((sb->sb_options & LBER_SOCKBUF_OPT_NO_READ_AHEAD) in ber_filbuf()
172 sb->sb_ber.ber_ptr = sb->sb_ber.ber_buf + 1; in ber_filbuf()
173 sb->sb_ber.ber_end = sb->sb_ber.ber_buf + rc; in ber_filbuf()
174 return( (unsigned char)*sb->sb_ber.ber_buf ); in ber_filbuf()
182 BerRead( Sockbuf *sb, char *buf, ber_slen_t len ) in BerRead() argument
188 if ( (c = bergetc( sb, len )) < 0 ) { in BerRead()
337 ber_flush( Sockbuf *sb, BerElement *ber, int freeit ) in ber_flush() argument
354 sb->sb_sd, ber->ber_rwptr != ber->ber_buf ? " (re-flush)" in ber_flush()
362 if ( sb->sb_options & (LBER_SOCKBUF_OPT_TO_FILE | LBER_SOCKBUF_OPT_TO_FILE_ONLY) ) { in ber_flush()
363 rc = write( sb->sb_copyfd, ber->ber_buf, towrite ); in ber_flush()
364 if ( sb->sb_options & LBER_SOCKBUF_OPT_TO_FILE_ONLY ) { in ber_flush()
372 if (sb->sb_naddr > 0) { in ber_flush()
374 rc = udp_write( sb, ber->ber_buf + nwritten, in ber_flush()
389 if ( sb->sb_ext_io_fns.lbextiofn_write != NULL ) { in ber_flush()
390 if ( (rc = sb->sb_ext_io_fns.lbextiofn_write( in ber_flush()
391 sb->sb_sd, ber->ber_rwptr, (size_t)towrite, in ber_flush()
392 sb->sb_ext_io_fns.lbextiofn_socket_arg )) in ber_flush()
397 if ( (rc = BerWrite( sb, ber->ber_rwptr, in ber_flush()
556 get_tag( Sockbuf *sb ) in get_tag() argument
563 if ( (i = BerRead( sb, (char *) &xbyte, 1 )) != 1 ) { in get_tag()
574 if ( BerRead( sb, (char *) &xbyte, 1 ) != 1 ) in get_tag()
593 ber_get_next( Sockbuf *sb, ber_len_t *len, BerElement *ber ) in ber_get_next() argument
629 if ( (tag = get_tag( sb )) == LBER_DEFAULT ) { in ber_get_next()
643 if ( BerRead( sb, (char *) &lc, 1 ) != 1 ) { in ber_get_next()
651 if ( BerRead( sb, (char *) &netlen + diff, noctets ) != in ber_get_next()
673 if ( ( sb->sb_options & LBER_SOCKBUF_OPT_MAX_INCOMING_SIZE ) in ber_get_next()
674 && *len > sb->sb_max_incoming ) { in ber_get_next()
690 if ( (rc = BerRead( sb, ber->ber_rwptr, (ber_int_t)toread )) <= 0 ) { in ber_get_next()
862 ber_sockbuf_set_option( Sockbuf *sb, int option, void *value ) in ber_sockbuf_set_option() argument
866 if ( !NSLBERI_VALID_SOCKBUF_POINTER( sb )) { in ber_sockbuf_set_option()
872 sb->sb_max_incoming = *((ber_uint_t *) value); in ber_sockbuf_set_option()
878 sb->sb_options |= option; in ber_sockbuf_set_option()
880 sb->sb_options &= ~option; in ber_sockbuf_set_option()
884 sb->sb_sd = *((LBER_SOCKET *) value); in ber_sockbuf_set_option()
887 sb->sb_copyfd = *((LBER_SOCKET *) value); in ber_sockbuf_set_option()
890 sb->sb_io_fns.lbiof_read = (LDAP_IOF_READ_CALLBACK *) value; in ber_sockbuf_set_option()
891 nslberi_install_compat_io_fns( sb ); in ber_sockbuf_set_option()
894 sb->sb_io_fns.lbiof_write = (LDAP_IOF_WRITE_CALLBACK *) value; in ber_sockbuf_set_option()
895 nslberi_install_compat_io_fns( sb ); in ber_sockbuf_set_option()
900 (void)memset( (char *)&sb->sb_ext_io_fns, '\0', in ber_sockbuf_set_option()
901 sizeof(sb->sb_ext_io_fns )); in ber_sockbuf_set_option()
905 sb->sb_ext_io_fns = *extiofns; in ber_sockbuf_set_option()
922 ber_sockbuf_get_option( Sockbuf *sb, int option, void *value ) in ber_sockbuf_get_option() argument
926 if ( !NSLBERI_VALID_SOCKBUF_POINTER( sb )) { in ber_sockbuf_get_option()
932 *((ber_uint_t *) value) = sb->sb_max_incoming; in ber_sockbuf_get_option()
937 *((int *) value) = (sb->sb_options & option); in ber_sockbuf_get_option()
940 *((LBER_SOCKET *) value) = sb->sb_sd; in ber_sockbuf_get_option()
943 *((LBER_SOCKET *) value) = sb->sb_copyfd; in ber_sockbuf_get_option()
947 = sb->sb_io_fns.lbiof_read; in ber_sockbuf_get_option()
951 = sb->sb_io_fns.lbiof_write; in ber_sockbuf_get_option()
960 *extiofns = sb->sb_ext_io_fns; in ber_sockbuf_get_option()
1046 get_buffer_tag(byte_buffer *sb ) in get_buffer_tag() argument
1053 if ( (i = read_bytes( sb, &xbyte, 1 )) != 1 ) { in get_buffer_tag()
1064 if ( read_bytes( sb, &xbyte, 1 ) != 1 ) in get_buffer_tag()
1107 byte_buffer sb = {0}; in ber_get_next_buffer_ext() local
1127 sb.p = buffer; in ber_get_next_buffer_ext()
1128 sb.length = buffer_size; in ber_get_next_buffer_ext()
1135 if ( (tag = get_buffer_tag( &sb )) == LBER_DEFAULT ) { in ber_get_next_buffer_ext()
1149 if ( read_bytes( &sb, &lc, 1 ) != 1 ) { in ber_get_next_buffer_ext()
1157 if ( read_bytes( &sb, (unsigned char *)&netlen + diff, in ber_get_next_buffer_ext()
1196 if ( (rc = read_bytes( &sb, (unsigned char *)ber->ber_rwptr, in ber_get_next_buffer_ext()
1206 *Bytes_Scanned = sb.offset; in ber_get_next_buffer_ext()
1214 *Bytes_Scanned = sb.offset; in ber_get_next_buffer_ext()
1358 Sockbuf *sb = (Sockbuf *)arg; in nslberi_extread_compat() local
1360 return( sb->sb_io_fns.lbiof_read( sb->sb_sd, buf, len )); in nslberi_extread_compat()
1368 Sockbuf *sb = (Sockbuf *)arg; in nslberi_extwrite_compat() local
1370 return( sb->sb_io_fns.lbiof_write( sb->sb_sd, buf, len )); in nslberi_extwrite_compat()
1378 nslberi_install_compat_io_fns( Sockbuf *sb ) in nslberi_install_compat_io_fns() argument
1380 sb->sb_ext_io_fns.lbextiofn_size = LBER_X_EXTIO_FNS_SIZE; in nslberi_install_compat_io_fns()
1381 sb->sb_ext_io_fns.lbextiofn_read = nslberi_extread_compat; in nslberi_install_compat_io_fns()
1382 sb->sb_ext_io_fns.lbextiofn_write = nslberi_extwrite_compat; in nslberi_install_compat_io_fns()
1383 sb->sb_ext_io_fns.lbextiofn_socket_arg = (void *)sb; in nslberi_install_compat_io_fns()