#include <stdlib.h>
#include <stdint.h>
#include <AEEStdDef.h>
Go to the source code of this file.
Classes | |
struct | dspqueue_buffer |
Macros | |
#define | DSPQUEUE_TIMEOUT_NONE 0xffffffff |
Typedefs | |
typedef struct dspqueue * | dspqueue_t |
typedef void(* | dspqueue_callback_t) (dspqueue_t queue, AEEResult error, void *context) |
Enumerations | |
enum | dspqueue_packet_flags { DSPQUEUE_PACKET_FLAG_MESSAGE = 0x0001, DSPQUEUE_PACKET_FLAG_BUFFERS = 0x0002, DSPQUEUE_PACKET_FLAG_WAKEUP = 0x0004, DSPQUEUE_PACKET_FLAG_DRIVER_READY = 0x0008, DSPQUEUE_PACKET_FLAG_USER_READY = 0x0010, DSPQUEUE_PACKET_FLAG_RESERVED_ZERO = 0xffe0 } |
enum | dspqueue_buffer_flags { DSPQUEUE_BUFFER_FLAG_REF = 0x00000004, DSPQUEUE_BUFFER_FLAG_DEREF = 0x00000008, DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER = 0x00000010, DSPQUEUE_BUFFER_FLAG_INVALIDATE_SENDER = 0x00000020, DSPQUEUE_BUFFER_FLAG_FLUSH_RECIPIENT = 0x00000040, DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT = 0x00000080, DSPQUEUE_BUFFER_FLAG_RESERVED_ZERO = 0xffffff00 } |
enum | dspqueue_stat { DSPQUEUE_STAT_READ_QUEUE_PACKETS = 1, DSPQUEUE_STAT_READ_QUEUE_BYTES, DSPQUEUE_STAT_WRITE_QUEUE_PACKETS, DSPQUEUE_STAT_WRITE_QUEUE_BYTES, DSPQUEUE_STAT_EARLY_WAKEUP_WAIT_TIME, DSPQUEUE_STAT_EARLY_WAKEUP_MISSES } |
Functions | |
AEEResult | dspqueue_create (int domain, uint32_t flags, uint32_t req_queue_size, uint32_t resp_queue_size, dspqueue_callback_t packet_callback, dspqueue_callback_t error_callback, void *callback_context, dspqueue_t *queue) |
AEEResult | dspqueue_close (dspqueue_t queue) |
AEEResult | dspqueue_export (dspqueue_t queue, uint64_t *queue_id) |
AEEResult | dspqueue_import (uint64_t queue_id, dspqueue_callback_t packet_callback, dspqueue_callback_t error_callback, void *callback_context, dspqueue_t *queue) |
AEEResult | dspqueue_write_noblock (dspqueue_t queue, uint32_t flags, uint32_t num_buffers, struct dspqueue_buffer *buffers, uint32_t message_length, const uint8_t *message) |
AEEResult | dspqueue_write (dspqueue_t queue, uint32_t flags, uint32_t num_buffers, struct dspqueue_buffer *buffers, uint32_t message_length, const uint8_t *message, uint32_t timeout_us) |
AEEResult | dspqueue_read_noblock (dspqueue_t queue, uint32_t *flags, uint32_t max_buffers, uint32_t *num_buffers, struct dspqueue_buffer *buffers, uint32_t max_message_length, uint32_t *message_length, uint8_t *message) |
AEEResult | dspqueue_read (dspqueue_t queue, uint32_t *flags, uint32_t max_buffers, uint32_t *num_buffers, struct dspqueue_buffer *buffers, uint32_t max_message_length, uint32_t *message_length, uint8_t *message, uint32_t timeout_us) |
AEEResult | dspqueue_peek_noblock (dspqueue_t queue, uint32_t *flags, uint32_t *num_buffers, uint32_t *message_length) |
AEEResult | dspqueue_peek (dspqueue_t queue, uint32_t *flags, uint32_t *num_buffers, uint32_t *message_length, uint32_t timeout_us) |
AEEResult | dspqueue_write_early_wakeup_noblock (dspqueue_t queue, uint32_t wakeup_delay, uint32_t packet_flags) |
AEEResult | dspqueue_get_stat (dspqueue_t queue, enum dspqueue_stat stat, uint64_t *value) |
Asynchronous DSP Packet Queue API.