diff options
Diffstat (limited to 'source3/rpc_server/rpc_service_setup.c')
-rw-r--r-- | source3/rpc_server/rpc_service_setup.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source3/rpc_server/rpc_service_setup.c b/source3/rpc_server/rpc_service_setup.c index dec39ee08a..776c707cce 100644 --- a/source3/rpc_server/rpc_service_setup.c +++ b/source3/rpc_server/rpc_service_setup.c @@ -73,6 +73,29 @@ enum rpc_service_mode_e rpc_epmapper_mode(void) return state; } +enum rpc_service_mode_e rpc_spoolss_mode(void) +{ + const char *rpcsrv_type; + enum rpc_service_mode_e state; + + rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM, + "rpc_server", + "spoolss", + "embedded"); + + if (strcasecmp_m(rpcsrv_type, "embedded") == 0) { + state = RPC_SERVICE_MODE_EMBEDDED; + } else if (strcasecmp_m(rpcsrv_type, "external") == 0) { + state = RPC_SERVICE_MODE_EXTERNAL; + } else if (strcasecmp_m(rpcsrv_type, "daemon") == 0) { + state = RPC_SERVICE_MODE_DAEMON; + } else { + state = RPC_SERVICE_MODE_DISABLED; + } + + return state; +} + static bool rpc_setup_epmapper(struct tevent_context *ev_ctx, struct messaging_context *msg_ctx) { |