63 lines
1.3 KiB
Markdown
63 lines
1.3 KiB
Markdown
# PR_CreateFileMap
|
|
|
|
Creates a file mapping object.
|
|
|
|
## Syntax
|
|
|
|
```{code}
|
|
#include <prio.h>
|
|
|
|
PRFileMap* PR_CreateFileMap(
|
|
PRFileDesc *fd,
|
|
PRInt64 size,
|
|
PRFileMapProtect prot);
|
|
```
|
|
|
|
### Parameters
|
|
|
|
The function has the following parameters:
|
|
|
|
`fd`
|
|
|
|
: A pointer to a {ref}`PRFileDesc` object representing the file that is to
|
|
be mapped to memory.
|
|
|
|
`size`
|
|
|
|
: Size of the file specified by `fd`.
|
|
|
|
`prot`
|
|
|
|
: Protection option for read and write accesses of a file mapping. This
|
|
parameter consists of one of the following options:
|
|
|
|
> - `PR_PROT_READONLY`. Read-only access.
|
|
> - `PR_PROT_READWRITE`. Readable, and write is shared.
|
|
> - `PR_PROT_WRITECOPY`. Readable, and write is private
|
|
> (copy-on-write).
|
|
|
|
### Returns
|
|
|
|
- If successful, a file mapping of type {ref}`PRFileMap`.
|
|
- If unsuccessful, `NULL`.
|
|
|
|
## Description
|
|
|
|
The `PRFileMapProtect` enumeration used in the `prot` parameter is
|
|
defined as follows:
|
|
|
|
```{code}
|
|
typedef enum PRFileMapProtect {
|
|
PR_PROT_READONLY,
|
|
PR_PROT_READWRITE,
|
|
PR_PROT_WRITECOPY
|
|
} PRFileMapProtect;
|
|
```
|
|
|
|
{ref}`PR_CreateFileMap` only prepares for the mapping a file to memory. The
|
|
returned file-mapping object must be passed to {ref}`PR_MemMap` to actually
|
|
map a section of the file to memory.
|
|
|
|
The file-mapping object should be closed with a {ref}`PR_CloseFileMap` call
|
|
when it is no longer needed.
|