summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-12-09 16:28:04 +0000
committerLuke Leighton <lkcl@samba.org>1998-12-09 16:28:04 +0000
commit74576a48fdf71e4264a892fda58302053f809670 (patch)
tree4e64111670ec80db301328b8aab1596857b9e97f /source3/include
parent1f989cda944f21b3ba829e1008f1189d2d3671a8 (diff)
downloadsamba-74576a48fdf71e4264a892fda58302053f809670.tar.gz
samba-74576a48fdf71e4264a892fda58302053f809670.tar.bz2
samba-74576a48fdf71e4264a892fda58302053f809670.zip
adding some enumerate services code, client and server.
(This used to be commit dacf5b152bf74cc3ee9a816911384a5eb0e77afa)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h13
-rw-r--r--source3/include/rpc_svcctl.h11
2 files changed, 18 insertions, 6 deletions
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;