summaryrefslogtreecommitdiffstats
path: root/docs/nspr/reference/pr_createpipe.rst
blob: 3409cb9912852645c269b5194002af302be5afd2 (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
PR_CreatePipe
=============

Creates an anonymous pipe and retrieves file descriptors for the read
and write ends of the pipe.


Syntax
------

.. code::

   #include <prio.h>

   PRStatus PR_CreatePipe(
     PRFileDesc **readPipe,
     PRFileDesc **writePipe);


Parameters
~~~~~~~~~~

The function has the following parameters:

``readPipe``
   A pointer to a :ref:`PRFileDesc` pointer. On return, this parameter
   contains the file descriptor for the read end of the pipe.
``writePipe``
   A pointer to a :ref:`PRFileDesc` pointer. On return, this parameter
   contains the file descriptor for the write end of the pipe.


Returns
~~~~~~~

The function returns one of these values:

-  If the pipe is successfully created, ``PR_SUCCESS``.
-  If the pipe is not successfully created, ``PR_FAILURE``. The error
   code can be retrieved via :ref:`PR_GetError`.


Description
-----------

:ref:`PR_CreatePipe` creates an anonymous pipe. Data written into the write
end of the pipe can be read from the read end of the pipe. Pipes are
useful for interprocess communication between a parent and a child
process. When the pipe is no longer needed, both ends should be closed
with calls to :ref:`PR_Close`.

:ref:`PR_CreatePipe` is currently implemented on Unix, Linux, Mac OS X, and
Win32 only.