svn commit: samba r12623 - in branches/SAMBA_4_0/source: build/smb_build librpc librpc/rpc

jelmer at samba.org jelmer at samba.org
Sat Dec 31 00:02:42 GMT 2005


Author: jelmer
Date: 2005-12-31 00:02:41 +0000 (Sat, 31 Dec 2005)
New Revision: 12623

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

Log:
Another round of fixes for the prototypes of tables.c

Modified:
   branches/SAMBA_4_0/source/build/smb_build/TODO
   branches/SAMBA_4_0/source/librpc/config.mk
   branches/SAMBA_4_0/source/librpc/rpc/table.c
   branches/SAMBA_4_0/source/librpc/tables.pl


Changeset:
Modified: branches/SAMBA_4_0/source/build/smb_build/TODO
===================================================================
--- branches/SAMBA_4_0/source/build/smb_build/TODO	2005-12-30 23:18:27 UTC (rev 12622)
+++ branches/SAMBA_4_0/source/build/smb_build/TODO	2005-12-31 00:02:41 UTC (rev 12623)
@@ -4,11 +4,7 @@
 - install Samba-specific headers in $INCLUDEDIR/samba-4.0. talloc.h, tdb.h and 
 	ldb.h belong in $INCLUDEDIR
 - add register function to smbtorture
-- init functions per shared library / binary
- - gensec, com
- - rpc/ndr ??
- - list not automatically generated
- - utility function for 'init mutex'
 - install shared modules
 - improve (un)install scripts (rewrite in perl?)
 - proper #include dependencies
+- determine dependencies from #include lines ?

Modified: branches/SAMBA_4_0/source/librpc/config.mk
===================================================================
--- branches/SAMBA_4_0/source/librpc/config.mk	2005-12-30 23:18:27 UTC (rev 12622)
+++ branches/SAMBA_4_0/source/librpc/config.mk	2005-12-31 00:02:41 UTC (rev 12623)
@@ -302,10 +302,14 @@
 	@$(PERL) librpc/tables.pl --output=librpc/gen_ndr/tables.c \
 									librpc/gen_ndr/ndr_*.h
 
+[SUBSYSTEM::NDR_IFACE_TABLE]
+OBJ_FILES = gen_ndr/tables.o
+NOPROTO = YES
+
 [SUBSYSTEM::NDR_ALL]
-OBJ_FILES = rpc/table.o gen_ndr/tables.o
+OBJ_FILES = rpc/table.o 
 PRIVATE_PROTO_HEADER = rpc/dcerpc_table.h
-REQUIRED_SUBSYSTEMS = NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
+REQUIRED_SUBSYSTEMS = NDR_IFACE_TABLE NDR_AUDIOSRV NDR_ECHO NDR_DCERPC NDR_EXCHANGE \
 	NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA NDR_DFS NDR_DRSUAPI \
 	NDR_POLICYAGENT NDR_UNIXINFO NDR_SAMR NDR_SPOOLSS NDR_WKSSVC NDR_SRVSVC NDR_ATSVC \
 	NDR_EVENTLOG NDR_EPMAPPER NDR_DBGIDL NDR_DSSETUP NDR_MSGSVC NDR_WINS \

Modified: branches/SAMBA_4_0/source/librpc/rpc/table.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/rpc/table.c	2005-12-30 23:18:27 UTC (rev 12622)
+++ branches/SAMBA_4_0/source/librpc/rpc/table.c	2005-12-31 00:02:41 UTC (rev 12623)
@@ -119,3 +119,16 @@
 }
 
 
+NTSTATUS dcerpc_register_builtin_interfaces();
+
+NTSTATUS dcerpc_table_init(void)
+{
+	static BOOL initialized = False;
+
+	if (initialized) return NT_STATUS_OK;
+	initialized = True;
+
+	dcerpc_register_builtin_interfaces();
+
+	return NT_STATUS_OK;
+}

Modified: branches/SAMBA_4_0/source/librpc/tables.pl
===================================================================
--- branches/SAMBA_4_0/source/librpc/tables.pl	2005-12-30 23:18:27 UTC (rev 12622)
+++ branches/SAMBA_4_0/source/librpc/tables.pl	2005-12-31 00:02:41 UTC (rev 12623)
@@ -55,7 +55,8 @@
 	while (my $line = <FILE>) {
 		if ($line =~ /extern const struct dcerpc_interface_table (\w+);/) {
 			$found = 1;
-			$init_fns.="\tlibrpc_register_interface(&$1);\n";
+			$init_fns.="\tstatus = librpc_register_interface(&$1);\n";
+			$init_fns.="\tif (NT_STATUS_IS_ERR(status)) return status;\n\n";
 		}
 	}
 
@@ -81,13 +82,10 @@
 
 print TABLEC <<EOF;
 
-NTSTATUS dcerpc_table_init(void)
+NTSTATUS dcerpc_register_builtin_interfaces(void)
 {
-	static BOOL initialized = False;
+	NTSTATUS status;
 
-	if (initialized) return NT_STATUS_OK;
-	initialized = True;
-
 $init_fns
 	
 	return NT_STATUS_OK;



More information about the samba-cvs mailing list