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

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