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

# AR SPF Cmd API

**Header:** `spf/api/ar_utils/ar_spf_cmd_api.h`

## Structures

### `ar_spf_msg_global_sh_mem_t`

Payload for AR\_SPF\_MSG\_GLOBAL\_SH\_MEM.

**Members**

<ParamField path="shmem_id" type="uint32_t">
  A unique ID used by the client to map the global memory regions using command APM\_CMD\_GLOBAL\_SHARED\_MEM\_MAP\_REGIONS.
</ParamField>

<ParamField path="property_flag" type="uint32_t">
  Configures property for this command.
</ParamField>

<ParamField path="shmem_addr_lsw" type="uint32_t">
  Lower 32 bits of the physical/Virtual/byte-offset address value.
</ParamField>

<ParamField path="shmem_addr_msw" type="uint32_t">
  Upper 32 bits of the physical/Virtual address value.
</ParamField>

<ParamField path="shmem_size" type="uint32_t">
  Number of bytes in the shared memory used by the client/modules to communicate.
</ParamField>

## Type Definitions

### `ar_spf_msg_global_sh_mem_t`

```cpp theme={null}
typedef struct ar_spf_msg_global_sh_mem_t ar_spf_msg_global_sh_mem_t
```

## Macros

### `AR_SPF_MSG_GLOBAL_SH_MEM`

This command carries an OOB payload from global shared memory (APM\_CMD\_GLOBAL\_SHARED\_MEM\_MAP\_REGIONS) and used by the client to signal module to read the payload and handle accordingly.

```c theme={null}
#define AR_SPF_MSG_GLOBAL_SH_MEM 0x0100105B
```

### `AR_SPF_MSG_GLOBAL_SH_MEM_BIT_MASK_IS_ACK_NOT_REQUIRED`

Definition of the is\_ack\_required flag bitmask.

```c theme={null}
#define AR_SPF_MSG_GLOBAL_SH_MEM_BIT_MASK_IS_ACK_NOT_REQUIRED (0x00000001UL)
```

### `AR_SPF_MSG_GLOBAL_SH_MEM_BIT_MASK_IS_MEM_RELEASE`

Definition of the is\_memory\_release flag bitmask.

```c theme={null}
#define AR_SPF_MSG_GLOBAL_SH_MEM_BIT_MASK_IS_MEM_RELEASE (0x00000002UL)
```
