diff options
author | Luke Leighton <lkcl@samba.org> | 1999-10-31 05:23:32 +0000 |
---|---|---|
committer | Luke Leighton <lkcl@samba.org> | 1999-10-31 05:23:32 +0000 |
commit | e7a9b398c79cb77678de18f3fc448131e1d6eb25 (patch) | |
tree | afe7bc2d01eeeccfea36d075a4d74c178a718c65 /source3/include | |
parent | ce31503de55ffeaa6e694b9177890943442e41c0 (diff) | |
download | samba-e7a9b398c79cb77678de18f3fc448131e1d6eb25.tar.gz samba-e7a9b398c79cb77678de18f3fc448131e1d6eb25.tar.bz2 samba-e7a9b398c79cb77678de18f3fc448131e1d6eb25.zip |
added yet another rpcclient command: svcstart <service name> [arg0] [arg1] ...
works with command-line completion on the service name (ohh yesss, this
is becoming my favourite bit of functionality-on-the-side hee hee :)
had to fix the svc_io_q_start_service() code which was missing the
ptr_argv[] array in between the array-size and the UNISTR2-array.
i.e it's actually an array of _pointers_ to unicode strings...
(This used to be commit 2903f22e7ed9306229035accfa757fd810645820)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/proto.h | 8 | ||||
-rw-r--r-- | source3/include/rpc_svcctl.h | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index aed1d824de..75a1d55ac0 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -2051,6 +2051,10 @@ BOOL svc_enum_svcs(struct cli_state *cli, uint16 fnum, uint32 *buf_size, uint32 *resume_hnd, uint32 *dos_error, ENUM_SRVC_STATUS **svcs, uint32 *num_svcs); +BOOL svc_start_service(struct cli_state *cli, uint16 fnum, + POLICY_HND *hnd, + uint32 argc, + char **argv); BOOL svc_query_svc_cfg(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, QUERY_SERVICE_CONFIG *cfg, @@ -3055,6 +3059,9 @@ BOOL svc_io_q_open_service(char *desc, SVC_Q_OPEN_SERVICE *q_u, prs_struct *ps, BOOL make_svc_r_open_service(SVC_R_OPEN_SERVICE *r_u, POLICY_HND *hnd, uint32 status) ; BOOL svc_io_r_open_service(char *desc, SVC_R_OPEN_SERVICE *r_u, prs_struct *ps, int depth); +BOOL make_svc_q_start_service(SVC_Q_START_SERVICE *q_c, POLICY_HND *hnd, + uint32 argc, + char **argv); BOOL svc_io_q_start_service(char *desc, SVC_Q_START_SERVICE *q_s, prs_struct *ps, int depth); BOOL svc_io_r_start_service(char *desc, SVC_R_START_SERVICE *r_s, prs_struct *ps, int depth); BOOL make_svc_query_svc_cfg(QUERY_SERVICE_CONFIG *q_u, @@ -3315,6 +3322,7 @@ BOOL msrpc_svc_enum(struct client_info *info, SVC_INFO_FN(info_fn), SVC_QUERY_FN(query_fn)); void cmd_svc_enum(struct client_info *info); +void cmd_svc_start(struct client_info *info); /*The following definitions come from rpcclient/cmd_wkssvc.c */ diff --git a/source3/include/rpc_svcctl.h b/source3/include/rpc_svcctl.h index 8a2a771d64..e72f7df376 100644 --- a/source3/include/rpc_svcctl.h +++ b/source3/include/rpc_svcctl.h @@ -73,7 +73,7 @@ typedef struct r_svc_open_service_info } SVC_R_OPEN_SERVICE; -#define MAX_SVC_ARGS 4 +#define MAX_SVC_ARGS 10 /* SVC_Q_START_SERVICE */ typedef struct q_svc_start_service_info @@ -81,8 +81,9 @@ typedef struct q_svc_start_service_info POLICY_HND pol; uint32 argc; - uint32 ptr_argv; + uint32 ptr_args; uint32 argc2; + uint32 ptr_argv[MAX_SVC_ARGS]; UNISTR2 argv[MAX_SVC_ARGS]; } SVC_Q_START_SERVICE; |