summaryrefslogtreecommitdiffstats
path: root/docs/nspr/reference/pr_write.rst
blob: 2ec2f1e5c6972699666a86b7e9512ad122c694c4 (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
PR_Write
========

Writes a buffer of data to a file or socket.


Syntax
------

.. code::

   #include <prio.h>

   PRInt32 PR_Write(
     PRFileDesc *fd,
     const void *buf,
     PRInt32 amount);


Parameters
~~~~~~~~~~

The function has the following parameters:

``fd``
   A pointer to the :ref:`PRFileDesc` object for a file or socket.
``buf``
   A pointer to the buffer holding the data to be written.
``amount``
   The amount of data, in bytes, to be written from the buffer.


Returns
~~~~~~~

One of the following values:

-  A positive number indicates the number of bytes successfully written.
-  The value -1 indicates that the operation failed. The reason for the
   failure is obtained by calling :ref:`PR_GetError`.


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

The thread invoking :ref:`PR_Write` blocks until all the data is written or
the write operation fails. Therefore, the return value is equal to
either ``amount`` (success) or -1 (failure). Note that if :ref:`PR_Write`
returns -1, some data (less than ``amount`` bytes) may have been written
before an error occurred.