svn commit: samba r24193 - in branches/4.0-regwrite: . source/lib/registry

jelmer at samba.org jelmer at samba.org
Sat Aug 4 13:16:35 GMT 2007


Author: jelmer
Date: 2007-08-04 13:16:33 +0000 (Sat, 04 Aug 2007)
New Revision: 24193

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24193

Log:
Some more work towards fixing the build.
Modified:
   branches/4.0-regwrite/
   branches/4.0-regwrite/.bzrignore
   branches/4.0-regwrite/source/lib/registry/creg.c
   branches/4.0-regwrite/source/lib/registry/dir.c
   branches/4.0-regwrite/source/lib/registry/ldb.c
   branches/4.0-regwrite/source/lib/registry/rpc.c


Changeset:

Property changes on: branches/4.0-regwrite
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: Thu 2007-02-08 18:18:35.105000019 +0100
committer: Jelmer Vernooij <jelmer at samba.org>
properties: 
	branch-nick: 4.0-regwrite
	rebase-of: jelmer at samba.org-20070208171835-589fvhzi1hilvnan

   + timestamp: Sat 2007-02-10 16:02:22.318000078 +0100
committer: Jelmer Vernooij <jelmer at samba.org>
properties: 
	branch-nick: 4.0-regwrite
	rebase-of: jelmer at samba.org-20070210150222-mpmii8ak5w25btqc

Name: bzr:file-ids
   - source/lib/registry/ldb.c	4132 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818:branches%2FSAMBA_4_0:source%2Flib%2Fregistry%2Freg_backend_ldb.c
source/lib/registry/creg.c	4132 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818:branches%2FSAMBA_4_0:source%2Flib%2Fregistry%2Freg_backend_w95.c
source/lib/registry/regf.c	4132 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818:branches%2FSAMBA_4_0:source%2Flib%2Fregistry%2Freg_backend_nt4.c
source/lib/registry/dir.c	4132 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818:branches%2FSAMBA_4_0:source%2Flib%2Fregistry%2Freg_backend_dir.c
source/lib/registry/wine.c	4132 at 0c0555d6-39d7-0310-84fc-f1cc0bd64818:branches%2FSAMBA_4_0:source%2Flib%2Fregistry%2Freg_backend_wine.c

   + 
Name: bzr:revision-id:v3-trunk0
   - 11140 jelmer at samba.org-20070113195019-yrx40nap220myng0-svn3-upgrade
11142 jelmer at samba.org-20070113195431-nshumfy5z00cpnaj-svn3-upgrade
11143 jelmer at samba.org-20070113195555-am0swaxzsoxp05p0-svn3-upgrade
11144 wilco at baanhofman.nl-20070114042604-b7pwqobkrbmlbp8p-svn3-upgrade
11145 wilco at baanhofman.nl-20070114042644-fa3gbnlhall7nkry-svn3-upgrade
11146 wilco at baanhofman.nl-20070114042712-7ueqyvk12ki1frc5-svn3-upgrade
11147 wilco at baanhofman.nl-20070114042737-pwu8etpcs7lmwsms-svn3-upgrade
11148 wilco at baanhofman.nl-20070114043501-7g3vsn55rrr643z6-svn3-upgrade
11149 wilco at baanhofman.nl-20070114061526-fpg1tdt07virwgdk-svn3-upgrade
11150 wilco at baanhofman.nl-20070114133602-npguwp5mbuki5qlp-svn3-upgrade
11151 wilco at baanhofman.nl-20070114134318-79ylyc0gzh43xhqi-svn3-upgrade
11152 wilco at baanhofman.nl-20070114151541-6adzkudwihn30k9j-svn3-upgrade
11153 wilco at baanhofman.nl-20070114152236-z6iel538oen6t8g5-svn3-upgrade
11154 jelmer at samba.org-20070115165838-maz3nw52ijbba8rk-svn3-upgrade
11155 jelmer at samba.org-20070115170435-ert8ib689dhntd4p-svn3-upgrade
11156 jelmer at samba.org-20070115235410-krfav3ng4in38pkx-svn3-upgrade
11157 jelmer at samba.org-20070116222757-087aafuwkwfw4267-svn3-upgrade
11158 jelmer at samba.org-20070117013853-mfuqd1o46k44pk2d-svn3-upgrade
11159 jelmer at samba.org-20070117022606-q54g08ss30u86c5c-svn3-upgrade
11160 jelmer at samba.org-20070124130019-zt6jr00m7df9ur0m-svn3-upgrade
11161 jelmer at samba.org-20070124131946-1yxj4h6b092i8fwd-svn3-upgrade
11162 jelmer at samba.org-20070207151808-znhiwyn0cbnuah7z-svn3-upgrade
11163 jelmer at samba.org-20070208155904-yfb5n63xvx2w0kzz-svn3-upgrade
11164 jelmer at samba.org-20070208161920-v3bjwnhfqy4f6j6y-svn3-upgrade
11165 jelmer at samba.org-20070208171835-589fvhzi1hilvnan-svn3-upgrade

   + 11140 jelmer at samba.org-20070113195019-yrx40nap220myng0-svn3-upgrade
11142 jelmer at samba.org-20070113195431-nshumfy5z00cpnaj-svn3-upgrade
11143 jelmer at samba.org-20070113195555-am0swaxzsoxp05p0-svn3-upgrade
11144 wilco at baanhofman.nl-20070114042604-b7pwqobkrbmlbp8p-svn3-upgrade
11145 wilco at baanhofman.nl-20070114042644-fa3gbnlhall7nkry-svn3-upgrade
11146 wilco at baanhofman.nl-20070114042712-7ueqyvk12ki1frc5-svn3-upgrade
11147 wilco at baanhofman.nl-20070114042737-pwu8etpcs7lmwsms-svn3-upgrade
11148 wilco at baanhofman.nl-20070114043501-7g3vsn55rrr643z6-svn3-upgrade
11149 wilco at baanhofman.nl-20070114061526-fpg1tdt07virwgdk-svn3-upgrade
11150 wilco at baanhofman.nl-20070114133602-npguwp5mbuki5qlp-svn3-upgrade
11151 wilco at baanhofman.nl-20070114134318-79ylyc0gzh43xhqi-svn3-upgrade
11152 wilco at baanhofman.nl-20070114151541-6adzkudwihn30k9j-svn3-upgrade
11153 wilco at baanhofman.nl-20070114152236-z6iel538oen6t8g5-svn3-upgrade
11154 jelmer at samba.org-20070115165838-maz3nw52ijbba8rk-svn3-upgrade
11155 jelmer at samba.org-20070115170435-ert8ib689dhntd4p-svn3-upgrade
11156 jelmer at samba.org-20070115235410-krfav3ng4in38pkx-svn3-upgrade
11157 jelmer at samba.org-20070116222757-087aafuwkwfw4267-svn3-upgrade
11158 jelmer at samba.org-20070117013853-mfuqd1o46k44pk2d-svn3-upgrade
11159 jelmer at samba.org-20070117022606-q54g08ss30u86c5c-svn3-upgrade
11160 jelmer at samba.org-20070124130019-zt6jr00m7df9ur0m-svn3-upgrade
11161 jelmer at samba.org-20070124131946-1yxj4h6b092i8fwd-svn3-upgrade
11162 jelmer at samba.org-20070207151808-znhiwyn0cbnuah7z-svn3-upgrade
11163 jelmer at samba.org-20070208155904-yfb5n63xvx2w0kzz-svn3-upgrade
11164 jelmer at samba.org-20070208161920-v3bjwnhfqy4f6j6y-svn3-upgrade
11165 jelmer at samba.org-20070208171835-589fvhzi1hilvnan-svn3-upgrade
11166 jelmer at samba.org-20070210150222-mpmii8ak5w25btqc-svn3-upgrade


Modified: branches/4.0-regwrite/.bzrignore
===================================================================
--- branches/4.0-regwrite/.bzrignore	2007-08-04 13:16:25 UTC (rev 24192)
+++ branches/4.0-regwrite/.bzrignore	2007-08-04 13:16:33 UTC (rev 24193)
@@ -172,3 +172,4 @@
 source/st
 source/samba.info
 source/pidl/cover_db
+source/lib/registry/apidocs

Modified: branches/4.0-regwrite/source/lib/registry/creg.c
===================================================================
--- branches/4.0-regwrite/source/lib/registry/creg.c	2007-08-04 13:16:25 UTC (rev 24192)
+++ branches/4.0-regwrite/source/lib/registry/creg.c	2007-08-04 13:16:33 UTC (rev 24193)
@@ -83,7 +83,6 @@
 	REG_ID id;
 } RGKN_KEY;
 
-
 typedef struct rgdb_block {
 	DWORD RGDB_ID;		/* RGDB */
 	DWORD size;
@@ -123,6 +122,11 @@
 	RGDB_KEY ***rgdb_keys;
 } CREG;
 
+struct creg_key_data {
+	RGKN_KEY *data;
+	CREG *hive;
+};
+
 #if 0 /* unused */
 #define RGKN_START_SIZE 0x2000
 #define RGKN_INC_SIZE   0x1000
@@ -183,16 +187,15 @@
 	}
 }
 
-WERROR reg_open_creg_file(const char *location, struct registry_key **root)
+WERROR reg_open_creg_file(TALLOC_CTX *parent_ctx, const char *location, struct registry_key **root)
 {
 	CREG *creg;
 	DWORD creg_id, rgkn_id;
 	DWORD i;
 	DWORD offset;
 
-	creg = talloc(h, CREG);
+	creg = talloc(parent_ctx, CREG);
 	memset(creg, 0, sizeof(CREG));
-	h->backend_data = creg;
 
 	if((creg->fd = open(location, O_RDONLY, 0000)) < 0) {
 		return WERR_FOOBAR;
@@ -205,7 +208,7 @@
     creg->base = mmap(0, creg->sbuf.st_size, PROT_READ, MAP_SHARED, creg->fd, 0);
                                                                                                                                               
     if (creg->base == (void *)-1) {
-		DEBUG(0,("Could not mmap file: %s, %s\n", h->location, strerror(errno)));
+		DEBUG(0,("Could not mmap file: %s, %s\n", location, strerror(errno)));
         return WERR_FOOBAR;
     }
 
@@ -213,7 +216,7 @@
 
 	if ((creg_id = IVAL(&creg->creg_hdr->CREG_ID,0)) != str_to_dword("CREG")) {
 		DEBUG(0, ("Unrecognized Windows 95 registry header id: 0x%0X, %s\n", 
-				  creg_id, h->location));
+				  creg_id, location));
 		return WERR_FOOBAR;
 	}
 
@@ -221,7 +224,7 @@
 
 	if ((rgkn_id = IVAL(&creg->rgkn_hdr->RGKN_ID,0)) != str_to_dword("RGKN")) {
 		DEBUG(0, ("Unrecognized Windows 95 registry key index id: 0x%0X, %s\n", 
-				  rgkn_id, h->location));
+				  rgkn_id, location));
 		return WERR_FOOBAR;
 	}
 
@@ -237,7 +240,7 @@
 	}
 #endif
 
-	creg->rgdb_keys = talloc_array(h, RGDB_KEY **, creg->creg_hdr->num_rgdb);
+	creg->rgdb_keys = talloc_array(parent_ctx, RGDB_KEY **, creg->creg_hdr->num_rgdb);
 
 	offset = 0;
 	DEBUG(3, ("Reading %d rgdb entries\n", creg->creg_hdr->num_rgdb));
@@ -246,14 +249,14 @@
 		
 		if(strncmp((char *)&(rgdb_hdr->RGDB_ID), "RGDB", 4)) {
 			DEBUG(0, ("unrecognized rgdb entry: %4d, %s\n", 
-					  rgdb_hdr->RGDB_ID, h->location));
+					  rgdb_hdr->RGDB_ID, location));
 			return WERR_FOOBAR;
 		} else {
 			DEBUG(3, ("Valid rgdb entry, first free id: %d, max id: %d\n", rgdb_hdr->first_free_id, rgdb_hdr->max_id));
 		}
 
 
-		creg->rgdb_keys[i] = talloc_array(h, RGDB_KEY *, rgdb_hdr->max_id+1);
+		creg->rgdb_keys[i] = talloc_array(creg, RGDB_KEY *, rgdb_hdr->max_id+1);
 		memset(creg->rgdb_keys[i], 0, sizeof(RGDB_KEY *) * (rgdb_hdr->max_id+1));
 
 		parse_rgdb_block(creg, rgdb_hdr);
@@ -262,9 +265,10 @@
 	}
 	
 	/* First element in rgkn should be root key */
-	*root = talloc(h, struct registry_key);
+	*root = talloc(parent_ctx, struct registry_key);
 	(*root)->name = NULL;
 	(*root)->backend_data = LOCN_RGKN(creg, sizeof(RGKN_HDR));
+	/* FIXME: attach creg to key */
 	
 	return WERR_OK;
 }
@@ -272,7 +276,8 @@
 static WERROR creg_get_subkey_by_index (TALLOC_CTX *mem_ctx, const struct registry_key *parent, int n, struct registry_key **key)
 {
 	CREG *creg = parent->hive->backend_data;
-	RGKN_KEY *rgkn_key = parent->backend_data;
+	struct creg_key_data *private_data = parent->backend_data;
+	RGKN_KEY *rgkn_key = private_data->data;
 	RGKN_KEY *child;
 	DWORD child_offset;
 	DWORD cur = 0;
@@ -343,7 +348,7 @@
 	return WERR_OK;
 }
 
-static struct hive_operations reg_backend_creg = {
+static struct reg_key_operations reg_backend_creg = {
 	.name = "creg",
 	.get_value_by_index = creg_get_value_by_id,
 	.num_values = creg_num_values,

Modified: branches/4.0-regwrite/source/lib/registry/dir.c
===================================================================
--- branches/4.0-regwrite/source/lib/registry/dir.c	2007-08-04 13:16:25 UTC (rev 24192)
+++ branches/4.0-regwrite/source/lib/registry/dir.c	2007-08-04 13:16:33 UTC (rev 24193)
@@ -118,16 +118,17 @@
 	return WERR_NO_MORE_ITEMS;
 }
 
-WERROR reg_open_directory(const char *location, struct registry_key **key)
+WERROR reg_open_directory(TALLOC_CTX *parent_ctx, 
+						  const char *location, struct registry_key **key)
 {
-	if(!h->location) return WERR_INVALID_PARAM;
+	if(!location) return WERR_INVALID_PARAM;
 
 	*key = talloc(h, struct registry_key);
 	(*key)->backend_data = talloc_strdup(*key, location);
 	return WERR_OK;
 }
 
-static struct hive_operations reg_backend_dir = {
+static struct reg_key_operations reg_backend_dir = {
 	.name = "dir",
 	.open_key = reg_dir_open_key,
 	.add_key = reg_dir_add_key,

Modified: branches/4.0-regwrite/source/lib/registry/ldb.c
===================================================================
--- branches/4.0-regwrite/source/lib/registry/ldb.c	2007-08-04 13:16:25 UTC (rev 24192)
+++ branches/4.0-regwrite/source/lib/registry/ldb.c	2007-08-04 13:16:33 UTC (rev 24193)
@@ -391,7 +391,7 @@
 	return WERR_OK;
 }
 
-static struct hive_operations reg_backend_ldb = {
+static struct reg_key_operations reg_backend_ldb = {
 	.name = "ldb",
 	.add_key = ldb_add_key,
 	.del_key = ldb_del_key,

Modified: branches/4.0-regwrite/source/lib/registry/rpc.c
===================================================================
--- branches/4.0-regwrite/source/lib/registry/rpc.c	2007-08-04 13:16:25 UTC (rev 24192)
+++ branches/4.0-regwrite/source/lib/registry/rpc.c	2007-08-04 13:16:33 UTC (rev 24193)
@@ -346,7 +346,7 @@
 	return WERR_OK;
 }
 
-static struct hive_operations reg_backend_rpc = {
+static struct reg_key_operations reg_backend_rpc = {
 	.name = "rpc",
 	.open_key = rpc_open_key,
 	.get_subkey_by_index = rpc_get_subkey_by_index,



More information about the samba-cvs mailing list