summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-10-31 05:23:32 +0000
committerLuke Leighton <lkcl@samba.org>1999-10-31 05:23:32 +0000
commite7a9b398c79cb77678de18f3fc448131e1d6eb25 (patch)
treeafe7bc2d01eeeccfea36d075a4d74c178a718c65 /source3/include
parentce31503de55ffeaa6e694b9177890943442e41c0 (diff)
downloadsamba-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.h8
-rw-r--r--source3/include/rpc_svcctl.h5
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;