README: acknowledge added.
[vde.git] / vde-2 / doc / dpipe.1
bloba954faf2fd3cde4c4d02a4922a42ca2d2ad7b158
1 .\" Copyright (c) 2004 Renzo Davoli
2 .\"
3 .\" This is free documentation; you can redistribute it and/or
4 .\" modify it under the terms of the GNU General Public License as
5 .\" published by the Free Software Foundation; either version 2 of
6 .\" the License, or (at your option) any later version.
7 .\"
8 .\" The GNU General Public License's references to "object code"
9 .\" and "executables" are to be interpreted as the output of any
10 .\" document formatting or typesetting system, including
11 .\" intermediate and printed output.
12 .\"
13 .\" This manual is distributed in the hope that it will be useful,
14 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
15 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 .\" GNU General Public License for more details.
17 .\"
18 .\" You should have received a copy of the GNU General Public
19 .\" License along with this manual; if not, write to the Free
20 .\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
21 .\" USA.
23 .TH DPIPE 1 "February 23, 2004" "Virtual Distributed Ethernet"
24 .SH NAME
25 dpipe \- bi-directional pipe command
26 .SH SYNOPSIS
27 .B dpipe 
28
29 .I command
31 .I args
34 .BI =
36 .I command
38 .I args
41 .br
42 .B dpipe 
43
44 .I command
46 .I args
49 .BI =
51 .I command
53 .I args
57 .BI =
59 .I command
61 .I args
65 ...
66 .br
67 .SH DESCRIPTION
68 \fBdpipe\fP is a general tool to run two commands diverting the
69 standard output of the first command into the standard input of the second
70 and viceversa.
71 It is the bi-directional
72 extension of the \fB|\fP (pipe) syntax used by all the shells.
73 The \fB=\fP has been chosen as a metaphore of two parallel communication lines
74 between the commands.
75 It is also possible to catenate several tools. Itermediate programs communicate
76 using standard input and stardard output with the preceding tool and alternate standard input
77 and output (respectively file descriptors number 3 and 4) towards the following tool.
78 If an intermediate tool should process only the data flowing in one direction 
79 use \fB{\fP or \fB}\fP
80 as suffix for the preceding \fB=\fP and prefix of the following one.
81 .br
82 This tool has been written as a tool for the Virtual Distributed Ethernet.
83 .SH EXAMPLE
84 .B dpipe a = b
85 .br
86 processes a and b are bidirectionally connected: stdin of a is connected to stdout of b 
87 and viceversa
88 .br
89 .B dpipe a = b = c
90 .br
91 a and b are connected as above. alternate stdin of b is connected to stdout of c and
92 alternate stdout of b to stdin of c
93 .br
94 .B dpipe a =} b }= c
95 .br
96 This is a cycle of pipes: stdout of a is connected to stdin of b, stdout of b with stdin
97 of c, and stdout of c to stdin of a
98 .br
99 .B dpipe a =} b }={ c {= d = e
101 all the notations can be mixed together.
102 this is a -> b -> d -> c and back to a; alternate ports of d are connected to e
103 .SH OPTIONS
104 no options.
105 .SH SEE ALSO
106 .BR vde_switch (1),
107 .BR vde_plug (1),
108 .BR vdeq (1).
109 .BR wirefilter (1).
111 .SH AUTHOR
112 VDE is a project by Renzo Davoli <renzo@cs.unibo.it>