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;