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

# Asynchronous DSP Packet Queue API Constants

## Enumerations

### `dspqueue_packet_flags`

Packet flags.

#### Values

| Name | Value | Description |
| - | - | - |
| `DSPQUEUE_PACKET_FLAG_MESSAGE` | =       0x0001 | Packet contains a message. |
| `DSPQUEUE_PACKET_FLAG_BUFFERS` | =       0x0002 | Packet contains buffer references. |
| `DSPQUEUE_PACKET_FLAG_WAKEUP` | =        0x0004 | Early wakeup packet. |
| `DSPQUEUE_PACKET_FLAG_DRIVER_READY` | =  0x0008 | Packet is ready for driver consumption. |
| `DSPQUEUE_PACKET_FLAG_USER_READY` | =    0x0010 | Packet is ready for userspace library consumption. |
| `DSPQUEUE_PACKET_FLAG_RESERVED_ZERO` | = 0xffe0 | |

### `dspqueue_buffer_flags`

Buffer flags.

#### Values

| Name | Value | Description |
| - | - | - |
| `DSPQUEUE_BUFFER_FLAG_REF` | =                  0x00000004 | Add a reference to a previously mapped buffer. |
| `DSPQUEUE_BUFFER_FLAG_DEREF` | =                0x00000008 | Remove a reference from a previously mapped buffer. |
| `DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER` | =         0x00000010 | Flush buffer from sender caches. |
| `DSPQUEUE_BUFFER_FLAG_INVALIDATE_SENDER` | =    0x00000020 | Invalidate buffer from sender caches. |
| `DSPQUEUE_BUFFER_FLAG_FLUSH_RECIPIENT` | =      0x00000040 | Flush buffer from recipient caches. |
| `DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT` | = 0x00000080 | Invalidate buffer from recipient caches. |
| `DSPQUEUE_BUFFER_FLAG_RESERVED_ZERO` | =        0xffffff00 | |

### `dspqueue_stat`

Statistics readable with dspqueue\_get\_stat()

#### Values

| Name | Value | Description |
| - | - | - |
| `DSPQUEUE_STAT_READ_QUEUE_PACKETS` | = 1 | Numbers of packets in the read queue. |
| `DSPQUEUE_STAT_READ_QUEUE_BYTES` | | Number of bytes in the read queue. |
| `DSPQUEUE_STAT_WRITE_QUEUE_PACKETS` | | Number of packets in the write queue. |
| `DSPQUEUE_STAT_WRITE_QUEUE_BYTES` | | Number of bytes in the write queue. |
| `DSPQUEUE_STAT_EARLY_WAKEUP_WAIT_TIME` | | Total accumulated early wakeup wait time in microseconds. |
| `DSPQUEUE_STAT_EARLY_WAKEUP_MISSES` | | Number accumulated of packets missed in the early wakeup loop. |
| `DSPQUEUE_STAT_SIGNALING_PERF` | | Signaling performance; 0 or undefined indicates the first implementation, DSPQUEUE\_SIGNALING\_PERF\_REDUCED\_SIGNALING or higher a version if reduced signaling for polling clients. |

### `dspqueue_request_req_id`

#### Values

| Name | Value | Description |
| - | - | - |
| `DSPQUEUE_CREATE` | | |

## Macros

### `DSPQUEUE_TIMEOUT_NONE`

Infinite timeout.

```c theme={null}
#define DSPQUEUE_TIMEOUT_NONE 0xffffffff
```

### `DSPQUEUE_SIGNALING_PERF_REDUCED_SIGNALING`

Signaling performance level: Reduced signaling for polling clients.

```c theme={null}
#define DSPQUEUE_SIGNALING_PERF_REDUCED_SIGNALING 100
```

### `DSPQUEUE_SIGNALING_PERF_OPTIMIZED_SIGNALING`

Signaling performance level: Optimized signaling for all clients.

```c theme={null}
#define DSPQUEUE_SIGNALING_PERF_OPTIMIZED_SIGNALING 1000
```
