summaryrefslogtreecommitdiff
path: root/reference/C/FUNCTIONS/pipe.html
blob: 5f2682c6284ef0011254005d737faa3416a29ec8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<title>pipe function</title>

<head>
<script language="JavaScript">
</script>
</head>

<body bgcolor=#ffffcc>
<hr>
<center>
<h1>pipe function </h1>
</center>
<hr>
<p>
<b>pipe</b> creates two file descriptors which can be used by
parent and child processes to communicate data. A child process can
be created with the <a href="fork.html">fork</a> function. 
<p>
<hr>
<center>
<table border=2 width="80%" bgcolor="ivory">
<tr>
<td width="80%">
<pre>

	Library:   unistd.h

	Prototype: int pipe(int fd[2]);

	Syntax:    int fd[2];
		   pipe(fd);
</pre>
</td>
</tr>
</table>
</center>
<p>
<hr>
On error, pipe returns -1.<p>
Once the pipe has been executed, the data can be transfered 
using <a href=read.html>read</a> and
<a href=write.html>write</a>.
<hr>
<h2>Notes:</h2>
Make sure that when you <a href=read.html>read</a>
exactly the same number of bytes that are 
<a href=write.html>written</a>! I spend HOURS 
trying to figure out why I was loosing data because of this feature!!
<hr>
<h2>Examples:</h2>

<img src=../../GRAPHICS/computer.gif>
<a href="../EXAMPLES/pipe1.c"> read and write fixed length records.</a> 
<p>

<img src=../../GRAPHICS/computer.gif>
<a href="../EXAMPLES/pipe2.c"> read and write variable length records.</a> 

<hr>
<h2>See Also:</h2>

<img src=../../GRAPHICS/whiteball.gif>
<a href="fork.html">fork</a> <p>
<img src=../../GRAPHICS/whiteball.gif>
<a href="popen.html">popen</a> function.<p>
<img src=../../GRAPHICS/whiteball.gif>
<a href="pclose.html">pclose</a> function.<p>

<img src=../../GRAPHICS/whiteball.gif>
<a href="read.html">read</a> function.<p>

<img src=../../GRAPHICS/whiteball.gif>
<a href="write.html">write</a> function.<p>


<p>

<hr>
<p>
<center>
<table border=2 width="80%" bgcolor="ivory">
<tr align=center>
<td width="25%">
<a href="../cref.html">                  Top</a>
</td><td width="25%">
<a href="../master_index.html">          Master Index</a>
</td><td width="25%">
<a href="../SYNTAX/keywords.html">                 Keywords</a>
</td><td width="25%">
<a href="funcref.htm">      Functions</a>
</td>
</tr>
</table>
</center>
<p>
<hr>
<address>Martin Leslie 
</address><p>
</body>
</html>