From 74576a48fdf71e4264a892fda58302053f809670 Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Wed, 9 Dec 1998 16:28:04 +0000 Subject: adding some enumerate services code, client and server. (This used to be commit dacf5b152bf74cc3ee9a816911384a5eb0e77afa) --- source3/include/proto.h | 13 +++++++++++-- source3/include/rpc_svcctl.h | 11 +++++++---- 2 files changed, 18 insertions(+), 6 deletions(-) (limited to 'source3/include') diff --git a/source3/include/proto.h b/source3/include/proto.h index de2d6f476c..e8d232645a 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -487,6 +487,7 @@ void pwdb_set_must_change_time(char *p, int max_len, time_t t); void pwdb_set_last_set_time(char *p, int max_len, time_t t); void pwdb_sethexpwd(char *p, const char *pwd, uint16 acct_ctrl); BOOL pwdb_gethexpwd(const char *p, char *pwd); +BOOL pwdb_init_myworkgroup(void); BOOL pwdb_initialise(BOOL is_server); /*The following definitions come from lib/util_sid.c */ @@ -746,6 +747,7 @@ BOOL make_oem_passwd_hash(char data[516], const char *passwd, uchar old_pw_hash[ /*The following definitions come from libsmb/smberr.c */ +char *smb_err_msg(uint8 class, uint32 num); char *smb_errstr(char *inbuf); /*The following definitions come from locking/locking.c */ @@ -1778,7 +1780,8 @@ BOOL do_svc_open_sc_man(struct cli_state *cli, uint16 fnum, BOOL do_svc_enum_svcs(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd, uint32 services_type, uint32 services_state, - uint32 buf_size, uint32 *resume_hnd); + uint32 buf_size, uint32 *resume_hnd, + ENUM_SRVC_STATUS **svcs); BOOL do_svc_close(struct cli_state *cli, uint16 fnum, POLICY_HND *hnd); /*The following definitions come from rpc_client/cli_wkssvc.c */ @@ -2503,8 +2506,14 @@ void make_svc_r_open_sc_man(SVC_R_OPEN_SC_MAN *r_u, POLICY_HND *hnd, void svc_io_r_open_sc_man(char *desc, SVC_R_OPEN_SC_MAN *r_u, prs_struct *ps, int depth); void make_svc_q_enum_svcs_status(SVC_Q_ENUM_SVCS_STATUS *q_c, POLICY_HND *hnd, uint32 service_type, uint32 service_state, - uint32 buf_size, uint32 enum_hnd ); + uint32 buf_size, uint32 resume_hnd ); void svc_io_q_enum_svcs_status(char *desc, SVC_Q_ENUM_SVCS_STATUS *q_u, prs_struct *ps, int depth); +void make_svc_r_enum_svcs_status(SVC_R_ENUM_SVCS_STATUS *r_c, + ENUM_SRVC_STATUS *svcs, uint32 more_buf_size, + uint32 num_svcs, uint32 resume_hnd, + uint32 dos_status); +void svc_io_r_enum_svcs_status(char *desc, SVC_R_ENUM_SVCS_STATUS *svc, prs_struct *ps, int depth); +void svc_io_svc_status(char *desc, SVC_STATUS *svc, prs_struct *ps, int depth); void make_svc_q_close(SVC_Q_CLOSE *q_c, POLICY_HND *hnd); void svc_io_q_close(char *desc, SVC_Q_CLOSE *q_u, prs_struct *ps, int depth); void svc_io_r_close(char *desc, SVC_R_CLOSE *r_u, prs_struct *ps, int depth); diff --git a/source3/include/rpc_svcctl.h b/source3/include/rpc_svcctl.h index 4241928218..451fdaa459 100644 --- a/source3/include/rpc_svcctl.h +++ b/source3/include/rpc_svcctl.h @@ -65,14 +65,14 @@ typedef struct svc_status_info } SVC_STATUS; -/* ENUM_SVC_STATUS */ +/* ENUM_SRVC_STATUS */ typedef struct enum_svc_status_info { UNISTR uni_srvc_name; UNISTR uni_disp_name; SVC_STATUS status; -} ENUM_SVC_STATUS; +} ENUM_SRVC_STATUS; /* SVC_Q_ENUM_SVCS_STATUS */ typedef struct q_svc_enum_svcs_status_info @@ -89,8 +89,11 @@ typedef struct q_svc_enum_svcs_status_info typedef struct r_svc_enum_svcs_status_info { uint32 buf_size; /* service buffer size */ - ENUM_SVC_STATUS *svcs; - uint32 status; /* return status */ + ENUM_SRVC_STATUS *svcs; + uint32 more_buf_size; + uint32 num_svcs; + ENUM_HND resume_hnd; /* resume handle */ + uint32 dos_status; /* return status, DOS error code (wow!) */ } SVC_R_ENUM_SVCS_STATUS; -- cgit