#include "../lib/util/dlinklist.h"
#include "librpc/ndr/libndr.h"
#include "librpc/ndr/ndr_table.h"
+#undef strcasecmp
static struct ndr_interface_list *ndr_interfaces;
--- /dev/null
+#ifndef _NDR_TABLE_PROTO_H_
+#define _NDR_TABLE_PROTO_H_
+
+NTSTATUS ndr_table_register(const struct ndr_interface_table *table);
+const char *ndr_interface_name(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_table *ndr_table_by_name(const char *name);
+const struct ndr_interface_table *ndr_table_by_uuid(const struct GUID *uuid);
+const struct ndr_interface_list *ndr_table_list(void);
+NTSTATUS ndr_table_init(void);
+
+#endif /* _NDR_TABLE_PROTO_H_ */
+
*/
#include "includes.h"
-#if (_SAMBA_BUILD_ >= 4)
-#include "lib/cmdline/popt_common.h"
#include "system/filesys.h"
#include "system/locale.h"
#include "librpc/ndr/libndr.h"
#include "librpc/ndr/ndr_table.h"
+#if (_SAMBA_BUILD_ >= 4)
+#include "lib/cmdline/popt_common.h"
#include "param/param.h"
#endif
return &p->calls[i];
}
-#if (_SAMBA_BUILD_ >= 4)
-
_NORETURN_ static void show_pipes(void)
{
const struct ndr_interface_list *l;
exit(1);
}
-#endif
-
_NORETURN_ static void show_functions(const struct ndr_interface_table *p)
{
int i;
{ NULL }
};
-#if (_SAMBA_BUILD_ >= 4)
ndr_table_init();
-#else
+#if (_SAMBA_BUILD_ >= 3)
/* Initialise samba stuff */
load_case_tables();
if (!pipe_name) {
poptPrintUsage(pc, stderr, 0);
-#if (_SAMBA_BUILD_ >= 4)
show_pipes();
-#endif
exit(1);
}
if (plugin != NULL) {
p = load_iface_from_plugin(plugin, pipe_name);
}
-#if (_SAMBA_BUILD_ <= 3)
- else {
- fprintf(stderr, "Only loading from DSO's supported in Samba 3\n");
- exit(1);
- }
-#else
if (!p) {
p = ndr_table_by_name(pipe_name);
}
p = ndr_table_by_uuid(&uuid);
}
}
-#endif
if (!p) {
printf("Unknown pipe or UUID '%s'\n", pipe_name);
NDRDUMP_OBJ = ../librpc/tools/ndrdump.o \
$(PARAM_OBJ) $(LIBNDR_GEN_OBJ) \
$(LIBSAMBA_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \
- librpc/gen_ndr/ndr_svcctl.o
+ $(LIBNDR_DRSUAPI_OBJ) $(COMPRESSION_OBJ) \
+ librpc/gen_ndr/ndr_svcctl.o \
+ librpc/gen_ndr/tables.o ../librpc/ndr/ndr_table.o \
+ ../librpc/ndr/ndr_krb5pac.o \
+ librpc/gen_ndr/ndr_krb5pac.o
DEBUG2HTML_OBJ = utils/debug2html.o utils/debugparse.o
../librpc/idl/ntsvcs.idl librpc/idl/libnetapi.idl ../librpc/idl/drsuapi.idl \
../librpc/idl/drsblobs.idl ../librpc/idl/nbt.idl
+librpc/gen_ndr/tables.c:: librpc/gen_ndr/*.h
+ @echo "Generating $@"
+ @$(PERL) ../librpc/tables.pl $^ > $@
+
#####################################################################
bin/ndrdump@EXEEXT@: $(BINARY_PREREQS) $(NDRDUMP_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
@echo Linking $@
@$(CC) $(FLAGS) -o $@ $(NDRDUMP_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) \
- $(POPT_LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS)
+ $(POPT_LIBS) $(LDAP_LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) $(ZLIB_LIBS)
bin/debug2html@EXEEXT@: $(BINARY_PREREQS) $(DEBUG2HTML_OBJ) @BUILD_POPT@ @LIBTALLOC_SHARED@
@echo Linking $@
--- /dev/null
+
+/* Automatically generated by tables.pl. DO NOT EDIT */
+
+#include "includes.h"
+#include "librpc/ndr/libndr.h"
+#include "librpc/ndr/ndr_table.h"
+#include "librpc/gen_ndr/ndr_dfs.h"
+#include "librpc/gen_ndr/ndr_drsblobs.h"
+#include "librpc/gen_ndr/ndr_drsuapi.h"
+#include "librpc/gen_ndr/ndr_dssetup.h"
+#include "librpc/gen_ndr/ndr_echo.h"
+#include "librpc/gen_ndr/ndr_epmapper.h"
+#include "librpc/gen_ndr/ndr_eventlog.h"
+#include "librpc/gen_ndr/ndr_initshutdown.h"
+#include "librpc/gen_ndr/ndr_krb5pac.h"
+#include "librpc/gen_ndr/ndr_lsa.h"
+#include "librpc/gen_ndr/ndr_netlogon.h"
+#include "librpc/gen_ndr/ndr_ntsvcs.h"
+#include "librpc/gen_ndr/ndr_samr.h"
+#include "librpc/gen_ndr/ndr_srvsvc.h"
+#include "librpc/gen_ndr/ndr_svcctl.h"
+#include "librpc/gen_ndr/ndr_winreg.h"
+#include "librpc/gen_ndr/ndr_wkssvc.h"
+
+NTSTATUS ndr_table_register_builtin_tables(void)
+{
+ NTSTATUS status;
+
+ status = ndr_table_register(&ndr_table_netdfs);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_drsblobs);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_drsuapi);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_dssetup);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_rpcecho);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_epmapper);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_eventlog);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_initshutdown);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_krb5pac);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_lsarpc);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_netlogon);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_ntsvcs);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_samr);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_srvsvc);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_svcctl);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_winreg);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+ status = ndr_table_register(&ndr_table_wkssvc);
+ if (NT_STATUS_IS_ERR(status)) return status;
+
+
+
+ return NT_STATUS_OK;
+}
$(gen_ndrsrcdir)/tables.c: $(IDL_NDR_PARSE_H_FILES)
@echo Generating $@
- @$(PERL) $(librpcsrcdir)/tables.pl --output=$@ $^ > $(gen_ndrsrcdir)/tables.x
+ @$(PERL) ../librpc/tables.pl --output=$@ $^ > $(gen_ndrsrcdir)/tables.x
@mv $(gen_ndrsrcdir)/tables.x $@
[SUBSYSTEM::NDR_TABLE]
NDR_SASL_HELPERS NDR_NOTIFY NDR_WINBIND NDR_FRSRPC NDR_FRSAPI NDR_NFS4ACL NDR_NTP_SIGND \
NDR_DCOM NDR_WMI
-NDR_TABLE_OBJ_FILES = $(ndrsrcdir)/ndr_table.o $(gen_ndrsrcdir)/tables.o
-
-$(eval $(call proto_header_template,$(ndrsrcdir)/ndr_table.h,$(NDR_TABLE_OBJ_FILES:.o=.c)))
+NDR_TABLE_OBJ_FILES = ../librpc/ndr/ndr_table.o $(gen_ndrsrcdir)/tables.o
[SUBSYSTEM::RPC_NDR_ROT]
PUBLIC_DEPENDENCIES = NDR_ROT dcerpc