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);