> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# RPCMEM API macros and enumerations

## Enumerations

### `rpc_heap_ids`

Supported RPCMEM heap IDs.

#### Values

| Name | Value | Description |
| - | - | - |
| `RPCMEM_HEAP_ID_SECURE` | = 9 | Memory for secure use cases only. |
| `RPCMEM_HEAP_ID_CONTIG` | = 22 | Contiguous physical memory: |
| `RPCMEM_HEAP_ID_SYSTEM` | = 25 | Non-contiguous system physical memory. |

## Macros

### `RPCMEM_DEFAULT_FLAGS`

Allocate memory with the same properties as the ION\_FLAG\_CACHED flag.

```c theme={null}
#define RPCMEM_DEFAULT_FLAGS 1
```

### `RPCMEM_TRY_MAP_STATIC`

The FastRPC library tries to map buffers allocated with this flag to the remote process of all current and new FastRPC sessions.

```c theme={null}
#define RPCMEM_TRY_MAP_STATIC 0x04000000
```

### `RPCMEM_FLAG_UNCACHED`

Use uncached memory.

```c theme={null}
#define RPCMEM_FLAG_UNCACHED 0
```

### `RPCMEM_FLAG_CACHED`

Use cached memory.

```c theme={null}
#define RPCMEM_FLAG_CACHED RPCMEM_DEFAULT_FLAGS
```
