summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1999-11-19 00:12:16 +0000
committerLuke Leighton <lkcl@samba.org>1999-11-19 00:12:16 +0000
commit1c6c4e7e39bde99f8d312516ba530b905bc01da7 (patch)
tree68a5555a7ff60b4e67ffd7203a70e1bd28a712f6 /source3/include
parentda517a3ff4c133a1475e8e63054201551d132436 (diff)
downloadsamba-1c6c4e7e39bde99f8d312516ba530b905bc01da7.tar.gz
samba-1c6c4e7e39bde99f8d312516ba530b905bc01da7.tar.bz2
samba-1c6c4e7e39bde99f8d312516ba530b905bc01da7.zip
added \PIPE\browser plus experimental brsinfo command. you wouldn't
believe the XXXX that MIGHT be involved in getting nt5rc2 to join a samba domain... (This used to be commit 569babb3935950c1b64396955541abf276cc1d92)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/ntdomain.h1
-rw-r--r--source3/include/proto.h21
-rw-r--r--source3/include/rpc_brs.h81
-rw-r--r--source3/include/smb.h3
4 files changed, 105 insertions, 1 deletions
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index 4f6cc85905..67befd81dc 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -42,6 +42,7 @@
#include "rpc_srvsvc.h"
#include "rpc_svcctl.h"
#include "rpc_wkssvc.h"
+#include "rpc_brs.h"
#include "rpc_atsvc.h"
#include "rpc_spoolss.h"
#include "rpc_eventlog.h"
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 38f868ef00..bd38d58136 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1741,6 +1741,12 @@ BOOL at_enum_jobs(struct cli_state *cli, uint16 fnum,
BOOL at_query_job(struct cli_state *cli, uint16 fnum, char *server_name,
uint32 jobid, AT_JOB_INFO *job, fstring command);
+/*The following definitions come from rpc_client/cli_brs.c */
+
+BOOL do_brs_query_info(struct cli_state *cli, uint16 fnum,
+ const char *server_name, uint32 switch_value,
+ void *id);
+
/*The following definitions come from rpc_client/cli_eventlog.c */
BOOL do_event_open(struct cli_state *cli, uint16 fnum, char *log, POLICY_HND *hnd);
@@ -2182,6 +2188,17 @@ BOOL make_at_q_query_job(AT_Q_QUERY_JOB *q_q, char *server, uint32 jobid);
BOOL at_io_q_query_job(char *desc, AT_Q_QUERY_JOB *q_q, prs_struct *ps, int depth);
BOOL at_io_r_query_job(char *desc, AT_R_QUERY_JOB *r_q, prs_struct *ps, int depth);
+/*The following definitions come from rpc_parse/parse_brs.c */
+
+BOOL make_brs_q_query_info(BRS_Q_QUERY_INFO *q_u,
+ const char *server, uint16 switch_value) ;
+BOOL brs_io_q_query_info(char *desc, BRS_Q_QUERY_INFO *q_u, prs_struct *ps, int depth);
+BOOL make_brs_info_100(BRS_INFO_100 *inf);
+BOOL make_brs_r_query_info(BRS_R_QUERY_INFO *r_u,
+ uint32 switch_value, void *inf,
+ int status) ;
+BOOL brs_io_r_query_info(char *desc, BRS_R_QUERY_INFO *r_u, prs_struct *ps, int depth);
+
/*The following definitions come from rpc_parse/parse_eventlog.c */
BOOL make_eventlog_q_open(EVENTLOG_Q_OPEN *q_u, char *journal, char *unk);
@@ -3395,6 +3412,10 @@ BOOL api_wkssvc_rpc(pipes_struct *p, prs_struct *data);
void cmd_at(struct client_info *info);
+/*The following definitions come from rpcclient/cmd_brs.c */
+
+void cmd_brs_query_info(struct client_info *info);
+
/*The following definitions come from rpcclient/cmd_eventlog.c */
void cmd_eventlog(struct client_info *info);
diff --git a/source3/include/rpc_brs.h b/source3/include/rpc_brs.h
new file mode 100644
index 0000000000..36d89ec151
--- /dev/null
+++ b/source3/include/rpc_brs.h
@@ -0,0 +1,81 @@
+/*
+ Unix SMB/Netbios implementation.
+ Version 1.9.
+ SMB parameters and setup
+ Copyright (C) Andrew Tridgell 1992-1999
+ Copyright (C) Luke Kenneth Casson Leighton 1996-1999
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#ifndef _RPC_BRS_H /* _RPC_BRS_H */
+#define _RPC_BRS_H
+
+
+/* brssvc pipe */
+#define BRS_QUERY_INFO 0x02
+
+
+/* BRS_Q_QUERY_INFO - probably a capabilities request */
+typedef struct q_brs_query_info_info
+{
+ uint32 ptr_srv_name; /* pointer (to server name?) */
+ UNISTR2 uni_srv_name; /* unicode server name starting with '\\' */
+
+ uint16 switch_value1; /* info level 100 (0x64) */
+ /* align */
+ uint16 switch_value2; /* info level 100 (0x64) */
+
+ uint32 ptr;
+ uint32 pad1;
+ uint32 pad2;
+
+} BRS_Q_QUERY_INFO;
+
+
+/* BRS_INFO_100 - level 100 info */
+typedef struct brs_info_100_info
+{
+ uint32 pad1;
+ uint32 ptr2;
+ uint32 pad2;
+ uint32 pad3;
+
+} BRS_INFO_100;
+
+
+/* BRS_R_QUERY_INFO - probably a capabilities request */
+typedef struct r_brs_query_info_info
+{
+ uint16 switch_value1; /* 100 (0x64) - switch value */
+ /* align */
+ uint16 switch_value2; /* info level 100 (0x64) */
+
+ /* for now, only level 100 is supported. this should be an enum container */
+ uint32 ptr_1; /* pointer 1 */
+
+ union
+ {
+ BRS_INFO_100 *brs100; /* browser info level 100 */
+ void *id;
+
+ } info;
+
+ uint32 status; /* return status */
+
+} BRS_R_QUERY_INFO;
+
+#endif /* _RPC_BRS_H */
+
diff --git a/source3/include/smb.h b/source3/include/smb.h
index dccc05ea6a..60bf7d715c 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -249,6 +249,7 @@ typedef char fstring[FSTRING_LEN];
/* pipe string names */
#define PIPE_LANMAN "\\PIPE\\LANMAN"
+#define PIPE_BROWSER "\\PIPE\\browser"
#define PIPE_SRVSVC "\\PIPE\\srvsvc"
#define PIPE_SAMR "\\PIPE\\samr"
#define PIPE_WINREG "\\PIPE\\winreg"
@@ -261,7 +262,7 @@ typedef char fstring[FSTRING_LEN];
#define PIPE_LSARPC "\\PIPE\\lsarpc"
#define PIPE_EPMAPPER "\\PIPE\\epmapper"
#define PIPE_ATSVC "\\PIPE\\atsvc"
-#define PIPE_SPOOLSS "\\pipe\\spoolss"
+#define PIPE_SPOOLSS "\\PIPE\\spoolss"
#define PIPE_EVENTLOG "\\PIPE\\EVENTLOG"
/* 64 bit time (100usec) since ????? - cifs6.txt, section 3.5, page 30 */