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

# Gpr_macros

## Structures

### `gpr_proc_info_t`

## Functions

### `gpr_get_audio_service_name`

Returns the proc name, if proc id is a input.

Returns the proc id, if proc name is a input.

```cpp theme={null}
GPR_EXTERNAL uint32_t gpr_get_audio_service_name(char_t *service_name, uint32_t string_size)
```

**Parameters**

<ParamField path="gpr_proc_info_t" type="">
  structure
</ParamField>

**Returns**

\#proc\_id, proc\_name  When successful.

### `gpr_get_pd_str_from_id`

```cpp theme={null}
GPR_EXTERNAL uint32_t gpr_get_pd_str_from_id(uint32_t proc_domain_id, char_t *proc_domain_string, uint32_t proc_domain_string_size)
```

### `gpr_get_pd_id_from_str`

```cpp theme={null}
GPR_EXTERNAL uint32_t gpr_get_pd_id_from_str(uint32_t *proc_domain_id_ptr, char_t *proc_domain_string, uint32_t proc_domain_string_size)
```

## Type Definitions

### `gpr_proc_info_t`

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

## Macros

### `GPR_PD_SUBSTRING_MAX_SIZE`

```c theme={null}
#define GPR_PD_SUBSTRING_MAX_SIZE 20
```

### `GPR_INTERNAL`

Export macro that indicates a function is internal to the GPR.

```c theme={null}
#define GPR_INTERNAL extern
```

### `GPR_EXTERNAL`

Export macro that indicates an external function, which is intended for client use.

```c theme={null}
#define GPR_EXTERNAL extern
```

### `GPR_IDS_DOMAIN_ID_INVALID_V`

Invalid domain.

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

### `GPR_IDS_DOMAIN_ID_MODEM_V`

Modem DSP (mDSP) domain.

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

### `GPR_IDS_DOMAIN_ID_ADSP_V`

Audio DSP (aDSP) domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_ADSP_V 2
```

### `GPR_IDS_DOMAIN_ID_APPS_V`

Applications domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_APPS_V 3
```

### `GPR_IDS_DOMAIN_ID_SDSP_V`

Sensors DSP (sDSP) domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_SDSP_V 4
```

### `GPR_IDS_DOMAIN_ID_CDSP_V`

Compute DSP (cDSP) domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_CDSP_V 5
```

### `GPR_IDS_DOMAIN_ID_CC_DSP_V`

Companion chip DSP (CC\_DSP) domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_CC_DSP_V 6
```

### `GPR_IDS_DOMAIN_ID_RESERVED_1`

Reserved domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_RESERVED_1 7
```

### `GPR_IDS_DOMAIN_ID_RESERVED_2`

```c theme={null}
#define GPR_IDS_DOMAIN_ID_RESERVED_2 8
```

### `GPR_IDS_DOMAIN_ID_RESERVED_3`

```c theme={null}
#define GPR_IDS_DOMAIN_ID_RESERVED_3 9
```

### `GPR_IDS_DOMAIN_ID_GDSP0_V`

Generic chip DSP (gDSP0) domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_GDSP0_V 0xA
```

### `GPR_IDS_DOMAIN_ID_GDSP1_V`

Generic chip DSP (gDSP1) domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_GDSP1_V 0xB
```

### `GPR_IDS_DOMAIN_ID_APPS2_V`

SPF-on-ARM HLOS (APPS2) domain.

```c theme={null}
#define GPR_IDS_DOMAIN_ID_APPS2_V 0xC
```

### `GPR_PL_MAX_DOMAIN_ID_V`

Highest domain ID.

```c theme={null}
#define GPR_PL_MAX_DOMAIN_ID_V 
```

### `GPR_PL_NUM_TOTAL_DOMAINS_V`

Total number of domains.

```c theme={null}
#define GPR_PL_NUM_TOTAL_DOMAINS_V 
```

### `GPR_PKT_VERSION_V`

Defines the layout of the packet structure.

```c theme={null}
#define GPR_PKT_VERSION_V 
```

### `GPR_PKT_INIT_PORT_V`

Uninitialized port value.

```c theme={null}
#define GPR_PKT_INIT_PORT_V 
```

### `GPR_PKT_INIT_RESERVED_V`

Uninitialized reserved field value.

```c theme={null}
#define GPR_PKT_INIT_RESERVED_V 
```

### `GPR_PKT_INIT_DOMAIN_ID_V`

Uninitialized domain ID value.

```c theme={null}
#define GPR_PKT_INIT_DOMAIN_ID_V 
```

### `GPR_PKT_HEADER_WORD_SIZE_V`

Header size in number of 32-bit words.

```c theme={null}
#define GPR_PKT_HEADER_WORD_SIZE_V 
```

### `GPR_PKT_HEADER_BYTE_SIZE_V`

Header size in number of bytes.

```c theme={null}
#define GPR_PKT_HEADER_BYTE_SIZE_V 
```

### `GPR_UNDEFINED_ID_V`

Undefined value where a valid GUID is expected.

```c theme={null}
#define GPR_UNDEFINED_ID_V 
```

### `GPR_PKT_INIT_CLIENT_DATA_V`

Uninitialized client data value.

```c theme={null}
#define GPR_PKT_INIT_CLIENT_DATA_V 
```

### `GPR_PKT_VERSION_MASK`

Bitmask of the version field.

```c theme={null}
#define GPR_PKT_VERSION_MASK AR_NON_GUID( 0x0000000F )
```

### `GPR_PKT_VERSION_SHFT`

Bit shift of the version field.

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

### `GPR_PKT_HEADER_SIZE_MASK`

Bitmask of the header size field.

```c theme={null}
#define GPR_PKT_HEADER_SIZE_MASK AR_NON_GUID( 0x000000F0 )
```

### `GPR_PKT_HEADER_SIZE_SHFT`

Bit shift of the header size field.

```c theme={null}
#define GPR_PKT_HEADER_SIZE_SHFT ( 4 )
```

### `GPR_PKT_RESERVED_MASK`

Bitmask of the reserved field.

```c theme={null}
#define GPR_PKT_RESERVED_MASK AR_NON_GUID( 0xFFF00000 )
```

### `GPR_PKT_RESERVED_SHFT`

Bit shift of the reserved field.

```c theme={null}
#define GPR_PKT_RESERVED_SHFT ( 20 )
```

### `GPR_PKT_PACKET_SIZE_MASK`

Bitmask of the packet size field.

```c theme={null}
#define GPR_PKT_PACKET_SIZE_MASK AR_NON_GUID( 0xFFFFFF00 )
```

### `GPR_PKT_PACKET_SIZE_SHFT`

Bit shift of the packet size field.

```c theme={null}
#define GPR_PKT_PACKET_SIZE_SHFT ( 8 )
```

### `GPR_GET_BITMASK`

Gets the value of a field, including the specified mask and shift.

```c theme={null}
#define GPR_GET_BITMASK 
```

### `GPR_SET_BITMASK`

Sets a value in a field, including the specified mask and shift.

```c theme={null}
#define GPR_SET_BITMASK 
```

### `GPR_GET_FIELD`

Gets the value of a field.

```c theme={null}
#define GPR_GET_FIELD 
```

### `GPR_SET_FIELD`

Sets a value in a field.

```c theme={null}
#define GPR_SET_FIELD 
```

### `GPR_PTR_END_OF`

Returns an 8-bit aligned pointer to a base address pointer plus an offset in bytes.

```c theme={null}
#define GPR_PTR_END_OF 
```

### `GPR_PKT_GET_PACKET_BYTE_SIZE`

Given the packet header, returns the packet's current size in bytes.

```c theme={null}
#define GPR_PKT_GET_PACKET_BYTE_SIZE 
```

### `GPR_PKT_GET_HEADER_BYTE_SIZE`

Given the packet header, returns the header's current size in bytes.

```c theme={null}
#define GPR_PKT_GET_HEADER_BYTE_SIZE 
```

### `GPR_PKT_GET_PAYLOAD_BYTE_SIZE`

Given the packet header, returns the payload's current size in bytes.

```c theme={null}
#define GPR_PKT_GET_PAYLOAD_BYTE_SIZE 
```

### `GPR_PKT_GET_PAYLOAD`

Given the packet, returns a pointer to the beginning of the packet's payload.

```c theme={null}
#define GPR_PKT_GET_PAYLOAD 
```

## Variables

### `proc_id`

```cpp theme={null}
int32_t proc_id
```

### `proc_name`

```cpp theme={null}
char_t proc_name
```
