summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/rpc_server/srv_spoolss.c31
1 files changed, 27 insertions, 4 deletions
diff --git a/source3/rpc_server/srv_spoolss.c b/source3/rpc_server/srv_spoolss.c
index 22b3a7607e..d3045028bf 100644
--- a/source3/rpc_server/srv_spoolss.c
+++ b/source3/rpc_server/srv_spoolss.c
@@ -1630,10 +1630,33 @@ void spoolss_get_pipe_fns( struct api_struct **fns, int *n_fns )
*n_fns = sizeof(api_spoolss_cmds) / sizeof(struct api_struct);
}
+static const char * const spoolss_endpoint_strings[] = {
+ "ncacn_np:[\\pipe\\spoolss]",
+};
+
+static const struct ndr_interface_string_array spoolss_endpoints = {
+ .count = 1,
+ .names = spoolss_endpoint_strings
+};
+
+const struct ndr_interface_table ndr_table_spoolss = {
+ .name = "spoolss",
+ .syntax_id = {
+ { 0x12345678, 0x1234, 0xabcd, { 0xef, 0x00 },
+ { 0x01, 0x23, 0x45, 0x67, 0x89, 0xab } }, 0x01
+ },
+ .helpstring = "Spooler SubSystem",
+ .num_calls = 0x60,
+ .calls = NULL, /* unused in s3 so far */
+ .endpoints = &spoolss_endpoints,
+ .authservices = NULL /* unused in s3 so far */
+};
+
NTSTATUS rpc_spoolss_init(void)
{
- return rpc_pipe_register_commands(SMB_RPC_INTERFACE_VERSION,
- "spoolss", "spoolss", &syntax_spoolss,
- api_spoolss_cmds,
- sizeof(api_spoolss_cmds) / sizeof(struct api_struct));
+ return rpc_srv_register(
+ SMB_RPC_INTERFACE_VERSION, "spoolss", "spoolss",
+ &ndr_table_spoolss,
+ api_spoolss_cmds,
+ sizeof(api_spoolss_cmds) / sizeof(struct api_struct));
}