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;