> ## 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 Data Types

## Structures

### `dspqueue_buffer`

Buffer reference in a packet.

**Members**

<ParamField path="fd" type="uint32_t">
  Buffer file descriptor.
</ParamField>

<ParamField path="size" type="uint32_t">
  Buffer size in bytes.
</ParamField>

<ParamField path="offset" type="uint32_t">
  Offset within the buffer in bytes as allocated and mapped.
</ParamField>

<ParamField path="flags" type="uint32_t">
  Buffer flags, see enum dspqueue\_buffer\_flags.
</ParamField>

<ParamField path="ptr" type="void *">
  Buffer virtual address; NULL if not mapped in the local context.
</ParamField>

<ParamField path="address" type="uint64_t" />

<ParamField path="" type="union dspqueue_buffer" />

### `dspqueue_create_req`

**Members**

<ParamField path="ctx" type="uint64_t" />

<ParamField path="flags" type="uint64_t" />

<ParamField path="req_queue_size" type="uint32_t" />

<ParamField path="resp_queue_size" type="uint32_t" />

<ParamField path="priority" type="uint32_t" />

<ParamField path="packet_callback" type="dspqueue_callback_t" />

<ParamField path="error_callback" type="dspqueue_callback_t" />

<ParamField path="callback_context" type="void *" />

<ParamField path="queue" type="dspqueue_t" />

<ParamField path="ids" type="uint64_t *" />

<ParamField path="num_ids" type="uint32_t" />

### `dspqueue_request_payload`

**Members**

<ParamField path="id" type="dspqueue_request_req_id" />

<ParamField path="create" type="dspqueue_create_req" />

<ParamField path="" type="union dspqueue_request_payload" />

## Type Definitions

### `dspqueue_t`

Queue handle.

```cpp theme={null}
typedef struct dspqueue * dspqueue_t
```

### `dspqueue_callback_t`

Callback function type for all queue callbacks.

```cpp theme={null}
typedef void(* dspqueue_callback_t
```

### `dspqueue_create_req`

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

### `dspqueue_request_payload`

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