diff options
-rw-r--r-- | source3/rpc_server/srv_spoolss.c | 31 |
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)); } |