vk 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 )
vk 772 source3/registry/regfio.c if ( !prs_uint32( "rec_size", &hbin->ps, depth, &vk->rec_size ))
vk 775 source3/registry/regfio.c if ( !prs_uint8s( True, "header", ps, depth, (uint8*)vk->header, sizeof( vk->header )) )
vk 779 source3/registry/regfio.c name_length = strlen(vk->valuename);
vk 783 source3/registry/regfio.c if ( !prs_uint32( "data_size", ps, depth, &vk->data_size ))
vk 785 source3/registry/regfio.c if ( !prs_uint32( "data_off", ps, depth, &vk->data_off ))
vk 787 source3/registry/regfio.c if ( !prs_uint32( "type", ps, depth, &vk->type))
vk 789 source3/registry/regfio.c if ( !prs_uint16( "flag", ps, depth, &vk->flag))
vk 798 source3/registry/regfio.c if ( vk->flag&VK_FLAG_NAME_PRESENT ) {
vk 801 source3/registry/regfio.c if ( !(vk->valuename = PRS_ALLOC_MEM( ps, char, name_length+1 )))
vk 804 source3/registry/regfio.c if ( !prs_uint8s( True, "name", ps, depth, (uint8*)vk->valuename, name_length ) )
vk 812 source3/registry/regfio.c if ( vk->data_size != 0 ) {
vk 815 source3/registry/regfio.c if ( (vk->type == REG_SZ) || (vk->type == REG_MULTI_SZ) )
vk 820 source3/registry/regfio.c if ( !(vk->data_size & VK_DATA_IN_OFFSET) ) {
vk 825 source3/registry/regfio.c if ( !(vk->data = PRS_ALLOC_MEM( ps, uint8, vk->data_size) ) )
vk 830 source3/registry/regfio.c if ( !hbin_contains_offset( hbin, vk->data_off ) ) {
vk 831 source3/registry/regfio.c if ( !(hblock = lookup_hbin_block( file, vk->data_off )) )
vk 834 source3/registry/regfio.c if ( !(prs_set_offset( &hblock->ps, (vk->data_off+HBIN_HDR_SIZE-hblock->first_hbin_off)-sizeof(uint32) )) )
vk 838 source3/registry/regfio.c data_rec_size = ( (vk->data_size+sizeof(uint32)) & 0xfffffff8 ) + 8;
vk 843 source3/registry/regfio.c if ( !prs_uint8s( charmode, "data", &hblock->ps, depth, vk->data, vk->data_size) )
vk 850 source3/registry/regfio.c if ( !(vk->data = PRS_ALLOC_MEM( ps, uint8, 4 ) ) )
vk 852 source3/registry/regfio.c SIVAL( vk->data, 0, vk->data_off );
vk 860 source3/registry/regfio.c if ( data_size != vk->rec_size )
vk 861 source3/registry/regfio.c DEBUG(10,("prs_vk_rec: data_size check failed (0x%x < 0x%x)\n", data_size, vk->rec_size));
vk 1591 source3/registry/regfio.c static uint32 vk_record_data_size( REGF_VK_REC *vk )
vk 1601 source3/registry/regfio.c if ( vk->valuename )
vk 1602 source3/registry/regfio.c size += strlen(vk->valuename);
vk 1660 source3/registry/regfio.c static bool create_vk_record( REGF_FILE *file, REGF_VK_REC *vk, REGISTRY_VALUE *value )
vk 1665 source3/registry/regfio.c ZERO_STRUCTP( vk );
vk 1667 source3/registry/regfio.c memcpy( vk->header, "vk", REC_HDR_SIZE );
vk 1670 source3/registry/regfio.c vk->valuename = talloc_strdup( file->mem_ctx, regval_name(value) );
vk 1671 source3/registry/regfio.c vk->flag = VK_FLAG_NAME_PRESENT;
vk 1674 source3/registry/regfio.c vk->data_size = regval_size( value );
vk 1675 source3/registry/regfio.c vk->type = regval_type( value );
vk 1677 source3/registry/regfio.c if ( vk->data_size > sizeof(uint32) ) {
vk 1678 source3/registry/regfio.c uint32 data_size = ( (vk->data_size+sizeof(uint32)) & 0xfffffff8 ) + 8;
vk 1680 source3/registry/regfio.c vk->data = (uint8 *)TALLOC_MEMDUP( file->mem_ctx,
vk 1682 source3/registry/regfio.c vk->data_size );
vk 1683 source3/registry/regfio.c if (vk->data == NULL) {
vk 1693 source3/registry/regfio.c vk->data_off = prs_offset( &data_hbin->ps ) + data_hbin->first_hbin_off - HBIN_HDR_SIZE;
vk 1698 source3/registry/regfio.c if ( vk->data_size != 0 )
vk 1699 source3/registry/regfio.c memcpy( &vk->data_off, regval_data_p(value), sizeof(uint32) );
vk 1700 source3/registry/regfio.c vk->data_size |= VK_DATA_IN_OFFSET;
vk 507 source4/lib/registry/regf.c struct vk_block *vk;
vk 527 source4/lib/registry/regf.c vk = talloc(NULL, struct vk_block);
vk 528 source4/lib/registry/regf.c W_ERROR_HAVE_NO_MEMORY(vk);
vk 530 source4/lib/registry/regf.c if (!hbin_get_tdr(regf, vk_offset, vk,
vk 531 source4/lib/registry/regf.c (tdr_pull_fn_t)tdr_pull_vk_block, vk)) {
vk 533 source4/lib/registry/regf.c talloc_free(vk);
vk 539 source4/lib/registry/regf.c *name = talloc_strndup(ctx, vk->data_name, vk->name_length);
vk 542 source4/lib/registry/regf.c *data_type = vk->data_type;
vk 544 source4/lib/registry/regf.c if (vk->data_length & 0x80000000) {
vk 545 source4/lib/registry/regf.c vk->data_length &=~0x80000000;
vk 546 source4/lib/registry/regf.c data->data = (uint8_t *)talloc_memdup(ctx, (uint8_t *)&vk->data_offset, vk->data_length);
vk 547 source4/lib/registry/regf.c data->length = vk->data_length;
vk 549 source4/lib/registry/regf.c *data = hbin_get(regf, vk->data_offset);
vk 552 source4/lib/registry/regf.c if (data->length < vk->data_length) {
vk 556 source4/lib/registry/regf.c talloc_free(vk);
vk 1545 source4/lib/registry/regf.c struct vk_block vk;
vk 1564 source4/lib/registry/regf.c &vk)) {
vk 1569 source4/lib/registry/regf.c if (strcmp(vk.data_name, name) == 0) {
vk 1763 source4/lib/registry/regf.c struct vk_block vk;
vk 1768 source4/lib/registry/regf.c ZERO_STRUCT(vk);
vk 1778 source4/lib/registry/regf.c &vk)) {
vk 1783 source4/lib/registry/regf.c if (strcmp(vk.data_name, name) == 0) {
vk 1789 source4/lib/registry/regf.c if (!(vk.data_length & 0x80000000)) {
vk 1790 source4/lib/registry/regf.c hbin_free(regf, vk.data_offset);
vk 1794 source4/lib/registry/regf.c vk.header = "vk";
vk 1795 source4/lib/registry/regf.c vk.name_length = strlen(name);
vk 1797 source4/lib/registry/regf.c vk.flag = 1;
vk 1798 source4/lib/registry/regf.c vk.data_name = name;
vk 1800 source4/lib/registry/regf.c vk.data_name = NULL;
vk 1801 source4/lib/registry/regf.c vk.flag = 0;
vk 1805 source4/lib/registry/regf.c vk.data_length = data.length;
vk 1806 source4/lib/registry/regf.c vk.data_type = type;
vk 1808 source4/lib/registry/regf.c vk.data_length |= 0x80000000;
vk 1809 source4/lib/registry/regf.c vk.data_offset = *(uint32_t *)data.data;
vk 1812 source4/lib/registry/regf.c vk.data_offset = hbin_store(regf, data);
vk 1818 source4/lib/registry/regf.c &vk);
vk 1823 source4/lib/registry/regf.c old_vk_offset ,&vk);