hbin               55 source3/include/regfio.h #define HBIN_STORE_REF(x, y)	{ x->hbin = y; y->ref_count++ };
hbin               56 source3/include/regfio.h #define HBIN_REMOVE_REF(x, y)	{ x->hbin = NULL; y->ref_count-- /* if the count == 0; we can clean up */ };
hbin               86 source3/include/regfio.h 	REGF_HBIN *hbin;	/* pointer to HBIN record (in memory) containing this nk record */
hbin               98 source3/include/regfio.h 	REGF_HBIN *hbin;	/* pointer to HBIN record (in memory) containing this nk record */
hbin              118 source3/include/regfio.h 	REGF_HBIN *hbin;	/* pointer to HBIN record (in memory) containing this nk record */
hbin              136 source3/include/regfio.h 	REGF_HBIN *hbin;	/* pointer to HBIN record (in memory) containing this nk record */
hbin              152 source3/registry/regfio.c static bool write_hbin_block( REGF_FILE *file, REGF_HBIN *hbin )
hbin              154 source3/registry/regfio.c 	if ( !hbin->dirty )
hbin              159 source3/registry/regfio.c 	if ( hbin->free_off != REGF_OFFSET_NONE ) {
hbin              162 source3/registry/regfio.c 		if ( !prs_set_offset( &hbin->ps, hbin->free_off-sizeof(uint32) ) )
hbin              164 source3/registry/regfio.c 		if ( !prs_uint32( "free_size", &hbin->ps, 0, &hbin->free_size ) )
hbin              166 source3/registry/regfio.c 		if ( !prs_uint32( "free_header", &hbin->ps, 0, &header ) )
hbin              170 source3/registry/regfio.c 	hbin->dirty = (write_block( file, &hbin->ps, hbin->file_off ) != -1);
hbin              172 source3/registry/regfio.c 	return hbin->dirty;
hbin              178 source3/registry/regfio.c static bool hbin_block_close( REGF_FILE *file, REGF_HBIN *hbin )
hbin              184 source3/registry/regfio.c 	for ( p=file->block_list; p && p!=hbin; p=p->next )
hbin              187 source3/registry/regfio.c 	if ( p == hbin ) {
hbin              188 source3/registry/regfio.c 		DLIST_REMOVE( file->block_list, hbin );
hbin              193 source3/registry/regfio.c 	if ( !write_hbin_block( file, hbin ) )
hbin              262 source3/registry/regfio.c static bool prs_hbin_block( const char *desc, prs_struct *ps, int depth, REGF_HBIN *hbin )
hbin              269 source3/registry/regfio.c 	if ( !prs_uint8s( True, "header", ps, depth, (uint8*)hbin->header, sizeof( hbin->header )) )
hbin              272 source3/registry/regfio.c 	if ( !prs_uint32( "first_hbin_off", ps, depth, &hbin->first_hbin_off ))
hbin              279 source3/registry/regfio.c 	if ( !prs_uint32( "block_size", ps, depth, &hbin->block_size ))
hbin              282 source3/registry/regfio.c 	block_size2 = hbin->block_size;
hbin              288 source3/registry/regfio.c 		hbin->dirty = True;
hbin              395 source3/registry/regfio.c 		nk->hbin->dirty = True;
hbin              456 source3/registry/regfio.c 	REGF_HBIN *hbin;
hbin              459 source3/registry/regfio.c 	if ( !(hbin = TALLOC_ZERO_P(file->mem_ctx, REGF_HBIN)) ) 
hbin              461 source3/registry/regfio.c 	hbin->file_off = offset;
hbin              462 source3/registry/regfio.c 	hbin->free_off = -1;
hbin              464 source3/registry/regfio.c 	if ( read_block( file, &hbin->ps, offset, 0 ) == -1 )
hbin              467 source3/registry/regfio.c 	if ( !prs_hbin_block( "hbin", &hbin->ps, 0, hbin ) )
hbin              472 source3/registry/regfio.c 	block_size = prs_data_size( &hbin->ps );	
hbin              482 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, file->data_offset+HBIN_HDR_SIZE-sizeof(uint32) ) )
hbin              487 source3/registry/regfio.c 	curr_off = prs_offset( &hbin->ps );
hbin              505 source3/registry/regfio.c 		if ( !prs_set_offset( &hbin->ps, curr_off) )
hbin              508 source3/registry/regfio.c 		if ( !prs_uint32( "rec_size", &hbin->ps, 0, &record_size ) )
hbin              510 source3/registry/regfio.c 		if ( !prs_uint32( "header", &hbin->ps, 0, &header ) )
hbin              528 source3/registry/regfio.c 		hbin->free_off = curr_off + sizeof(uint32);
hbin              529 source3/registry/regfio.c 		hbin->free_size = record_size;
hbin              532 source3/registry/regfio.c 	DEBUG(10,("read_hbin_block: free space offset == 0x%x\n", hbin->free_off));
hbin              534 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, file->data_offset+HBIN_HDR_SIZE )  )
hbin              537 source3/registry/regfio.c 	return hbin;
hbin              545 source3/registry/regfio.c static bool hbin_contains_offset( REGF_HBIN *hbin, uint32 offset )
hbin              547 source3/registry/regfio.c 	if ( !hbin )
hbin              550 source3/registry/regfio.c 	if ( (offset > hbin->first_hbin_off) && (offset < (hbin->first_hbin_off+hbin->block_size)) )
hbin              563 source3/registry/regfio.c 	REGF_HBIN *hbin = NULL;
hbin              568 source3/registry/regfio.c 	for ( hbin=file->block_list; hbin; hbin=hbin->next ) {
hbin              569 source3/registry/regfio.c 		DEBUG(10,("lookup_hbin_block: address = 0x%x [0x%lx]\n", hbin->file_off, (unsigned long)hbin ));
hbin              570 source3/registry/regfio.c 		if ( hbin_contains_offset( hbin, offset ) )
hbin              571 source3/registry/regfio.c 			return hbin;
hbin              574 source3/registry/regfio.c 	if ( !hbin ) {
hbin              580 source3/registry/regfio.c 			if ( hbin )
hbin              581 source3/registry/regfio.c 				prs_mem_free( &hbin->ps );
hbin              583 source3/registry/regfio.c 			hbin = read_hbin_block( file, block_off );
hbin              585 source3/registry/regfio.c 			if ( hbin ) 
hbin              586 source3/registry/regfio.c 				block_off = hbin->file_off + hbin->block_size;
hbin              588 source3/registry/regfio.c 		} while ( hbin && !hbin_contains_offset( hbin, offset ) );
hbin              591 source3/registry/regfio.c 	if ( hbin )
hbin              592 source3/registry/regfio.c 		DLIST_ADD( file->block_list, hbin );
hbin              594 source3/registry/regfio.c 	return hbin;
hbin              616 source3/registry/regfio.c static bool hbin_prs_lf_records( const char *desc, REGF_HBIN *hbin, int depth, REGF_NK_REC *nk )
hbin              622 source3/registry/regfio.c 	prs_debug(&hbin->ps, depth, desc, "prs_lf_records");
hbin              632 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, nk->subkeys_off + HBIN_HDR_SIZE - hbin->first_hbin_off ) )
hbin              637 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, prs_offset(&hbin->ps)-sizeof(uint32)) )
hbin              639 source3/registry/regfio.c 	start_off = prs_offset( &hbin->ps );
hbin              640 source3/registry/regfio.c 	if ( !prs_uint32( "rec_size", &hbin->ps, depth, &lf->rec_size ))
hbin              643 source3/registry/regfio.c 	if ( !prs_uint8s( True, "header", &hbin->ps, depth, (uint8*)lf->header, sizeof( lf->header )) )
hbin              646 source3/registry/regfio.c 	if ( !prs_uint16( "num_keys", &hbin->ps, depth, &lf->num_keys))
hbin              649 source3/registry/regfio.c 	if ( UNMARSHALLING(&hbin->ps) ) {
hbin              651 source3/registry/regfio.c 			if ( !(lf->hashes = PRS_ALLOC_MEM( &hbin->ps, REGF_HASH_REC, lf->num_keys )) )
hbin              659 source3/registry/regfio.c 		if ( !prs_hash_rec( "hash_rec", &hbin->ps, depth, &lf->hashes[i] ) )
hbin              663 source3/registry/regfio.c 	end_off = prs_offset( &hbin->ps );
hbin              671 source3/registry/regfio.c 	if ( MARSHALLING(&hbin->ps) )
hbin              672 source3/registry/regfio.c 		hbin->dirty = True;
hbin              680 source3/registry/regfio.c static bool hbin_prs_sk_rec( const char *desc, REGF_HBIN *hbin, int depth, REGF_SK_REC *sk )
hbin              682 source3/registry/regfio.c 	prs_struct *ps = &hbin->ps;
hbin              690 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, sk->sk_off + HBIN_HDR_SIZE - hbin->first_hbin_off ) )
hbin              695 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, prs_offset(&hbin->ps)-sizeof(uint32)) )
hbin              697 source3/registry/regfio.c 	start_off = prs_offset( &hbin->ps );
hbin              698 source3/registry/regfio.c 	if ( !prs_uint32( "rec_size", &hbin->ps, depth, &sk->rec_size ))
hbin              717 source3/registry/regfio.c 		TALLOC_CTX *mem_ctx = prs_get_mem_context(&hbin->ps);
hbin              720 source3/registry/regfio.c 		if (MARSHALLING(&hbin->ps)) {
hbin              726 source3/registry/regfio.c 			if (!prs_copy_data_in(&hbin->ps, (const char *)blob.data, blob.length))
hbin              729 source3/registry/regfio.c 			blob = data_blob_const(prs_data_p(&hbin->ps),
hbin              730 source3/registry/regfio.c 					       prs_data_size(&hbin->ps));
hbin              736 source3/registry/regfio.c 			prs_set_offset(&hbin->ps, blob.length);
hbin              740 source3/registry/regfio.c 	end_off = prs_offset( &hbin->ps );
hbin              748 source3/registry/regfio.c 	if ( MARSHALLING(&hbin->ps) )
hbin              749 source3/registry/regfio.c 		hbin->dirty = True;
hbin              757 source3/registry/regfio.c static bool hbin_prs_vk_rec( const char *desc, REGF_HBIN *hbin, int depth, REGF_VK_REC *vk, REGF_FILE *file )
hbin              761 source3/registry/regfio.c 	prs_struct *ps = &hbin->ps;
hbin              769 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, prs_offset(&hbin->ps)-sizeof(uint32)) )
hbin              771 source3/registry/regfio.c 	start_off = prs_offset( &hbin->ps );
hbin              772 source3/registry/regfio.c 	if ( !prs_uint32( "rec_size", &hbin->ps, depth, &vk->rec_size ))
hbin              778 source3/registry/regfio.c 	if ( MARSHALLING(&hbin->ps) )
hbin              800 source3/registry/regfio.c 		if ( UNMARSHALLING(&hbin->ps) ) {
hbin              808 source3/registry/regfio.c 	end_off = prs_offset( &hbin->ps );
hbin              821 source3/registry/regfio.c 			REGF_HBIN *hblock = hbin;
hbin              824 source3/registry/regfio.c 			if ( UNMARSHALLING(&hbin->ps) ) {
hbin              830 source3/registry/regfio.c 			if ( !hbin_contains_offset( hbin, vk->data_off ) ) {
hbin              863 source3/registry/regfio.c 	if ( MARSHALLING(&hbin->ps) )
hbin              864 source3/registry/regfio.c 		hbin->dirty = True;
hbin              874 source3/registry/regfio.c static bool hbin_prs_vk_records( const char *desc, REGF_HBIN *hbin, int depth, REGF_NK_REC *nk, REGF_FILE *file )
hbin              879 source3/registry/regfio.c 	prs_debug(&hbin->ps, depth, desc, "prs_vk_records");
hbin              887 source3/registry/regfio.c 	if ( UNMARSHALLING(&hbin->ps) ) {
hbin              888 source3/registry/regfio.c 		if ( !(nk->values = PRS_ALLOC_MEM( &hbin->ps, REGF_VK_REC, nk->num_values ) ) )
hbin              894 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, nk->values_off+HBIN_HDR_SIZE-hbin->first_hbin_off-sizeof(uint32)) )
hbin              897 source3/registry/regfio.c 	if ( MARSHALLING( &hbin->ps) ) { 
hbin              902 source3/registry/regfio.c 	if ( !prs_uint32( "record_size", &hbin->ps, depth, &record_size ) )
hbin              906 source3/registry/regfio.c 		if ( !prs_uint32( "vk_off", &hbin->ps, depth, &nk->values[i].rec_off ) )
hbin              911 source3/registry/regfio.c 		REGF_HBIN *sub_hbin = hbin;
hbin              914 source3/registry/regfio.c 		if ( !hbin_contains_offset( hbin, nk->values[i].rec_off ) ) {
hbin              930 source3/registry/regfio.c 	if ( MARSHALLING(&hbin->ps) )
hbin              931 source3/registry/regfio.c 		hbin->dirty = True;
hbin              973 source3/registry/regfio.c static bool hbin_prs_key( REGF_FILE *file, REGF_HBIN *hbin, REGF_NK_REC *nk )
hbin              978 source3/registry/regfio.c 	prs_debug(&hbin->ps, depth, "", "fetch_key");
hbin              983 source3/registry/regfio.c 	if ( !prs_nk_rec( "nk_rec", &hbin->ps, depth, nk ))
hbin              989 source3/registry/regfio.c 		sub_hbin = hbin;
hbin              990 source3/registry/regfio.c 		if ( !hbin_contains_offset( hbin, nk->values_off ) ) {
hbin             1006 source3/registry/regfio.c 		sub_hbin = hbin;
hbin             1007 source3/registry/regfio.c 		if ( !hbin_contains_offset( hbin, nk->subkeys_off ) ) {
hbin             1024 source3/registry/regfio.c 		sub_hbin = hbin;
hbin             1025 source3/registry/regfio.c 		if ( !hbin_contains_offset( hbin, nk->sk_off ) ) {
hbin             1052 source3/registry/regfio.c static bool next_record( REGF_HBIN *hbin, const char *hdr, bool *eob )
hbin             1058 source3/registry/regfio.c 	prs_struct *ps = &hbin->ps;
hbin             1078 source3/registry/regfio.c 		if ( !prs_set_offset( &hbin->ps, curr_off) )
hbin             1101 source3/registry/regfio.c 		prs_set_offset( &hbin->ps, prs_data_size(&hbin->ps) );
hbin             1115 source3/registry/regfio.c static bool next_nk_record( REGF_FILE *file, REGF_HBIN *hbin, REGF_NK_REC *nk, bool *eob )
hbin             1117 source3/registry/regfio.c 	if ( next_record( hbin, "nk", eob ) && hbin_prs_key( file, hbin, nk ) )
hbin             1265 source3/registry/regfio.c 			hbin_prs_sk_rec( "sk_rec", sk->hbin, 0, sk );
hbin             1317 source3/registry/regfio.c 	REGF_HBIN *hbin;
hbin             1319 source3/registry/regfio.c 	for ( hbin=file->block_list; hbin; hbin=hbin->next ) {
hbin             1320 source3/registry/regfio.c 		write_hbin_block( file, hbin );
hbin             1332 source3/registry/regfio.c 	REGF_HBIN   *hbin;
hbin             1350 source3/registry/regfio.c 	while ( (hbin = read_hbin_block( file, offset )) ) {
hbin             1354 source3/registry/regfio.c 			if ( next_nk_record( file, hbin, nk, &eob ) ) {
hbin             1360 source3/registry/regfio.c 			prs_mem_free( &hbin->ps );
hbin             1366 source3/registry/regfio.c 		offset += hbin->block_size;
hbin             1374 source3/registry/regfio.c 	DLIST_ADD( file->block_list, hbin );
hbin             1387 source3/registry/regfio.c 	REGF_HBIN   *hbin;
hbin             1397 source3/registry/regfio.c 	if ( !(hbin = lookup_hbin_block( file, nk->subkeys.hashes[nk->subkey_index].nk_off )) ) {
hbin             1404 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, (HBIN_HDR_SIZE + nk_offset - hbin->first_hbin_off) ) )
hbin             1411 source3/registry/regfio.c 	if ( !hbin_prs_key( file, hbin, subkey ) )
hbin             1423 source3/registry/regfio.c 	REGF_HBIN *hbin;
hbin             1426 source3/registry/regfio.c 	if ( !(hbin = TALLOC_ZERO_P( file->mem_ctx, REGF_HBIN )) )
hbin             1429 source3/registry/regfio.c 	memcpy( hbin->header, "hbin", sizeof(HBIN_HDR_SIZE) );
hbin             1437 source3/registry/regfio.c 	hbin->file_off       = sbuf.st_size;
hbin             1439 source3/registry/regfio.c 	hbin->free_off       = HBIN_HEADER_REC_SIZE;
hbin             1440 source3/registry/regfio.c 	hbin->free_size      = block_size - hbin->free_off + sizeof(uint32);;
hbin             1442 source3/registry/regfio.c 	hbin->block_size     = block_size;
hbin             1443 source3/registry/regfio.c 	hbin->first_hbin_off = hbin->file_off - REGF_BLOCKSIZE;
hbin             1445 source3/registry/regfio.c 	if ( !prs_init( &hbin->ps, block_size, file->mem_ctx, MARSHALL ) )
hbin             1448 source3/registry/regfio.c 	if ( !prs_hbin_block( "new_hbin", &hbin->ps, 0, hbin ) )
hbin             1451 source3/registry/regfio.c 	if ( !write_hbin_block( file, hbin ) )
hbin             1454 source3/registry/regfio.c 	file->last_block = hbin->file_off;
hbin             1456 source3/registry/regfio.c 	return hbin;
hbin             1462 source3/registry/regfio.c static void update_free_space( REGF_HBIN *hbin, uint32 size_used )
hbin             1464 source3/registry/regfio.c 	hbin->free_off  += size_used;
hbin             1465 source3/registry/regfio.c 	hbin->free_size -= size_used;
hbin             1467 source3/registry/regfio.c 	if ( hbin->free_off >= hbin->block_size ) {
hbin             1468 source3/registry/regfio.c 		hbin->free_off = REGF_OFFSET_NONE;
hbin             1479 source3/registry/regfio.c 	REGF_HBIN *hbin, *p_hbin;
hbin             1485 source3/registry/regfio.c 	for ( hbin=file->block_list; hbin!=NULL; hbin=hbin->next ) {
hbin             1488 source3/registry/regfio.c 		if ( hbin->free_off == REGF_OFFSET_NONE )
hbin             1493 source3/registry/regfio.c 		if ( (hbin->block_size - hbin->free_off) >= size ) {
hbin             1494 source3/registry/regfio.c 			DLIST_PROMOTE( file->block_list, hbin );
hbin             1506 source3/registry/regfio.c 		if ( hbin )
hbin             1507 source3/registry/regfio.c 			prs_mem_free( &hbin->ps );
hbin             1509 source3/registry/regfio.c 		hbin = read_hbin_block( file, block_off );
hbin             1511 source3/registry/regfio.c 		if ( hbin ) {
hbin             1516 source3/registry/regfio.c 				if ( p_hbin->file_off == hbin->file_off ) {
hbin             1522 source3/registry/regfio.c 			block_off = hbin->file_off + hbin->block_size;
hbin             1525 source3/registry/regfio.c 				prs_mem_free( &hbin->ps );
hbin             1526 source3/registry/regfio.c 				hbin = NULL;
hbin             1531 source3/registry/regfio.c 	} while ( cached || (hbin && (hbin->free_size < size)) );
hbin             1535 source3/registry/regfio.c 	if ( !hbin ) {
hbin             1542 source3/registry/regfio.c 		if ( !(hbin = regf_hbin_allocate( file, alloc_size )) ) {
hbin             1546 source3/registry/regfio.c 		DLIST_ADD( file->block_list, hbin );
hbin             1552 source3/registry/regfio.c 	if ( !prs_set_offset( &hbin->ps, hbin->free_off-sizeof(uint32) ) )
hbin             1559 source3/registry/regfio.c 	if ( !prs_uint32("allocated_size", &hbin->ps, 0, &size) )
hbin             1562 source3/registry/regfio.c 	update_free_space( hbin, size );
hbin             1564 source3/registry/regfio.c 	return hbin;
hbin             1737 source3/registry/regfio.c 	nk->parent_off = parent ? (parent->hbin_off + parent->hbin->file_off - REGF_BLOCKSIZE - HBIN_HDR_SIZE ) : REGF_OFFSET_NONE;
hbin             1753 source3/registry/regfio.c 	if ((nk->hbin = find_free_space( file, size )) == NULL) {
hbin             1756 source3/registry/regfio.c 	nk->hbin_off = prs_offset( &nk->hbin->ps );
hbin             1763 source3/registry/regfio.c 		hash->nk_off = prs_offset( &nk->hbin->ps ) + nk->hbin->first_hbin_off - HBIN_HDR_SIZE;
hbin             1772 source3/registry/regfio.c 		if ( !hbin_prs_lf_records( "lf_rec", parent->subkeys.hbin, 0, parent ) )
hbin             1799 source3/registry/regfio.c 			nk->sec_desc->hbin      = sk_hbin;
hbin             1820 source3/registry/regfio.c 				nk->sec_desc->prev_sk_off = prev->hbin_off + prev->hbin->first_hbin_off - HBIN_HDR_SIZE;
hbin             1848 source3/registry/regfio.c 		if (!(nk->subkeys.hbin = find_free_space( file, lf_size ))) {
hbin             1851 source3/registry/regfio.c 		nk->subkeys.hbin_off = prs_offset( &nk->subkeys.hbin->ps );
hbin             1853 source3/registry/regfio.c 		nk->subkeys_off = prs_offset( &nk->subkeys.hbin->ps ) + nk->subkeys.hbin->first_hbin_off - HBIN_HDR_SIZE;
hbin             1902 source3/registry/regfio.c 			nk->values[i].hbin = find_free_space( file, vk_size );
hbin             1903 source3/registry/regfio.c 			nk->values[i].hbin_off = prs_offset( &nk->values[i].hbin->ps );
hbin             1905 source3/registry/regfio.c 			nk->values[i].rec_off = prs_offset( &nk->values[i].hbin->ps ) 
hbin             1906 source3/registry/regfio.c 				+ nk->values[i].hbin->first_hbin_off 
hbin             1923 source3/registry/regfio.c 	prs_set_offset( &nk->hbin->ps, nk->hbin_off );
hbin             1924 source3/registry/regfio.c 	if ( !prs_nk_rec( "nk_rec", &nk->hbin->ps, 0, nk ) )
hbin              105 source4/lib/registry/regf.c 	struct hbin_block *hbin;
hbin              111 source4/lib/registry/regf.c 	hbin = hbin_by_offset(data, offset, &rel_offset);
hbin              113 source4/lib/registry/regf.c 	if (hbin == NULL) {
hbin              118 source4/lib/registry/regf.c 	ret.length = IVAL(hbin->data, rel_offset);
hbin              128 source4/lib/registry/regf.c 	ret.data = hbin->data +
hbin              129 source4/lib/registry/regf.c 		(offset - hbin->offset_from_first - 0x20) + 4;
hbin              163 source4/lib/registry/regf.c 	struct hbin_block *hbin = NULL;
hbin              179 source4/lib/registry/regf.c 	for (i = 0; (hbin = data->hbins[i]); i++) {
hbin              182 source4/lib/registry/regf.c 		for (j = 0; j < hbin->offset_to_next-0x20; j+= my_size) {
hbin              183 source4/lib/registry/regf.c 			my_size = IVALS(hbin->data, j);
hbin              204 source4/lib/registry/regf.c 				SIVAL(hbin->data, rel_offset+size, my_size-size);
hbin              222 source4/lib/registry/regf.c 		hbin = talloc(data->hbins, struct hbin_block);
hbin              223 source4/lib/registry/regf.c 		SMB_ASSERT(hbin != NULL);
hbin              225 source4/lib/registry/regf.c 		data->hbins[i] = hbin;
hbin              228 source4/lib/registry/regf.c 		hbin->HBIN_ID = talloc_strdup(hbin, "hbin");
hbin              229 source4/lib/registry/regf.c 		hbin->offset_from_first = (i == 0?0:data->hbins[i-1]->offset_from_first+data->hbins[i-1]->offset_to_next);
hbin              230 source4/lib/registry/regf.c 		hbin->offset_to_next = 0x1000;
hbin              231 source4/lib/registry/regf.c 		hbin->unknown[0] = 0;
hbin              232 source4/lib/registry/regf.c 		hbin->unknown[0] = 0;
hbin              233 source4/lib/registry/regf.c 		unix_to_nt_time(&hbin->last_change, time(NULL));
hbin              234 source4/lib/registry/regf.c 		hbin->block_size = hbin->offset_to_next;
hbin              235 source4/lib/registry/regf.c 		hbin->data = talloc_zero_array(hbin, uint8_t, hbin->block_size - 0x20);
hbin              238 source4/lib/registry/regf.c 		SIVAL(hbin->data, size, hbin->block_size - size - 0x20);
hbin              242 source4/lib/registry/regf.c 	SIVAL(hbin->data, rel_offset, -size);
hbin              244 source4/lib/registry/regf.c 	ret.data = hbin->data + rel_offset + 0x4; /* Skip past length */
hbin              248 source4/lib/registry/regf.c 		*offset = hbin->offset_from_first + rel_offset + 0x20;
hbin              249 source4/lib/registry/regf.c 		SMB_ASSERT(hbin_by_offset(data, *offset, &new_rel_offset) == hbin);
hbin              292 source4/lib/registry/regf.c 	struct hbin_block *hbin;
hbin              296 source4/lib/registry/regf.c 	hbin = hbin_by_offset(data, offset, &rel_offset);
hbin              298 source4/lib/registry/regf.c 	if (hbin == NULL)
hbin              302 source4/lib/registry/regf.c 	size = IVALS(hbin->data, rel_offset);
hbin              313 source4/lib/registry/regf.c 	if (rel_offset + size < hbin->offset_to_next) {
hbin              314 source4/lib/registry/regf.c 		next_size = IVALS(hbin->data, rel_offset+size);
hbin              321 source4/lib/registry/regf.c 	SIVALS(hbin->data, rel_offset, size);
hbin              332 source4/lib/registry/regf.c 	struct hbin_block *hbin = hbin_by_offset(data, orig_offset,
hbin              342 source4/lib/registry/regf.c 	if (!hbin)
hbin              346 source4/lib/registry/regf.c 	orig_size = -IVALS(hbin->data, rel_offset);
hbin              353 source4/lib/registry/regf.c 		memcpy(hbin->data + rel_offset + 0x4, blob.data, blob.length);
hbin              357 source4/lib/registry/regf.c 			SIVALS(hbin->data, rel_offset, -needed_size);
hbin              358 source4/lib/registry/regf.c 			SIVALS(hbin->data, rel_offset + needed_size,
hbin              368 source4/lib/registry/regf.c 	for (i = rel_offset; i < hbin->offset_to_next - 0x20; i += my_size) {
hbin              369 source4/lib/registry/regf.c 		if (IVALS(hbin->data, i) < 0) /* Used */
hbin              372 source4/lib/registry/regf.c 		my_size = IVALS(hbin->data, i);
hbin              382 source4/lib/registry/regf.c 			SIVAL(hbin->data, rel_offset, -possible_size);
hbin              383 source4/lib/registry/regf.c 			memcpy(hbin->data + rel_offset + 0x4,
hbin             2113 source4/lib/registry/regf.c 		struct hbin_block *hbin = talloc(regf->hbins,
hbin             2116 source4/lib/registry/regf.c 		W_ERROR_HAVE_NO_MEMORY(hbin);
hbin             2118 source4/lib/registry/regf.c 		if (NT_STATUS_IS_ERR(tdr_pull_hbin_block(pull, hbin, hbin))) {
hbin             2124 source4/lib/registry/regf.c 		if (strcmp(hbin->HBIN_ID, "hbin") != 0) {
hbin             2126 source4/lib/registry/regf.c 				i, hbin->HBIN_ID));
hbin             2131 source4/lib/registry/regf.c 		regf->hbins[i] = hbin;