r24606: move librpc/rpc/table.c -> librpc/ndr/ndr_table.c
authorStefan Metzmacher <metze@samba.org>
Tue, 21 Aug 2007 19:35:43 +0000 (19:35 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 20:02:23 +0000 (15:02 -0500)
and rename the containing functions to have a ndr_
prefix

metze
(This used to be commit cb234d43ae693af5d8a921a15c9bcac3c6f0359a)

12 files changed:
source4/librpc/config.mk
source4/librpc/ndr/ndr_table.c [moved from source4/librpc/rpc/table.c with 66% similarity]
source4/librpc/tables.pl
source4/librpc/tools/ndrdump.c
source4/rpc_server/remote/dcesrv_remote.c
source4/scripting/ejs/smbcalls_rpc.c
source4/torture/rpc/autoidl.c
source4/torture/rpc/countcalls.c
source4/torture/rpc/epmapper.c
source4/torture/rpc/mgmt.c
source4/torture/rpc/rpc.c
source4/torture/rpc/scanner.c

index 5cec7e1f676cef1d3197e2922e4ea9f48cbd1136..01f7b80490942fa559fa767e497c1d1d112d1ecf 100644 (file)
@@ -287,8 +287,8 @@ librpc/gen_ndr/tables.c: $(IDL_NDR_PARSE_H_FILES)
        mv librpc/gen_ndr/tables.x librpc/gen_ndr/tables.c
 
 [SUBSYSTEM::NDR_TABLE]
-OBJ_FILES = rpc/table.o gen_ndr/tables.o
-PRIVATE_PROTO_HEADER = rpc/dcerpc_table.h
+OBJ_FILES = ndr/ndr_table.o gen_ndr/tables.o
+PRIVATE_PROTO_HEADER = ndr/ndr_table.h
 PUBLIC_DEPENDENCIES = \
        NDR_AUDIOSRV NDR_ECHO NDR_DCERPC \
        NDR_DSBACKUP NDR_EFS NDR_MISC NDR_LSA NDR_DFS NDR_DRSUAPI \
similarity index 66%
rename from source4/librpc/rpc/table.c
rename to source4/librpc/ndr/ndr_table.c
index eddc6c4a209a42e5d755b77c746604d4b7181154..9b43f8836d1b50e85d85a233d1d4351075cc6e48 100644 (file)
 
 #include "includes.h"
 #include "lib/util/dlinklist.h"
-#include "librpc/rpc/dcerpc.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/libndr.h"
+#include "librpc/ndr/ndr_table.h"
 
-struct ndr_interface_list *dcerpc_pipes = NULL;
+static struct ndr_interface_list *ndr_interfaces;
 
 /*
-  register a dcerpc client interface
+  register a ndr interface table
 */
-NTSTATUS librpc_register_interface(const struct ndr_interface_table *interface)
+NTSTATUS ndr_table_register(const struct ndr_interface_table *table)
 {
        struct ndr_interface_list *l;
 
-       for (l = dcerpc_pipes; l; l = l->next) {
-               if (GUID_equal(&interface->syntax_id.uuid, &l->table->syntax_id.uuid)) {
+       for (l = ndr_interfaces; l; l = l->next) {
+               if (GUID_equal(&table->syntax_id.uuid, &l->table->syntax_id.uuid)) {
                        DEBUG(0, ("Attempt to register interface %s which has the "
-                                         "same UUID as already registered interface %s\n", 
-                                         interface->name, l->table->name));
+                                 "same UUID as already registered interface %s\n", 
+                                 table->name, l->table->name));
                        return NT_STATUS_OBJECT_NAME_COLLISION;
                }
        }
-               
+
        l = talloc(talloc_autofree_context(), struct ndr_interface_list);
-       l->table = interface;
+       l->table = table;
+
+       DLIST_ADD(ndr_interfaces, l);
 
-       DLIST_ADD(dcerpc_pipes, l);
-       
        return NT_STATUS_OK;
 }
 
 /*
   find the pipe name for a local IDL interface
 */
-const char *idl_pipe_name(const struct GUID *uuid, uint32_t if_version)
+const char *ndr_interface_name(const struct GUID *uuid, uint32_t if_version)
 {
        const struct ndr_interface_list *l;
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {
+       for (l=ndr_table_list();l;l=l->next) {
                if (GUID_equal(&l->table->syntax_id.uuid, uuid) &&
                    l->table->syntax_id.if_version == if_version) {
                        return l->table->name;
@@ -69,10 +69,10 @@ const char *idl_pipe_name(const struct GUID *uuid, uint32_t if_version)
 /*
   find the number of calls defined by local IDL
 */
-int idl_num_calls(const struct GUID *uuid, uint32_t if_version)
+int ndr_interface_num_calls(const struct GUID *uuid, uint32_t if_version)
 {
        const struct ndr_interface_list *l;
-       for (l=librpc_dcerpc_pipes();l;l=l->next){
+       for (l=ndr_interfaces;l;l=l->next){
                if (GUID_equal(&l->table->syntax_id.uuid, uuid) &&
                    l->table->syntax_id.if_version == if_version) {
                        return l->table->num_calls;
@@ -85,10 +85,10 @@ int idl_num_calls(const struct GUID *uuid, uint32_t if_version)
 /*
   find a dcerpc interface by name
 */
-const struct ndr_interface_table *idl_iface_by_name(const char *name)
+const struct ndr_interface_table *ndr_table_by_name(const char *name)
 {
        const struct ndr_interface_list *l;
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {
+       for (l=ndr_interfaces;l;l=l->next) {
                if (strcasecmp(l->table->name, name) == 0) {
                        return l->table;
                }
@@ -99,10 +99,10 @@ const struct ndr_interface_table *idl_iface_by_name(const char *name)
 /*
   find a dcerpc interface by uuid
 */
-const struct ndr_interface_table *idl_iface_by_uuid(const struct GUID *uuid)
+const struct ndr_interface_table *ndr_table_by_uuid(const struct GUID *uuid)
 {
        const struct ndr_interface_list *l;
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {
+       for (l=ndr_interfaces;l;l=l->next) {
                if (GUID_equal(&l->table->syntax_id.uuid, uuid)) {
                        return l->table;
                }
@@ -113,13 +113,13 @@ const struct ndr_interface_table *idl_iface_by_uuid(const struct GUID *uuid)
 /*
   return the list of registered dcerpc_pipes
 */
-const struct ndr_interface_list *librpc_dcerpc_pipes(void)
+const struct ndr_interface_list *ndr_table_list(void)
 {
-       return dcerpc_pipes;
+       return ndr_interfaces;
 }
 
 
-NTSTATUS dcerpc_register_builtin_interfaces(void);
+NTSTATUS ndr_table_register_builtin_tables(void);
 
 NTSTATUS ndr_table_init(void)
 {
@@ -128,7 +128,7 @@ NTSTATUS ndr_table_init(void)
        if (initialized) return NT_STATUS_OK;
        initialized = True;
 
-       dcerpc_register_builtin_interfaces();
+       ndr_table_register_builtin_tables();
 
        return NT_STATUS_OK;
 }
index 946159c6f0f23b377bd9c5f31001dd69a6eb4ce0..04764f5fa0bfe101fb9ef50c4b882f3595eb968c 100644 (file)
@@ -20,7 +20,7 @@ my $opt_help  = 0;
 sub ShowHelp()
 {
     print "
-           perl DCE/RPC interface table generator
+           perl NDR interface table generator
            Copyright (C) tridge\@samba.org
 
            Usage: tables.pl [options] <idlfile>
@@ -53,7 +53,7 @@ sub process_file($)
        while (my $line = <FILE>) {
                if ($line =~ /extern const struct ndr_interface_table (\w+);/) {
                        $found = 1;
-                       $init_fns.="\tstatus = librpc_register_interface(&$1);\n";
+                       $init_fns.="\tstatus = ndr_table_register(&$1);\n";
                        $init_fns.="\tif (NT_STATUS_IS_ERR(status)) return status;\n\n";
                }
        }
@@ -70,15 +70,15 @@ print <<EOF;
 /* Automatically generated by tables.pl. DO NOT EDIT */
 
 #include "includes.h"
-#include "librpc/rpc/dcerpc.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/libndr.h"
+#include "librpc/ndr/ndr_table.h"
 EOF
 
 process_file($_) foreach (@ARGV);
 
 print <<EOF;
 
-NTSTATUS dcerpc_register_builtin_interfaces(void)
+NTSTATUS ndr_table_register_builtin_tables(void)
 {
        NTSTATUS status;
 
index 2e57e882d6691ded7ff7ef82c6fe0e737c34a2a6..4b840fed5a4d1e577d4848a9f0898c12262ea3a7 100644 (file)
@@ -23,8 +23,8 @@
 #include "lib/cmdline/popt_common.h"
 #include "system/filesys.h"
 #include "system/locale.h"
-#include "librpc/rpc/dcerpc.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/libndr.h"
+#include "librpc/ndr/ndr_table.h"
 #endif
 
 static const struct ndr_interface_call *find_function(
@@ -55,7 +55,7 @@ static void show_pipes(void)
        const struct ndr_interface_list *l;
        printf("\nYou must specify a pipe\n");
        printf("known pipes are:\n");
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {
+       for (l=ndr_table_list();l;l=l->next) {
                if(l->table->helpstring) {
                        printf("\t%s - %s\n", l->table->name, l->table->helpstring);
                } else {
@@ -218,7 +218,7 @@ const struct ndr_interface_table *load_iface_from_plugin(const char *plugin, con
        }
 #else
        if (!p) {
-               p = idl_iface_by_name(pipe_name);
+               p = ndr_table_by_name(pipe_name);
        }
 
        if (!p) {
@@ -227,7 +227,7 @@ const struct ndr_interface_table *load_iface_from_plugin(const char *plugin, con
                status = GUID_from_string(pipe_name, &uuid);
 
                if (NT_STATUS_IS_OK(status)) {
-                       p = idl_iface_by_uuid(&uuid);
+                       p = ndr_table_by_uuid(&uuid);
                }
        }
 #endif
index e494c3644a08ab712edf88ca7085a254213671b5..6ddffa1d6cae0d6c70b1f0b2bfc5008c636deb01 100644 (file)
@@ -22,7 +22,7 @@
 #include "rpc_server/dcerpc_server.h"
 #include "auth/auth.h"
 #include "auth/credentials/credentials.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/ndr_table.h"
 
 
 struct dcesrv_remote_private {
@@ -63,7 +63,7 @@ static NTSTATUS remote_op_bind(struct dcesrv_call_state *dce_call, const struct
        pass = lp_parm_string(-1, "dcerpc_remote", "password");
        domain = lp_parm_string(-1, "dceprc_remote", "domain");
 
-       table = idl_iface_by_uuid(&iface->syntax_id.uuid); /* FIXME: What about if_version ? */
+       table = ndr_table_by_uuid(&iface->syntax_id.uuid); /* FIXME: What about if_version ? */
        if (!table) {
                dce_call->fault_code = DCERPC_FAULT_UNK_IF;
                return NT_STATUS_NET_WRITE_FAULT;
@@ -274,7 +274,7 @@ static BOOL remote_op_interface_by_uuid(struct dcesrv_interface *iface, const st
 {
        const struct ndr_interface_list *l;
 
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {
+       for (l=ndr_table_list();l;l=l->next) {
                if (l->table->syntax_id.if_version == if_version &&
                        GUID_equal(&l->table->syntax_id.uuid, uuid)==0) {
                        return remote_fill_interface(iface, l->table);
@@ -286,7 +286,7 @@ static BOOL remote_op_interface_by_uuid(struct dcesrv_interface *iface, const st
 
 static BOOL remote_op_interface_by_name(struct dcesrv_interface *iface, const char *name)
 {
-       const struct ndr_interface_table *tbl = idl_iface_by_name(name);
+       const struct ndr_interface_table *tbl = ndr_table_by_name(name);
 
        if (tbl)
                return remote_fill_interface(iface, tbl);
index aa4be7aa4ab207bc5b9e216ec334158a81557f6a..4addd473dab2bda37482e5a0de4e75c7518d4afb 100644 (file)
@@ -28,7 +28,7 @@
 #include "scripting/ejs/ejsrpc.h"
 #include "lib/util/dlinklist.h"
 #include "lib/events/events.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/ndr_table.h"
 #include "auth/credentials/credentials.h"
 #include "librpc/rpc/dcerpc.h"
 #include "cluster/cluster.h"
@@ -136,7 +136,7 @@ static int ejs_rpc_connect(MprVarHandle eid, int argc, char **argv)
                pipe_name = mprToString(mprGetProperty(this, "pipe_name", NULL));
        }
 
-       iface = idl_iface_by_name(pipe_name);
+       iface = ndr_table_by_name(pipe_name);
        if (iface == NULL) {
                status = NT_STATUS_OBJECT_NAME_INVALID;
                goto done;
index d6011265e7277022405a1ec4a5f267e809bcae19..76d838517cd84bbe4ecf094df75e1e939da27234 100644 (file)
@@ -23,7 +23,7 @@
 #include "torture/torture.h"
 #include "librpc/gen_ndr/ndr_drsuapi_c.h"
 #include "librpc/gen_ndr/ndr_misc.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/ndr_table.h"
 #include "torture/rpc/rpc.h"
 
 
@@ -264,7 +264,7 @@ BOOL torture_rpc_autoidl(struct torture_context *torture)
        TALLOC_CTX *mem_ctx;
        const struct ndr_interface_table *iface;
                
-       iface = idl_iface_by_name("drsuapi");
+       iface = ndr_table_by_name("drsuapi");
        if (!iface) {
                printf("Unknown interface!\n");
                return False;
index e400fcdbe367dd619195ba49b8b3bc39d3020d6e..e2e222d2ecb07a22c40d8645eb205b7ce2d0d1f1 100644 (file)
@@ -22,8 +22,8 @@
 
 #include "includes.h"
 #include "torture/torture.h"
-#include "librpc/rpc/dcerpc.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/libndr.h"
+#include "librpc/ndr/ndr_table.h"
 #include "torture/rpc/rpc.h"
 
 
@@ -112,7 +112,7 @@ BOOL torture_rpc_countcalls(struct torture_context *torture)
        }
        iface_name = lp_parm_string(-1, "countcalls", "interface");
        if (iface_name != NULL) {
-               iface = idl_iface_by_name(iface_name);
+               iface = ndr_table_by_name(iface_name);
                if (!iface) {
                        printf("Unknown interface '%s'\n", iface_name);
                        return False;
@@ -120,7 +120,7 @@ BOOL torture_rpc_countcalls(struct torture_context *torture)
                return count_calls(mem_ctx, iface, False);
        }
 
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {             
+       for (l=ndr_table_list();l;l=l->next) {          
                TALLOC_CTX *loop_ctx;
                loop_ctx = talloc_named(mem_ctx, 0, "torture_rpc_councalls loop context");
                ret &= count_calls(loop_ctx, l->table, True);
index ca4520e856e8ec8c8e55261b2677bf6b1b557e11..b4e5b976797fa47b751a99e2a8352ac38fadbeae 100644 (file)
@@ -21,7 +21,7 @@
 #include "includes.h"
 #include "torture/torture.h"
 #include "librpc/gen_ndr/ndr_epmapper_c.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/ndr_table.h"
 #include "torture/rpc/rpc.h"
 
 
@@ -63,7 +63,7 @@ static BOOL test_Map(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
        dcerpc_floor_get_lhs_data(&twr->tower.floors[0], &syntax);
 
        printf("epm_Map results for '%s':\n", 
-              idl_pipe_name(&syntax.uuid, syntax.if_version));
+              ndr_interface_name(&syntax.uuid, syntax.if_version));
 
        twr->tower.floors[2].lhs.protocol = EPM_PROTOCOL_NCACN;
        twr->tower.floors[2].lhs.lhs_data = data_blob(NULL, 0);
index 475e933bd27da27e39886811630d2d2a60c8cb1e..5604b87c6e9e4adbd17d23ddb9a06c6c219d3e5f 100644 (file)
@@ -22,7 +22,7 @@
 #include "torture/torture.h"
 #include "librpc/gen_ndr/ndr_mgmt_c.h"
 #include "auth/gensec/gensec.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/ndr_table.h"
 #include "torture/rpc/rpc.h"
 
 
@@ -65,7 +65,8 @@ BOOL test_inq_if_ids(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
 
                printf("\tuuid %s  version 0x%08x  '%s'\n",
                       GUID_string(mem_ctx, &id->uuid),
-                      id->if_version, idl_pipe_name(&id->uuid, id->if_version));
+                      id->if_version,
+                      ndr_interface_name(&id->uuid, id->if_version));
 
                if (per_id_test) {
                        per_id_test(priv, mem_ctx, id);
@@ -211,7 +212,7 @@ BOOL torture_rpc_mgmt(struct torture_context *torture)
                return False;
        }
 
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {             
+       for (l=ndr_table_list();l;l=l->next) {          
                loop_ctx = talloc_named(mem_ctx, 0, "torture_rpc_mgmt loop context");
                
                /* some interfaces are not mappable */
index 92baca7ee07ed13f809bee10753be32d290f238c..250945a8a2fc8f73791dba85f07c4e94667e8456 100644 (file)
@@ -24,7 +24,7 @@
 #include "librpc/rpc/dcerpc.h"
 #include "torture/rpc/rpc.h"
 #include "torture/torture.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/ndr_table.h"
 #include "lib/util/dlinklist.h"
 
 /* open a rpc connection to the chosen binding string */
index b60d325c7c853ee5016947cab98cf4a606f1f561..1f74b8b1cf09340a94c4c89c49e2d61cae6fab1c 100644 (file)
@@ -22,7 +22,7 @@
 #include "includes.h"
 #include "torture/torture.h"
 #include "librpc/gen_ndr/ndr_mgmt_c.h"
-#include "librpc/rpc/dcerpc_table.h"
+#include "librpc/ndr/ndr_table.h"
 #include "torture/rpc/rpc.h"
 
 /*
@@ -76,7 +76,7 @@ static BOOL test_num_calls(const struct ndr_interface_table *iface,
        }
 
        printf("\t%d calls available\n", i);
-       idl_calls = idl_num_calls(&id->uuid, id->if_version);
+       idl_calls = ndr_interface_num_calls(&id->uuid, id->if_version);
        if (idl_calls == -1) {
                printf("\tinterface not known in local IDL\n");
        } else if (i != idl_calls) {
@@ -117,7 +117,7 @@ BOOL torture_rpc_scanner(struct torture_context *torture)
                return False;
        }
 
-       for (l=librpc_dcerpc_pipes();l;l=l->next) {             
+       for (l=ndr_table_list();l;l=l->next) {          
                loop_ctx = talloc_named(mem_ctx, 0, "torture_rpc_scanner loop context");
                /* some interfaces are not mappable */
                if (l->table->num_calls == 0 ||