> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.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
```
