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 \
#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;
/*
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;
/*
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;
}
/*
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;
}
/*
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)
{
if (initialized) return NT_STATUS_OK;
initialized = True;
- dcerpc_register_builtin_interfaces();
+ ndr_table_register_builtin_tables();
return NT_STATUS_OK;
}
sub ShowHelp()
{
print "
- perl DCE/RPC interface table generator
+ perl NDR interface table generator
Copyright (C) tridge\@samba.org
Usage: tables.pl [options] <idlfile>
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";
}
}
/* 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;
#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(
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 {
}
#else
if (!p) {
- p = idl_iface_by_name(pipe_name);
+ p = ndr_table_by_name(pipe_name);
}
if (!p) {
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
#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 {
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;
{
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);
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);
#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"
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;
#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"
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;
#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"
}
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;
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);
#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"
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);
#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"
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);
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 */
#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 */
#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"
/*
}
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) {
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 ||