summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2003-04-11 04:09:14 +0000
committerTim Potter <tpot@samba.org>2003-04-11 04:09:14 +0000
commit065561932c660be13f80fefa2a310a51b0c07f9c (patch)
treea26a0d8b92f0a580e1e2c0463d7dd5752c31a5da /source3/include
parentde4e2b578a7b2354135af9049d2ff2aab68fbb02 (diff)
downloadsamba-065561932c660be13f80fefa2a310a51b0c07f9c.tar.gz
samba-065561932c660be13f80fefa2a310a51b0c07f9c.tar.bz2
samba-065561932c660be13f80fefa2a310a51b0c07f9c.zip
A new RPC pipe! The \pipe\echo named pipe is for testing large RPC
requests and responses and is only compiled in when --enable-developer is passed to configure. It includes server and client side code for generating and responding to functions on this pipe. The functions are: - AddOne: add one to the uint32 argument and return ig - EchoData: echo back a variable sized char array to the caller - SourceData: request a variable sized char array - SinkData: send a variable sized char array and throw it away There's a win32 implementation of the client and server in the junkcode CVS repository in the rpcecho-win32 subdirectory. (This used to be commit 4ccd34ef836eba05f81dc2da73fd7cfaac201798)
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/ntdomain.h2
-rw-r--r--source3/include/rpc_echo.h74
-rw-r--r--source3/include/smb.h4
3 files changed, 79 insertions, 1 deletions
diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h
index 9216640c03..b6ab4fd0c5 100644
--- a/source3/include/ntdomain.h
+++ b/source3/include/ntdomain.h
@@ -385,4 +385,6 @@ struct acct_info
#include "rpc_spoolss.h"
#include "rpc_dfs.h"
#include "rpc_ds.h"
+#include "rpc_echo.h"
+
#endif /* _NT_DOMAIN_H */
diff --git a/source3/include/rpc_echo.h b/source3/include/rpc_echo.h
new file mode 100644
index 0000000000..8fa389cf56
--- /dev/null
+++ b/source3/include/rpc_echo.h
@@ -0,0 +1,74 @@
+/*
+ Unix SMB/CIFS implementation.
+
+ Samba rpcecho definitions.
+
+ Copyright (C) Tim Potter 2003
+
+ 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_ECHO_H
+#define _RPC_ECHO_H
+
+#define ECHO_ADD_ONE 0x00
+#define ECHO_DATA 0x01
+#define ECHO_SINK_DATA 0x02
+#define ECHO_SOURCE_DATA 0x03
+
+typedef struct echo_q_add_one
+{
+ uint32 request;
+} ECHO_Q_ADD_ONE;
+
+typedef struct echo_r_add_one
+{
+ uint32 response;
+} ECHO_R_ADD_ONE;
+
+typedef struct echo_q_echo_data
+{
+ uint32 size;
+ char *data;
+} ECHO_Q_ECHO_DATA;
+
+typedef struct echo_r_echo_data
+{
+ uint32 size;
+ char *data;
+} ECHO_R_ECHO_DATA;
+
+typedef struct echo_q_source_data
+{
+ uint32 size;
+} ECHO_Q_SOURCE_DATA;
+
+typedef struct echo_r_source_data
+{
+ uint32 size;
+ char *data;
+} ECHO_R_SOURCE_DATA;
+
+typedef struct echo_q_sink_data
+{
+ uint32 size;
+ char *data;
+} ECHO_Q_SINK_DATA;
+
+typedef struct echo_r_sink_data
+{
+} ECHO_R_SINK_DATA;
+
+#endif
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 78690cd524..02b5b9435e 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -187,6 +187,7 @@ typedef smb_ucs2_t wfstring[FSTRING_LEN];
#define PIPE_LSARPC "\\PIPE\\lsarpc"
#define PIPE_SPOOLSS "\\PIPE\\spoolss"
#define PIPE_NETDFS "\\PIPE\\netdfs"
+#define PIPE_ECHO "\\PIPE\\rpcecho"
#define PIPE_NETLOGON_PLAIN "\\NETLOGON"
@@ -199,7 +200,8 @@ typedef smb_ucs2_t wfstring[FSTRING_LEN];
#define PI_WINREG 6
#define PI_SPOOLSS 7
#define PI_NETDFS 8
-#define PI_MAX_PIPES 9
+#define PI_ECHO 9
+#define PI_MAX_PIPES 10
/* 64 bit time (100usec) since ????? - cifs6.txt, section 3.5, page 30 */
typedef struct nttime_info