Source code

Revision control

Copy as Markdown

Other Tools

# 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.