AudioScience HPI Version_4.20.5
Data Structures | Defines | Typedefs | Enumerations | Functions

E:/asi/sw/drv/hpi/hpi.h File Reference

AudioScience Hardware Programming Interface (HPI) public API definition. More...

#include <stdlib.h>
#include <stdint.h>

Data Structures

struct  hpi_format
 Structure containing sample format information. More...
struct  hpi_async_event
 An object for containing a single async event. More...
struct  hpi_dab_service_component
 Basic component information. More...
struct  hpi_dab_service_info
 Information about a DAB service. More...
struct  hpi_dab_component_info
 Detailed DAB component information. More...
struct  hpi_service_data_packet_info
 Header for DAB data packets. More...
struct  hpi_control_t
 Help structure for representing control location and type. More...

Defines

#define HPI_OS_WIN32_USER
 Define when creating a 32 bit Windows user application.
#define HPI_OS_LINUX
 Define when creating a Linux application.
#define HPI_BUILD_64BIT
 Define this when building a 64 bit application.
#define HPI_BUILD_INCLUDE_DEPRECATED
 Define this to enable deprecated functions and defines.
#define HPI_BUILD_DISABLE_DEPRECATED_TYPE_WARNINGS
 Define this to remove legacy type warnings.
#define HPIDLL_IMPORTS
 Define when building an application that links to ASIHPI32.LIB (imports HPI functions from ASIHPI32.DLL).
#define HPIDLL_EXPORTS
 Define when creating an application that uses the HPI DLL.
#define HPIDLL_STATIC
 Define when building an application that compiles in HPIFUNC.C and does not use ASIHPI32.DLL.
#define HPI_UNITS_PER_dB   100
 volumes units are 100ths of a dB
#define HPI_GAIN_OFF   (-100 * HPI_UNITS_PER_dB)
 turns volume control OFF or MUTE
#define HPI_BITMASK_ALL_CHANNELS   (0xFFFFFFFF)
 channel mask specifying all channels
#define HPI_METER_MINIMUM   (-150 * HPI_UNITS_PER_dB)
 value returned for no signal
#define HPI_PAD_CHANNEL_NAME_LEN   16
 The text string containing the station/channel combination.
#define HPI_PAD_ARTIST_LEN   64
 The text string containing the artist.
#define HPI_PAD_TITLE_LEN   64
 The text string containing the title.
#define HPI_PAD_COMMENT_LEN   256
 The text string containing the comment.
#define HPI_PAD_PROGRAM_TYPE_INVALID   0xffff
 The PTY when the tuner has not received any PTY.
#define HPI_MAX_ADAPTERS   20
 Maximum number of PCI HPI adapters.
#define HPI_MAX_STREAMS   32
 Maximum number of in or out streams per adapter.
#define HPI_MAX_ANC_BYTES_PER_FRAME   (64)
 maximum number of ancillary bytes per MPEG frame
#define HPI_MIN_NETWORK_ADAPTER_IDX   100
 Networked adapters have index >= 100.
#define HPI_OSTREAM_VELOCITY_UNITS   4096
 Velocity units.
#define HPI_OSTREAM_TIMESCALE_UNITS   10000
 OutStream timescale units.
#define HPI_OSTREAM_TIMESCALE_PASSTHROUGH   99999
 OutStream timescale passthrough - turns timescaling on in passthough mode.

Typedefs

typedef uint16_t hpi_err_t
 An HPI error code HPI_ERROR_CODES.
typedef uint32_t hpi_handle_t
 An HPI object handle.

Enumerations

enum  HPI_FORMATS {
  HPI_FORMAT_MIXER_NATIVE = 0, HPI_FORMAT_PCM8_UNSIGNED = 1, HPI_FORMAT_PCM16_SIGNED = 2, HPI_FORMAT_MPEG_L1 = 3,
  HPI_FORMAT_MPEG_L2 = 4, HPI_FORMAT_MPEG_L3 = 5, HPI_FORMAT_DOLBY_AC2 = 6, HPI_FORMAT_DOLBY_AC3 = 7,
  HPI_FORMAT_PCM16_BIGENDIAN = 8, HPI_FORMAT_AA_TAGIT1_HITS = 9, HPI_FORMAT_AA_TAGIT1_INSERTS = 10, HPI_FORMAT_PCM32_SIGNED = 11,
  HPI_FORMAT_RAW_BITSTREAM = 12, HPI_FORMAT_AA_TAGIT1_HITS_EX1 = 13, HPI_FORMAT_PCM32_FLOAT = 14, HPI_FORMAT_PCM24_SIGNED = 15,
  HPI_FORMAT_OEM1 = 16, HPI_FORMAT_OEM2 = 17, HPI_FORMAT_UNDEFINED = 0xffff
}
 

Audio format types.

More...
enum  HPI_STREAM_STATES {
  HPI_STATE_STOPPED = 1, HPI_STATE_PLAYING = 2, HPI_STATE_RECORDING = 3, HPI_STATE_DRAINED = 4,
  HPI_STATE_SINEGEN = 5, HPI_STATE_WAIT = 6
}
 

Stream States.

More...
enum  HPI_SOURCENODES {
  HPI_SOURCENODE_NONE = 100, HPI_SOURCENODE_OSTREAM = 101, HPI_SOURCENODE_LINEIN = 102, HPI_SOURCENODE_AESEBU_IN = 103,
  HPI_SOURCENODE_TUNER = 104, HPI_SOURCENODE_RF = 105, HPI_SOURCENODE_CLOCK_SOURCE = 106, HPI_SOURCENODE_RAW_BITSTREAM = 107,
  HPI_SOURCENODE_MICROPHONE = 108, HPI_SOURCENODE_COBRANET = 109, HPI_SOURCENODE_ANALOG = 110, HPI_SOURCENODE_ADAPTER = 111,
  HPI_SOURCENODE_RTP_DESTINATION = 112, HPI_SOURCENODE_INTERNAL = 113, HPI_SOURCENODE_AVB_STREAM = 114, HPI_SOURCENODE_BLULINK = 115,
  HPI_SOURCENODE_AVB_AUDIO = 116, HPI_SOURCENODE_LAST_INDEX = 116
}
 

Source node types.

More...
enum  HPI_DESTNODES {
  HPI_DESTNODE_NONE = 200, HPI_DESTNODE_ISTREAM = 201, HPI_DESTNODE_LINEOUT = 202, HPI_DESTNODE_AESEBU_OUT = 203,
  HPI_DESTNODE_RF = 204, HPI_DESTNODE_SPEAKER = 205, HPI_DESTNODE_COBRANET = 206, HPI_DESTNODE_ANALOG = 207,
  HPI_DESTNODE_RTP_SOURCE = 208, HPI_DESTNODE_AVB_STREAM = 209, HPI_DESTNODE_INTERNAL = 210, HPI_DESTNODE_BLULINK = 211,
  HPI_DESTNODE_AVB_AUDIO = 212, HPI_DESTNODE_LAST_INDEX = 212
}
 

Destination node types.

More...
enum  HPI_CONTROLS {
  HPI_CONTROL_GENERIC = 0, HPI_CONTROL_CONNECTION = 1, HPI_CONTROL_VOLUME = 2, HPI_CONTROL_METER = 3 ,
  HPI_CONTROL_MULTIPLEXER = 5, HPI_CONTROL_AESEBU_TRANSMITTER = 6 , HPI_CONTROL_AESEBU_RECEIVER = 7 , HPI_CONTROL_LEVEL = 8,
  HPI_CONTROL_TUNER = 9, HPI_CONTROL_VOX = 11, HPI_CONTROL_CHANNEL_MODE = 15, HPI_CONTROL_BITSTREAM = 16,
  HPI_CONTROL_SAMPLECLOCK = 17, HPI_CONTROL_MICROPHONE = 18, HPI_CONTROL_PARAMETRIC_EQ = 19 , HPI_CONTROL_COMPANDER = 20,
  HPI_CONTROL_COBRANET = 21, HPI_CONTROL_TONEDETECTOR = 22, HPI_CONTROL_SILENCEDETECTOR = 23, HPI_CONTROL_PAD = 24,
  HPI_CONTROL_SRC = 25, HPI_CONTROL_UNIVERSAL = 26, HPI_CONTROL_LAST_INDEX = 26
}
 

Mixer control types.

More...
enum  HPI_ADAPTER_PROPERTIES { ,
  HPI_ADAPTER_PROPERTY_GROUPING = 2, HPI_ADAPTER_PROPERTY_ENABLE_SSX2 = 3, HPI_ADAPTER_PROPERTY_SSX2_SETTING = 4, HPI_ADAPTER_PROPERTY_IRQ_RATE = 5,
  HPI_ADAPTER_PROPERTY_READONLYBASE = 256, HPI_ADAPTER_PROPERTY_LATENCY = 256, HPI_ADAPTER_PROPERTY_GRANULARITY = 257, HPI_ADAPTER_PROPERTY_CURCHANNELS = 258,
  HPI_ADAPTER_PROPERTY_SOFTWARE_VERSION = 259, HPI_ADAPTER_PROPERTY_MAC_ADDRESS_MSB = 260, HPI_ADAPTER_PROPERTY_MAC_ADDRESS_LSB = 261, HPI_ADAPTER_PROPERTY_EXTENDED_ADAPTER_TYPE = 262,
  HPI_ADAPTER_PROPERTY_LOGTABLEN = 263 , HPI_ADAPTER_PROPERTY_IP_ADDRESS = 265, HPI_ADAPTER_PROPERTY_BUFFER_UPDATE_COUNT = 266, HPI_ADAPTER_PROPERTY_INTERVAL = 267,
  HPI_ADAPTER_PROPERTY_CAPS1 = 268, HPI_ADAPTER_PROPERTY_CAPS2 = 269, HPI_ADAPTER_PROPERTY_SYNC_HEADER_CONNECTIONS = 270, HPI_ADAPTER_PROPERTY_SUPPORTS_SSX2 = 271,
  HPI_ADAPTER_PROPERTY_SUPPORTS_IRQ = 272, HPI_ADAPTER_PROPERTY_SUPPORTS_FW_UPDATE = 273, HPI_ADAPTER_PROPERTY_FIRMWARE_ID = 274, HPI_ADAPTER_PROPERTY_OUTSTREAM_FORMATS_SUPPORTED = 275,
  HPI_ADAPTER_PROPERTY_INSTREAM_FORMATS_SUPPORTED = 276, HPI_ADAPTER_PROPERTY_STREAM_HOST_BUFFER_REQUIRED = 277
}
 

Adapter properties These are used in HPI_AdapterSetProperty() and HPI_AdapterGetProperty()

More...
enum  HPI_ADAPTER_MODE_CMDS { HPI_ADAPTER_MODE_SET = 0, HPI_ADAPTER_MODE_QUERY = 1 }
 

Adapter mode commands.

More...
enum  HPI_ADAPTER_MODES {
  HPI_ADAPTER_MODE_4OSTREAM = 1, HPI_ADAPTER_MODE_6OSTREAM = 2, HPI_ADAPTER_MODE_8OSTREAM = 3, HPI_ADAPTER_MODE_16OSTREAM = 4,
  HPI_ADAPTER_MODE_1OSTREAM = 5, HPI_ADAPTER_MODE_1 = 6, HPI_ADAPTER_MODE_2 = 7, HPI_ADAPTER_MODE_3 = 8,
  HPI_ADAPTER_MODE_MULTICHANNEL = 9, HPI_ADAPTER_MODE_12OSTREAM = 10, HPI_ADAPTER_MODE_9OSTREAM = 11, HPI_ADAPTER_MODE_MONO = 12,
  HPI_ADAPTER_MODE_LOW_LATENCY = 13, HPI_ADAPTER_MODE_24OSTREAM = 14, HPI_ADAPTER_MODE_32OSTREAM = 15
}
 

Adapter Modes These are used by HPI_AdapterSetModeEx()

More...
enum  HPI_MPEG_ANC_MODES { HPI_MPEG_ANC_HASENERGY = 0, HPI_MPEG_ANC_RAW = 1 }
 

MPEG Ancillary Data modes.

More...
enum  HPI_ISTREAM_MPEG_ANC_ALIGNS { HPI_MPEG_ANC_ALIGN_LEFT = 0, HPI_MPEG_ANC_ALIGN_RIGHT = 1 }
 

Ancillary Data Alignment.

More...
enum  HPI_MPEG_MODES { HPI_MPEG_MODE_DEFAULT = 0, HPI_MPEG_MODE_STEREO = 1, HPI_MPEG_MODE_JOINTSTEREO = 2, HPI_MPEG_MODE_DUALCHANNEL = 3 }
 

MPEG modes MPEG modes - can be used optionally for HPI_FormatCreate() parameter dwAttributes.

More...
enum  HPI_MIXER_STORE_COMMAND {
  HPI_MIXER_STORE_SAVE = 1, HPI_MIXER_STORE_RESTORE = 2, HPI_MIXER_STORE_DELETE = 3, HPI_MIXER_STORE_ENABLE = 4,
  HPI_MIXER_STORE_DISABLE = 5, HPI_MIXER_STORE_SAVE_SINGLE = 6
}
 

Commands used by HPI_MixerStore()

More...
enum  HPI_SWITCH_STATES { HPI_SWITCH_OFF = 0, HPI_SWITCH_ON = 1 }
 

Used by mixer plugin enable functions.

More...
enum  HPI_VOLUME_AUTOFADES { HPI_VOLUME_AUTOFADE_LOG = 2, HPI_VOLUME_AUTOFADE_LINEAR = 3 }
 

autofade profiles

More...
enum  HPI_AESEBU_FORMATS { HPI_AESEBU_FORMAT_AESEBU = 1, HPI_AESEBU_FORMAT_SPDIF = 2 }
 

The physical encoding format of the AESEBU I/O.

More...
enum  HPI_AESEBU_ERRORS {
  HPI_AESEBU_ERROR_NOT_LOCKED = 0x01, HPI_AESEBU_ERROR_POOR_QUALITY = 0x02, HPI_AESEBU_ERROR_PARITY_ERROR = 0x04, HPI_AESEBU_ERROR_BIPHASE_VIOLATION = 0x08,
  HPI_AESEBU_ERROR_VALIDITY = 0x10, HPI_AESEBU_ERROR_CRC = 0x20
}
 

AES/EBU error status bits.

More...
enum  eHPI_RDS_type { HPI_RDS_DATATYPE_RDS = 0, HPI_RDS_DATATYPE_RBDS = 1 }
 

Data types for PTY string translation.

More...
enum  HPI_TUNER_BAND {
  HPI_TUNER_BAND_AM = 1, HPI_TUNER_BAND_FM = 2, HPI_TUNER_BAND_TV_NTSC_M = 3 , HPI_TUNER_BAND_FM_STEREO = 4,
  HPI_TUNER_BAND_AUX = 5, HPI_TUNER_BAND_TV_PAL_BG = 6, HPI_TUNER_BAND_TV_PAL_I = 7, HPI_TUNER_BAND_TV_PAL_DK = 8,
  HPI_TUNER_BAND_TV_SECAM_L = 9 , HPI_TUNER_BAND_LAST = 10
}
 

Tuner bands.

More...
enum  HPI_TUNER_MODES { HPI_TUNER_MODE_RSS = 1, HPI_TUNER_MODE_RDS = 2 }
 

Tuner mode attributes.

More...
enum  HPI_TUNER_MODE_VALUES {
  HPI_TUNER_MODE_RSS_DISABLE = 0, HPI_TUNER_MODE_RSS_ENABLE = 1, HPI_TUNER_MODE_RDS_DISABLE = 0, HPI_TUNER_MODE_RDS_RDS = 1,
  HPI_TUNER_MODE_RDS_RBDS = 2
}
 

Tuner mode attribute values.

More...
enum  HPI_TUNER_STATUS_BITS {
  HPI_TUNER_VIDEO_COLOR_PRESENT = 0x0001, HPI_TUNER_VIDEO_IS_60HZ = 0x0020, HPI_TUNER_VIDEO_HORZ_SYNC_MISSING = 0x0040, HPI_TUNER_VIDEO_STATUS_VALID = 0x0100,
  HPI_TUNER_DIGITAL = 0x0200, HPI_TUNER_MULTIPROGRAM = 0x0400, HPI_TUNER_PLL_LOCKED = 0x1000, HPI_TUNER_FM_STEREO = 0x2000
}
 

Tuner Status Bits.

More...
enum  HPI_CHANNEL_MODES {
  HPI_CHANNEL_MODE_NORMAL = 1, HPI_CHANNEL_MODE_SWAP = 2, HPI_CHANNEL_MODE_LEFT_TO_STEREO = 3, HPI_CHANNEL_MODE_RIGHT_TO_STEREO = 4,
  HPI_CHANNEL_MODE_STEREO_TO_LEFT = 5, HPI_CHANNEL_MODE_STEREO_TO_RIGHT = 6
}
 

Channel Modes Used for HPI_ChannelModeSet/Get()

More...
enum  HPI_SAMPLECLOCK_SOURCES {
  HPI_SAMPLECLOCK_SOURCE_LOCAL = 1, HPI_SAMPLECLOCK_SOURCE_AESEBU_SYNC = 2, HPI_SAMPLECLOCK_SOURCE_WORD = 3, HPI_SAMPLECLOCK_SOURCE_WORD_HEADER = 4,
  HPI_SAMPLECLOCK_SOURCE_SMPTE = 5, HPI_SAMPLECLOCK_SOURCE_AESEBU_INPUT = 6, HPI_SAMPLECLOCK_SOURCE_NETWORK = 8, HPI_SAMPLECLOCK_SOURCE_PREV_MODULE = 10,
  HPI_SAMPLECLOCK_SOURCE_BLULINK = 11, HPI_SAMPLECLOCK_SOURCE_LAST = 11
}
 

SampleClock source values.

More...
enum  HPI_FILTER_TYPE {
  HPI_FILTER_TYPE_BYPASS = 0, HPI_FILTER_TYPE_LOWSHELF = 1, HPI_FILTER_TYPE_HIGHSHELF = 2, HPI_FILTER_TYPE_EQ_BAND = 3,
  HPI_FILTER_TYPE_LOWPASS = 4, HPI_FILTER_TYPE_HIGHPASS = 5, HPI_FILTER_TYPE_BANDPASS = 6, HPI_FILTER_TYPE_BANDSTOP = 7
}
 

Equalizer filter types.

More...
enum  ASYNC_EVENT_SOURCES { HPI_ASYNC_EVENT_GPIO = 1, HPI_ASYNC_EVENT_SILENCE = 2, HPI_ASYNC_EVENT_TONE = 3 }
 

Async Event sources.

More...
enum  HPI_ERROR_CODES {
  HPI_ERROR_INVALID_TYPE = 100, HPI_ERROR_INVALID_OBJ = 101, HPI_ERROR_INVALID_FUNC = 102, HPI_ERROR_INVALID_OBJ_INDEX = 103,
  HPI_ERROR_OBJ_NOT_OPEN = 104, HPI_ERROR_OBJ_ALREADY_OPEN = 105, HPI_ERROR_INVALID_RESOURCE = 106, HPI_ERROR_INVALID_RESPONSE = 108,
  HPI_ERROR_PROCESSING_MESSAGE = 109, HPI_ERROR_NETWORK_TIMEOUT = 110 , HPI_ERROR_UNIMPLEMENTED = 112, HPI_ERROR_NETWORK_TOO_MANY_CLIENTS = 113,
  HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL = 114, HPI_ERROR_RESPONSE_MISMATCH = 115, HPI_ERROR_CONTROL_CACHING = 116, HPI_ERROR_MESSAGE_BUFFER_TOO_SMALL = 117,
  HPI_ERROR_BAD_ADAPTER = 201, HPI_ERROR_BAD_ADAPTER_NUMBER = 202, HPI_ERROR_DUPLICATE_ADAPTER_NUMBER = 203, HPI_ERROR_DSP_BOOTLOAD = 204,
  HPI_ERROR_DSP_FILE_NOT_FOUND = 206, HPI_ERROR_DSP_HARDWARE = 207, HPI_ERROR_MEMORY_ALLOC = 208, HPI_ERROR_PLD_LOAD = 209,
  HPI_ERROR_DSP_FILE_FORMAT = 210, HPI_ERROR_DSP_FILE_ACCESS_DENIED = 211, HPI_ERROR_DSP_FILE_NO_HEADER = 212, HPI_ERROR_DSP_SECTION_NOT_FOUND = 214,
  HPI_ERROR_DSP_FILE_OTHER_ERROR = 215, HPI_ERROR_DSP_FILE_SHARING_VIOLATION = 216, HPI_ERROR_DSP_FILE_NULL_HEADER = 217, HPI_ERROR_DSP_0 = 218,
  HPI_ERROR_DSP_1 = 219, HPI_ERROR_BAD_CHECKSUM = 221 , HPI_ERROR_RESERVED_1 = 290, HPI_ERROR_INVALID_FORMAT = 301,
  HPI_ERROR_INVALID_SAMPLERATE = 302, HPI_ERROR_INVALID_CHANNELS = 303, HPI_ERROR_INVALID_BITRATE = 304, HPI_ERROR_INVALID_DATASIZE = 305,
  HPI_ERROR_INVALID_DATA_POINTER = 308, HPI_ERROR_INVALID_PACKET_ORDER = 309, HPI_ERROR_INVALID_OPERATION = 310, HPI_ERROR_INCOMPATIBLE_SAMPLERATE = 311,
  HPI_ERROR_BAD_ADAPTER_MODE = 312, HPI_ERROR_TOO_MANY_CAPABILITY_CHANGE_ATTEMPTS = 313, HPI_ERROR_NO_INTERADAPTER_GROUPS = 314, HPI_ERROR_NO_INTERDSP_GROUPS = 315,
  HPI_ERROR_WAIT_CANCELLED = 316, HPI_ERROR_INVALID_STRING = 317, HPI_ERROR_INVALID_NODE = 400, HPI_ERROR_INVALID_CONTROL = 401,
  HPI_ERROR_INVALID_CONTROL_VALUE = 402, HPI_ERROR_INVALID_CONTROL_ATTRIBUTE = 403, HPI_ERROR_CONTROL_DISABLED = 404, HPI_ERROR_CONTROL_I2C_MISSING_ACK = 405 ,
  HPI_ERROR_CONTROL_NOT_READY = 407, HPI_ERROR_NVMEM_BUSY = 450 , HPI_ERROR_I2C_BAD_ADR = 460, HPI_ERROR_ENTITY_TYPE_MISMATCH = 470,
  HPI_ERROR_ENTITY_ITEM_COUNT = 471, HPI_ERROR_ENTITY_TYPE_INVALID = 472, HPI_ERROR_ENTITY_ROLE_INVALID = 473, HPI_ERROR_ENTITY_SIZE_MISMATCH = 474,
  HPI_ERROR_CUSTOM = 600, HPI_ERROR_MUTEX_TIMEOUT = 700, HPI_ERROR_WAIT_TIMEOUT = 701, HPI_ERROR_WAIT_INTERRUPTED = 702,
  HPI_ERROR_BACKEND_BASE = 900, HPI_ERROR_DSP_COMMUNICATION = 900
}
 

HPI Error codes.

More...
enum  e_entity_type { ,
  entity_type_sequence = 1, entity_type_reference = 2, entity_type_int = 3, entity_type_float = 4,
  entity_type_double = 5, entity_type_cstring = 6, entity_type_octet = 7, entity_type_ip4_address = 8,
  entity_type_ip6_address = 9, entity_type_mac_address = 10, entity_type_boolean = 11
}
 

Type tags used in hpi_entity structures.

More...
enum  e_entity_role {
  entity_role_null = 0, entity_role_value = 1, entity_role_classname = 2, entity_role_units = 3,
  entity_role_flags = 4, entity_role_range = 5, entity_role_mapping = 6, entity_role_enum = 7 ,
  entity_role_value_constraint = 11, entity_role_parameter_port = 12, entity_role_block = 13, entity_role_label = 14,
  entity_role_key = 15, entity_role_value_label = 16
}
 

Role tags used in hpi_entity structures.

More...
enum  e_entity_flag_values { entity_flag_writeable = 1, entity_flag_readable = 2, entity_flag_volatile = 4, entity_flag_volatile_info = 8 }
 

Flag values used with entity_role_flags.

More...

Functions

hpi_err_t HPI_StreamEstimateBufferSize (struct hpi_format *pF, uint32_t dwHostPollingRateInMilliSeconds, uint32_t *dwRecommendedBufferSize)
 Given a format and rate that the buffer is processed, return the correct buffer size to support ping-pong buffering of audio.
hpi_err_t HPI_Entity_FindNext (struct hpi_entity *container_entity, enum e_entity_type type, enum e_entity_role role, int recursive_flag, struct hpi_entity **current_match)
 Search for an entity with the given _type_ and _role_ in a container entity.
hpi_err_t HPI_Entity_CopyValueFrom (struct hpi_entity *entity, enum e_entity_type type, size_t item_count, void *value_dst_p, size_t value_size)
 Copies item_count items from the Entity's value array into *value_dst_p.
hpi_err_t HPI_Entity_Unpack (struct hpi_entity *entity, enum e_entity_type *type, size_t *items, enum e_entity_role *role, void **value)
 Extracts information from an entity into the specified locations.
const char * HPI_Entity_GetTypeName (struct hpi_entity *entity)
 Return the typename of the entity.
const char * HPI_Entity_GetRoleName (struct hpi_entity *entity)
hpi_err_t HPI_Entity_AllocAndPack (const enum e_entity_type type, const size_t item_count, const enum e_entity_role role, const void *value, const size_t value_size, struct hpi_entity **entity)
 Allocate and initialize an entity with the provided parameters.
void HPI_Entity_Free (struct hpi_entity *entity)
 Free an hpi_entity allocated by HPI_Universal_* and HPI_Entity_* functions.
hpi_err_t HPI_Object_UriToHandle (const char *uri, hpi_handle_t *h)
 Get an object handle given the object's URI.
hpi_err_t HPI_Object_GetInfoEntity (hpi_handle_t h, struct hpi_entity **info)
 Get the complete information entity for an object addressed by handle.
hpi_err_t HPI_Object_GetValueEntity (hpi_handle_t h, struct hpi_entity **value)
 Get the value entity of an object addressed by its handle.
hpi_err_t HPI_Object_SetValueEntity (hpi_handle_t h, const struct hpi_entity *value)
 Set the value entity of an object addressed by its handle.
hpi_err_t HPI_Object_GetValue (hpi_handle_t h, enum e_entity_type type, size_t count, void *value, size_t value_size)
 Retrieve an object's value.
hpi_err_t HPI_Object_SetValue (hpi_handle_t h, enum e_entity_type type, size_t count, const void *value, size_t value_size)
 Set an object's value.
hpi_err_t HPI_Object_GetRole (hpi_handle_t hObject, enum e_entity_role *r)
 Get the object role.
hpi_err_t HPI_Object_GetInfo (hpi_handle_t hObject, enum e_entity_type type, enum e_entity_role role, void *value, size_t *value_size, size_t *value_count)
 Get information about an object.
hpi_err_t HPI_Object_BlockParameters (hpi_handle_t hMixer, hpi_handle_t block, hpi_handle_t *parameters, size_t *param_count)
 Given a block handle, return a list of parameter object handles.
hpi_err_t HPI_Object_BlockHandle (hpi_handle_t hMixer, uint16_t wSrcNodeType, uint16_t wSrcNodeTypeIndex, uint16_t wDstNodeType, uint16_t wDstNodeTypeIndex, const char *block_name, hpi_handle_t *phBlock)
 Given block location information and name, fetch an object handle for the block.
hpi_err_t HPI_Object_ParameterHandle (hpi_handle_t hMixer, hpi_handle_t hBlock, const char *parameter_name, hpi_handle_t *phParameter)
 Given a block handle and parameter name, fetch an object handle for the specified parameter.
void HPI_MemFree (void *mem)
 Free memory allocated by a previous HPI call.
hpi_hsubsys_t * HPI_SubSysCreate (void)
 HPI Subsystem create.
void HPI_SubSysFree (const hpi_hsubsys_t *phSubSys)
 HPI Subsystem free.
hpi_err_t HPI_SubSysGetVersionEx (const hpi_hsubsys_t *phSubSys, uint32_t *pdwVersionEx)
 Extended HPI_SubSysGetVersion() that returns Major, Minor and Build versions Returns extended HPI subsystem version that was embedded into the HPI module at compile time.
hpi_err_t HPI_SubSysGetNumAdapters (const hpi_hsubsys_t *phSubSys, int *pnNumAdapters)
 Return the total number of adapters including networked adapters.
hpi_err_t HPI_SubSysGetAdapter (const hpi_hsubsys_t *phSubSys, int nIterator, uint32_t *pdwAdapterIndex, uint16_t *pwAdapterType)
 Extended version of HPI_SubSysFindAdapters() that iterates through all adapters present, returning adapter index and type for each one.
hpi_err_t HPI_SubSysSetHostNetworkInterface (const hpi_hsubsys_t *phSubSys, const char *szInterface)
 Sets the HPI networking subsystem to use the network interface specified.
hpi_err_t HPI_AdapterOpen (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex)
 Opens an adapter for use.
hpi_err_t HPI_AdapterClose (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex)
 Closes the adapter associated with the wAdapterIndex.
hpi_err_t HPI_AdapterGetInfo (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t *pwNumOutStreams, uint16_t *pwNumInStreams, uint16_t *pwVersion, uint32_t *pdwSerialNumber, uint16_t *pwAdapterType)
 Obtains information about the specified adapter, including the number of output streams and number of input streams, version, serial number and it's type.
hpi_err_t HPI_AdapterGetModuleByIndex (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t wModuleIndex, uint16_t *pwNumOutputs, uint16_t *pwNumInputs, uint16_t *pwVersion, uint32_t *pdwSerialNumber, uint16_t *pwModuleType, hpi_handle_t *phModule)
 Obtains information about the specified module on an adapter, including the number of outputs and number of inputs, version, serial number and type.
hpi_err_t HPI_AdapterSetMode (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint32_t dwAdapterMode)
 Sets the operating mode of an adapter.
hpi_err_t HPI_AdapterSetModeEx (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint32_t dwAdapterMode, uint16_t wQueryOrSet)
 Adapter set mode extended.
hpi_err_t HPI_AdapterGetMode (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint32_t *pdwAdapterMode)
 Read the current adapter mode setting.
hpi_err_t HPI_AdapterGetAssert2 (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t *pAssertCount, char *pszAssert, uint32_t *pParam1, uint32_t *pParam2, uint32_t *pDspStringAddr, uint16_t *pProcessorId)
hpi_err_t HPI_AdapterTestAssert (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t wAssertId)
 This function tests that asserts are working correctly on the selected adapter.
hpi_err_t HPI_AdapterSetProperty (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t wProperty, uint16_t wParamter1, uint16_t wParamter2)
 Set an adapter property to a value.
hpi_err_t HPI_AdapterGetProperty (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t wProperty, uint16_t *pwParamter1, uint16_t *pwParamter2)
 Gets the value of an adapter property.
hpi_err_t HPI_NvMemoryOpen (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, hpi_handle_t *phNvMemory, uint16_t *pwSizeInBytes)
 Opens the non-volatile memory on a particular adapter for reading and writing.
hpi_err_t HPI_NvMemoryReadByte (const hpi_hsubsys_t *phSubSys, hpi_handle_t hNvMemory, uint16_t wIndex, uint16_t *pwData)
 Reads a byte from an adapters non-volatile memory.
hpi_err_t HPI_NvMemoryWriteByte (const hpi_hsubsys_t *phSubSys, hpi_handle_t hNvMemory, uint16_t wIndex, uint16_t wData)
 Writes a byte to an adapters non-volatile memory.
hpi_err_t HPI_GpioOpen (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, hpi_handle_t *phGpio, uint16_t *pwNumberInputBits, uint16_t *pwNumberOutputBits)
 Opens the GPIO on a particular adapter for reading and writing.
hpi_err_t HPI_GpioReadBit (const hpi_hsubsys_t *phSubSys, hpi_handle_t hGpio, uint16_t wBitIndex, uint16_t *pwBitData)
 Read a particular bit from an adapter's GPIO input port.
hpi_err_t HPI_GpioReadAllBits (const hpi_hsubsys_t *phSubSys, hpi_handle_t hGpio, uint16_t awAllBitData[4])
 Read all bits from an adapter's GPIO input ports.
hpi_err_t HPI_GpioWriteBit (const hpi_hsubsys_t *phSubSys, hpi_handle_t hGpio, uint16_t wBitIndex, uint16_t wBitData)
 Write a particular bit to an adapter's GPIO output port.
hpi_err_t HPI_GpioWriteStatus (const hpi_hsubsys_t *phSubSys, hpi_handle_t hGpio, uint16_t awAllBitData[4])
 Read back the current status of all GPIO outputs on an adapter.
hpi_err_t HPI_OutStreamOpen (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t wOutStreamIndex, hpi_handle_t *phOutStream)
 Open and initializes an output stream.
hpi_err_t HPI_OutStreamClose (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream)
 Closes an output stream and deallocates host buffers if they are being used.
hpi_err_t HPI_OutStreamGetInfoEx (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint16_t *pwState, uint32_t *pdwBufferSize, uint32_t *pdwDataToPlay, uint32_t *pdwSamplesPlayed, uint32_t *pdwAuxiliaryDataToPlay)
 Get information about attributes and state of output stream.
hpi_err_t HPI_OutStreamWriteBuf (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, const uint8_t *pbWriteBuf, uint32_t dwBytesToWrite, const struct hpi_format *pFormat)
 Writes a block of audio data to the specified output stream.
hpi_err_t HPI_OutStreamStart (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream)
 Starts an output stream playing audio data.
hpi_err_t HPI_OutStreamWaitStart (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream)
 Sets an output stream to WAIT state, ready for inter-card syncing.
hpi_err_t HPI_OutStreamStop (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream)
 Stops an output stream playing audio data.
hpi_err_t HPI_OutStreamReset (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream)
 Clears the audio data buffer of an output stream.
hpi_err_t HPI_OutStreamQueryFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, struct hpi_format *pFormat)
 Queries an OutStream to see whether it supports a certain audio format, described in pFormat.
hpi_err_t HPI_OutStreamSetFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, struct hpi_format *pFormat)
 Sets an OutStream to a certain audio format, described in pFormat.
hpi_err_t HPI_OutStreamSetVelocity (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, short nVelocity)
 Sets the playback velocity for scrubbing.
hpi_err_t HPI_OutStreamAncillaryReset (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint16_t wMode)
 Resets MPEG ancillary data extraction.
hpi_err_t HPI_OutStreamAncillaryGetInfo (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint32_t *pdwFramesAvailable)
 Returns information about the Ancillary stream.
hpi_err_t HPI_OutStreamAncillaryRead (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, struct hpi_anc_frame *pAncFrameBuffer, uint32_t dwAncFrameBufferSizeInBytes, uint32_t dwNumberOfAncillaryFramesToRead)
 Reads frames of ancillary data from a stream's ancillary data buffer to pdwBuffer.
hpi_err_t HPI_OutStreamSetTimeScale (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint32_t dwTimeScaleX10000)
 Sets the playback timescale with pitch and content preservation.
hpi_err_t HPI_OutStreamHostBufferAllocate (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint32_t dwSizeInBytes)
 Allocates a buffer inside the driver for bus mastering transfers.
hpi_err_t HPI_OutStreamHostBufferFree (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream)
 Free any buffers allocated by HPI_OutStreamHostBufferAllocate().
hpi_err_t HPI_OutStreamGroupAdd (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, hpi_handle_t hStream)
 This function adds a stream to a group of streams.
hpi_err_t HPI_OutStreamGroupGetMap (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint32_t *pdwOutStreamMap, uint32_t *pdwInStreamMap)
 This function returns information about the streams that form a group.
hpi_err_t HPI_OutStreamGroupReset (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream)
 Resets stream grouping information for a given out stream.
hpi_err_t HPI_OutStreamWait (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint32_t dwThresholdBytesToPlay)
 Returns when the output stream hits the threshold.
hpi_err_t HPI_OutStreamGetTimestamp (const hpi_hsubsys_t *phSubSys, hpi_handle_t hOutStream, uint32_t *pdwSample, uint32_t *pdwNanosPerSample, int64_t *pqwTimestamp)
 Returns the timestamp from the last stream update.
hpi_err_t HPI_InStreamOpen (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t wInStreamIndex, hpi_handle_t *phInStream)
 Open and initializes an input stream.
hpi_err_t HPI_InStreamClose (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream)
 Closes an input stream.
hpi_err_t HPI_InStreamQueryFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, const struct hpi_format *pFormat)
 Queries an input stream to see whether it supports a certain audio format, described in pFormat.
hpi_err_t HPI_InStreamSetFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, const struct hpi_format *pFormat)
 Sets the recording format for an input stream.
hpi_err_t HPI_InStreamReadBuf (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint8_t *pbReadBuf, uint32_t dwBytesToRead)
 Read data from an InStream into a buffer Reads dwBytesToRead bytes of audio data from the specified InStream into a memory buffer pointed to by pbData.
hpi_err_t HPI_InStreamStart (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream)
 Starts an input stream recording audio data.
hpi_err_t HPI_InStreamWaitStart (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream)
 Get a stream ready for sync'd start across multiple adapters.
hpi_err_t HPI_InStreamStop (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream)
 Stops an input stream recording audio data.
hpi_err_t HPI_InStreamReset (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream)
 Clears the audio data buffer of an input stream.
hpi_err_t HPI_InStreamGetInfoEx (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint16_t *pwState, uint32_t *pdwBufferSize, uint32_t *pdwDataRecorded, uint32_t *pdwSamplesRecorded, uint32_t *pdwAuxiliaryDataRecorded)
 Returns extended information about the input stream.
hpi_err_t HPI_InStreamAncillaryReset (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint16_t wBytesPerFrame, uint16_t wMode, uint16_t wAlignment, uint16_t wIdleBit)
 Initializes the MPEG Layer II / III Ancillary data channel.
hpi_err_t HPI_InStreamAncillaryGetInfo (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint32_t *pdwFrameSpace)
 Returns information about the ancillary data stream.
hpi_err_t HPI_InStreamAncillaryWrite (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, const struct hpi_anc_frame *pAncFrameBuffer, uint32_t dwAncFrameBufferSizeInBytes, uint32_t dwNumberOfAncillaryFramesToWrite)
 Writes frames to the stream's ancillary data buffer.
hpi_err_t HPI_InStreamHostBufferAllocate (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint32_t dwSizeInBytes)
 Allocates a buffer on the host PC for bus mastering transfers.
hpi_err_t HPI_InStreamHostBufferFree (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream)
 Free any buffers allocated by HPI_InStreamHostBufferAllocate.
hpi_err_t HPI_InStreamGroupAdd (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, hpi_handle_t hStream)
 This function adds a stream to a group of streams.
hpi_err_t HPI_InStreamGroupGetMap (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint32_t *pdwOutStreamMap, uint32_t *pdwInStreamMap)
 This function returns information about the streams that form a group.
hpi_err_t HPI_InStreamGroupReset (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream)
 Resets stream grouping information for a given InStream.
hpi_err_t HPI_InStreamWait (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint32_t dwThresholdBytesRecorded)
 Returns when the input stream hits the threshold.
hpi_err_t HPI_InStreamGetTimestamp (const hpi_hsubsys_t *phSubSys, hpi_handle_t hInStream, uint32_t *pdwSample, uint32_t *pdwNanosPerSample, int64_t *pqwTimestamp)
 Returns the timestamp from the last stream update.
hpi_err_t HPI_MixerOpen (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, hpi_handle_t *phMixer)
 Opens and initializes an adapters mixer.
hpi_err_t HPI_MixerClose (const hpi_hsubsys_t *phSubSys, hpi_handle_t hMixer)
 Closes a mixer.
hpi_err_t HPI_MixerGetControl (const hpi_hsubsys_t *phSubSys, hpi_handle_t hMixer, uint16_t wSrcNodeType, uint16_t wSrcNodeTypeIndex, uint16_t wDstNodeType, uint16_t wDstNodeTypeIndex, uint16_t wControlType, hpi_handle_t *phControl)
 Gets a mixer control.
hpi_err_t HPI_MixerGetControlByIndex (const hpi_hsubsys_t *phSubSys, hpi_handle_t hMixer, uint16_t wControlIndex, uint16_t *pwSrcNodeType, uint16_t *pwSrcNodeIndex, uint16_t *pwDstNodeType, uint16_t *pwDstNodeIndex, uint16_t *pwControlType, hpi_handle_t *phControl)
 Get the location and type of a mixer control by index.
hpi_err_t HPI_MixerStore (const hpi_hsubsys_t *phSubSys, hpi_handle_t hMixer, enum HPI_MIXER_STORE_COMMAND Command, uint16_t wIndex)
 Execute a command on the Mixer Control store.
hpi_err_t HPI_VolumeSetGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anGain0_01dB[HPI_MAX_CHANNELS])
 Set the gain of a volume control.
hpi_err_t HPI_VolumeGetGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anGain0_01dB_out[HPI_MAX_CHANNELS])
 Gets the current gain of a volume control.
hpi_err_t HPI_VolumeSetMute (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t mute)
 Set the mute of a volume control.
hpi_err_t HPI_VolumeGetMute (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *mute)
 Gets the current mute setting of a volume control.
hpi_err_t HPI_VolumeQueryRange (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short *nMinGain_01dB, short *nMaxGain_01dB, short *nStepGain_01dB)
 Query the range of a volume or level control.
hpi_err_t HPI_Volume_QueryChannels (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hControl, uint32_t *pChannels)
 Get the number of channels supported by this volume control.
hpi_err_t HPI_VolumeAutoFade (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anStopGain0_01dB[HPI_MAX_CHANNELS], uint32_t wDurationMs)
hpi_err_t HPI_VolumeAutoFadeProfile (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anStopGain0_01dB[HPI_MAX_CHANNELS], uint32_t dwDurationMs, uint16_t dwProfile)
 Starts an automatic ramp of the volume control from the current gain setting to the specified setting over the specified duration (in milliseconds).
hpi_err_t HPI_Volume_QueryAutoFadeProfile (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hControl, const uint32_t i, uint16_t *wProfile)
 Enumerate audiofade profiles supported by this controls (may be none).
hpi_err_t HPI_LevelQueryRange (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short *nMinGain_01dB, short *nMaxGain_01dB, short *nStepGain_01dB)
 Query the allowed values of a level control.
hpi_err_t HPI_LevelSetGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anGain0_01dB[HPI_MAX_CHANNELS])
 Sets the value of a level control.
hpi_err_t HPI_LevelGetGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anGain0_01dB_out[HPI_MAX_CHANNELS])
 Gets the value of a level control.
hpi_err_t HPI_Meter_QueryChannels (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hMeter, uint32_t *pChannels)
 Get the number of channels supported by this meter.
hpi_err_t HPI_MeterGetPeak (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anPeak0_01dB_out[HPI_MAX_CHANNELS])
 Get the meter peak reading.
hpi_err_t HPI_MeterGetRms (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anPeak0_01dB_out[HPI_MAX_CHANNELS])
 Get the meter RMS reading in 100ths of a dB.
hpi_err_t HPI_MeterSetPeakBallistics (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t nAttack, uint16_t nDecay)
 Set the ballistics of the Peak part of a meter.
hpi_err_t HPI_MeterSetRmsBallistics (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t nAttack, uint16_t nDecay)
 Set the ballistics of the RMS part of a meter.
hpi_err_t HPI_MeterGetPeakBallistics (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *nAttack, uint16_t *nDecay)
 Get the ballistics settings of the Peak part of a meter.
hpi_err_t HPI_MeterGetRmsBallistics (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *nAttack, uint16_t *nDecay)
 Get the ballistics settings of the RMS part of a meter.
hpi_err_t HPI_ChannelMode_QueryMode (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hMode, const uint32_t dwIndex, uint16_t *pwMode)
 Query the available channel modes for this control Iterate dwIndex until an error is returned to get allowed values for channel mode in *pwMode.
hpi_err_t HPI_ChannelModeSet (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wMode)
 Set the channel mode.
hpi_err_t HPI_ChannelModeGet (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *wMode)
 Get the current channel mode.
hpi_err_t HPI_Tuner_QueryBand (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hTuner, const uint32_t dwIndex, uint16_t *pwBand)
 Query tuner for supported bands.
hpi_err_t HPI_Tuner_SetBand (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wBand)
 Set the band that the tuner recieves.
hpi_err_t HPI_Tuner_GetBand (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwBand)
 Get the current tuner band.
hpi_err_t HPI_Tuner_QueryFrequency (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hTuner, const uint32_t dwIndex, const uint16_t band, uint32_t *pdwFreq)
 Query tuner band for supported frequency range and steps Calling with dwIndex=0,1,2 returns frequency minimum, maximum and step respectively (in kHz), for the specified band.
hpi_err_t HPI_Tuner_SetFrequency (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t wFreqInkHz)
 Set the tuner frequency.
hpi_err_t HPI_Tuner_GetFrequency (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pwFreqInkHz)
 Get the current tuner frequency.
hpi_err_t HPI_Tuner_QueryGain (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hTuner, const uint32_t dwIndex, uint16_t *pwGain)
 Query possible settings of tuner gain control Iterate dwIndex until an error is returned to get the list of gains supported by this tuner.
hpi_err_t HPI_Tuner_SetGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short nGain)
 Set the RF attenuator gain of the tuner front end.
hpi_err_t HPI_Tuner_GetGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short *pnGain)
 Get the current tuner gain.
hpi_err_t HPI_Tuner_GetRFLevel (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short *pwLevel)
 Get the RF level of a tuner input in millibel microvolts.
hpi_err_t HPI_Tuner_GetRawRFLevel (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short *pwLevel)
 Get the RF raw level of a tuner.
hpi_err_t HPI_Tuner_GetStatus (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwStatusMask, uint16_t *pwStatus)
 Get the status of various Boolean attributes of a tuner control.
hpi_err_t HPI_Tuner_SetMode (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t nMode, uint32_t nValue)
 This function turns off the RSS (FM FR level reading) capability for the specified tuner.
hpi_err_t HPI_Tuner_GetMode (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t nMode, uint32_t *pnValue)
 Get the current tuner mode.
hpi_err_t HPI_Tuner_GetRDS (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pRdsData)
 Get tuner RDS data.
hpi_err_t HPI_Tuner_QueryDeemphasis (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hTuner, const uint32_t dwIndex, const uint16_t band, uint32_t *pdwDeemphasis)
 Query tuner band for supported deemphasis settings.
hpi_err_t HPI_Tuner_SetDeemphasis (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwDeemphasis)
 Set the audio de-emphasis.
hpi_err_t HPI_Tuner_GetDeemphasis (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwDeemphasis)
 Get the audio de-emphasis setting.
hpi_err_t HPI_Tuner_QueryProgram (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hTuner, uint32_t *pbitmapProgram)
 Get list of the HD Radio programs supported by this tuner as a bitfield.
hpi_err_t HPI_Tuner_SetProgram (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwProgram)
 Sets the tuner HD Radio program.
hpi_err_t HPI_Tuner_GetProgram (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwProgram)
 Gets the tuner HD Radio program.
hpi_err_t HPI_Tuner_GetHdRadioDspVersion (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszDspVersion, const uint32_t dwStringSize)
 Gets the DSP firmware verison of an HD Radio tuner.
hpi_err_t HPI_Tuner_GetHdRadioSdkVersion (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszSdkVersion, const uint32_t dwStringSize)
 Gets the SDK firmware verison of an HD Radio tuner.
hpi_err_t HPI_Tuner_GetFirmwareVersion (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszFWVersion, const uint32_t dwStringSize)
 Gets the Firmware firmware verison of a HD or DAB Radio tuner.
hpi_err_t HPI_Tuner_GetHdRadioSignalQuality (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwQuality)
 Get the digital signal quality from an HDRadio tuner.
hpi_err_t HPI_Tuner_GetHdRadioSignalBlend (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwBlend)
 Get the signal blend from an HDRadio tuner.
hpi_err_t HPI_Tuner_SetHdRadioSignalBlend (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, const uint32_t dwBlend)
 Set the signal blend from an HDRadio tuner.
hpi_err_t HPI_Tuner_GetDabAudioServiceCount (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwIndex, uint32_t *pdwCount)
 Gets the number of DAB audio services.
hpi_err_t HPI_Tuner_SetDabAudioService (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, const uint32_t dwIndex)
 Sets the DAB audio service.
hpi_err_t HPI_Tuner_GetDabAudioServiceName (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszAudioServiceName, const uint32_t nSize, const uint32_t nIndex)
 Gets the DAB audio service name.
hpi_err_t HPI_Tuner_GetDabMultiplexName (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszMultiplexName, const uint32_t nSize)
 Gets the DAB Multiplex name.
hpi_err_t HPI_Tuner_GetDabAudioInfo (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszAudioInfo, const uint32_t nSize)
 Gets the current DAB audio service information - bitrate, mode etc.
hpi_err_t HPI_Tuner_GetDabServiceInfo (hpi_handle_t hControl, unsigned int index, struct hpi_dab_service_info *service_info)
 Get DAB service info.
hpi_err_t HPI_Tuner_GetDabComponentInfo (hpi_handle_t hControl, uint32_t service_id, uint16_t component_id, struct hpi_dab_component_info *component_info)
 Get DAB component info.
hpi_err_t HPI_Tuner_SetDabService (hpi_handle_t hControl, uint32_t service_id, uint16_t component_id, int stop)
 Start or stop a DAB data service.
hpi_err_t HPI_Tuner_GetDabService (hpi_handle_t hControl, uint32_t *service_id, uint16_t *component_id)
 Get the currently selected Audio service.
hpi_err_t HPI_Tuner_GetDabDataPacket (hpi_handle_t hControl, char *buffer, const size_t buf_len, size_t *data_len, int *next_poll_interval_ms)
 Get DAB data packet.
hpi_err_t HPI_PAD_GetChannelName (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszString, const uint32_t dwStringLength)
 Get tuner's PAD channel or station name.
hpi_err_t HPI_PAD_GetArtist (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszString, const uint32_t dwStringLength)
 Get tuner's PAD artist information.
hpi_err_t HPI_PAD_GetTitle (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszString, const uint32_t dwStringLength)
 Get tuner's PAD title information.
hpi_err_t HPI_PAD_GetComment (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, char *pszString, const uint32_t dwStringLength)
 Get tuner's PAD comment information.
hpi_err_t HPI_PAD_GetProgramType (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwPTY)
 Get tuner's PAD program type (PTY).
hpi_err_t HPI_PAD_GetRdsPI (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwPI)
 Get tuner's PAD RDS program identification (PI).
hpi_err_t HPI_PAD_GetProgramTypeString (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, const uint32_t dwDataType, const uint32_t nPTY, char *pszString, const uint32_t dwStringLength)
 Translate tuner's PTY into a string.
hpi_err_t HPI_AESEBU_Receiver_QueryFormat (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hAesRx, const uint32_t dwIndex, uint16_t *pwFormat)
 query formats supported by this aesebu receiver Iterate dwIndex until an error is returned to get allowed values for aesebu format in *pwFormat
hpi_err_t HPI_AESEBU_Receiver_SetFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wSource)
 Sets the physical format of the digital audio input to either the balanced, professional AES/EBU input or the unbalanced, consumer S/PDIF input.
hpi_err_t HPI_AESEBU_Receiver_GetFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwSource)
 Gets the physical format of the digital audio input : either the balanced, professional AES/EBU input or the unbalanced, consumer S/PDIF input.
hpi_err_t HPI_AESEBU_Receiver_GetSampleRate (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwSampleRate)
 Returns the sample rate of the incoming AES/EBU digital audio stream in *pdwSampleRate.
hpi_err_t HPI_AESEBU_Receiver_GetUserData (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, uint16_t *pwData)
 Get one of 4 userdata bytes from the AES/EBU stream.
hpi_err_t HPI_AESEBU_Receiver_GetChannelStatus (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, uint16_t *pwData)
 Get one of 24 channel status bytes from the AES/EBU stream.
hpi_err_t HPI_AESEBU_Receiver_GetErrorStatus (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwErrorData)
 Get error status from the AES/EBU stream.
hpi_err_t HPI_AESEBU_Transmitter_SetSampleRate (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwSampleRate)
 Set the AES/EBU transmitters sample rate.
hpi_err_t HPI_AESEBU_Transmitter_SetUserData (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, uint16_t wData)
 Set one of 4 userdata bytes in the AES/EBU stream.
hpi_err_t HPI_AESEBU_Transmitter_SetChannelStatus (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, uint16_t wData)
 Set one of 24 channel status bytes in the AES/EBU stream.
hpi_err_t HPI_AESEBU_Transmitter_GetChannelStatus (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, uint16_t *pwData)
 Get a byte of channel status in the AES/EBU stream.
hpi_err_t HPI_AESEBU_Transmitter_QueryFormat (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hAesTx, const uint32_t dwIndex, uint16_t *pwFormat)
 Query the formats supported by this AESEBU transmitter Iterate dwIndex until an error is returned to get allowed values for aesebu format in *pwFormat.
hpi_err_t HPI_AESEBU_Transmitter_SetFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wOutputFormat)
 Set the output electrical format for the AESEBU transmitter.
hpi_err_t HPI_AESEBU_Transmitter_GetFormat (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwOutputFormat)
 Get the current output electrical format for the AESEBU transmitter.
hpi_err_t HPI_Multiplexer_SetSource (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wSourceNodeType, uint16_t wSourceNodeIndex)
 Set the signal source that the multiplexer will send to the destination.
hpi_err_t HPI_Multiplexer_GetSource (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *wSourceNodeType, uint16_t *wSourceNodeIndex)
 Get the signal source that the multiplexer is currently connected to.
hpi_err_t HPI_Multiplexer_QuerySource (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t nIndex, uint16_t *wSourceNodeType, uint16_t *wSourceNodeIndex)
 Establish valid source node settings for this multiplexer.
hpi_err_t HPI_VoxSetThreshold (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short anGain0_01dB)
 Sets the threshold of a VOX control.
hpi_err_t HPI_VoxGetThreshold (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short *anGain0_01dB)
 Gets the current threshold of a VOX control.
hpi_err_t HPI_Bitstream_GetActivity (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwClkActivity, uint16_t *pwDataActivity)
 Returns 2 indicative measurements of the incoming data stream.
hpi_err_t HPI_SampleClock_QuerySource (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hClock, const uint32_t dwIndex, uint16_t *pwSource)
 Query valid SampleClock sources Iterate dwIndex until an error is returned to get allowed values for SampleClock source in *pwFormat.
hpi_err_t HPI_SampleClock_SetSource (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wSource)
 Sets the clock source for the sample clock.
hpi_err_t HPI_SampleClock_GetSource (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwSource)
 Gets the current sample clock source.
hpi_err_t HPI_SampleClock_QuerySourceIndex (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hClock, const uint32_t dwIndex, const uint32_t dwSource, uint16_t *pwSourceIndex)
 Query the available source indices.
hpi_err_t HPI_SampleClock_SetSourceIndex (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wSourceIndex)
 Sets the index for the currently selected source.
hpi_err_t HPI_SampleClock_GetSourceIndex (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwSourceIndex)
 Gets the AES/EBU input used to source the adapter clock.
hpi_err_t HPI_SampleClock_GetSampleRate (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwSampleRate)
 Gets the current adapter samplerate.
hpi_err_t HPI_SampleClock_QueryLocalRate (const hpi_hsubsys_t *phSubSys, const hpi_handle_t hClock, const uint32_t dwIndex, uint32_t *pdwSource)
 Query samplerates supported by the local PLL of this sampleclock Iterate dwIndex until an error is returned to get the list of valid PLL samplerates.
hpi_err_t HPI_SampleClock_SetLocalRate (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwSampleRateHz)
 Set the samplerate of the sample clock's local PLL This samplerate becomes the sampleclock output rate when the HPI_SAMPLECLOCK_SOURCE_LOCAL source is selected.
hpi_err_t HPI_SampleClock_SetLocalRateEx (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwSampleRateHz, uint32_t dwSampleRatePPB)
 Set the samplerate of the sample clock's local PLL in Hz and parts per billion.
hpi_err_t HPI_SampleClock_GetLocalRate (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwSampleRate)
 Get the samplerate of the sample clock's local PLL.
hpi_err_t HPI_SampleClock_SetAuto (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwEnable)
 Enable/disable clock autoswitching.
hpi_err_t HPI_SampleClock_GetAuto (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwEnable)
hpi_err_t HPI_SampleClock_SetLocalRateLock (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwLock)
 Enable/disable local rate changing.
hpi_err_t HPI_SampleClock_GetLocalRateLock (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwLock)
hpi_err_t HPI_Microphone_SetPhantomPower (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wOnOff)
 Sets the microphone phantom power on or off.
hpi_err_t HPI_Microphone_GetPhantomPower (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwOnOff)
 Gets the current microphone phantom power setting.
hpi_err_t HPI_ParametricEQ_GetInfo (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t *pwNumberOfBands, uint16_t *pwEnabled)
 Find out the number of available bands of a parametric equalizer, and whether it is enabled or not.
hpi_err_t HPI_ParametricEQ_SetState (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wOnOff)
 Turn a parametric equalizer on or off.
hpi_err_t HPI_ParametricEQ_SetBand (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, uint16_t nType, uint32_t dwFrequencyHz, short nQ100, short nGain0_01dB)
 Set up one of the filters in a parametric equalizer.
hpi_err_t HPI_ParametricEQ_GetBand (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, uint16_t *pnType, uint32_t *pdwFrequencyHz, short *pnQ100, short *pnGain0_01dB)
 Get the settings of one of the filters in a parametric equalizer.
hpi_err_t HPI_ParametricEQ_GetCoeffs (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint16_t wIndex, short coeffs[5])
 Retrieve the calculated IIR filter coefficients (scaled by 1000 into integers).
hpi_err_t HPI_Compander_SetEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwOn)
 Enable or disable the compander.
hpi_err_t HPI_Compander_GetEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwOn)
 Get the enable state of the compander.
hpi_err_t HPI_Compander_SetMakeupGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short nMakeupGain0_01dB)
 Set the makeup gain of a compander control.
hpi_err_t HPI_Compander_GetMakeupGain (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, short *pnMakeupGain0_01dB)
 Get the makeup gain of a compander control.
hpi_err_t HPI_Compander_SetRatio (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwIndex, uint32_t wRatio100)
 Set the ratio for one of the compander knee points.
hpi_err_t HPI_Compander_GetRatio (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwIndex, uint32_t *pwRatio100)
 Set the ratio for one of the compander knee points.
hpi_err_t HPI_Cobranet_HmiWrite (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwHmiAddress, uint32_t dwByteCount, uint8_t *pbData)
 Write to an HMI variable.
hpi_err_t HPI_Cobranet_HmiRead (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwHmiAddress, uint32_t dwMaxByteCount, uint32_t *pdwByteCount, uint8_t *pbData)
 Read from an HMI variable.
hpi_err_t HPI_Cobranet_HmiGetStatus (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwStatus, uint32_t *pdwReadableSize, uint32_t *pdwWriteableSize)
 Get the status of the last cobranet operation.
hpi_err_t HPI_Cobranet_GetIPaddress (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwIPaddress)
 Get the CobraNet node's current IP address.
hpi_err_t HPI_Cobranet_SetIPaddress (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwIPaddress)
 Set the CobraNet node's current IP address.
hpi_err_t HPI_Cobranet_GetStaticIPaddress (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwIPaddress)
 Get the CobraNet node's static IP address.
hpi_err_t HPI_Cobranet_SetStaticIPaddress (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t dwIPaddress)
 Set the CobraNet node's static IP address.
hpi_err_t HPI_Cobranet_GetMACaddress (const hpi_hsubsys_t *phSubSys, hpi_handle_t hControl, uint32_t *pdwMAC_MSBs, uint32_t *pdwMAC_LSBs)
 Get the CobraNet node's MAC address.
hpi_err_t HPI_ToneDetector_GetState (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t *state)
 Get tone detector state.
hpi_err_t HPI_ToneDetector_SetEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t enable)
 Enable (or disable) a ToneDetector control.
hpi_err_t HPI_ToneDetector_GetEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t *enable)
 Get the Enable state of a ToneDetector control.
hpi_err_t HPI_ToneDetector_SetEventEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t EventEnable)
 Enable ToneDetector control event generation.
hpi_err_t HPI_ToneDetector_GetEventEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t *EventEnable)
 Get the event generation enable state of a ToneDetector control.
hpi_err_t HPI_ToneDetector_SetThreshold (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, int threshold)
 Set the Threshold of a ToneDetector control.
hpi_err_t HPI_ToneDetector_GetThreshold (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, int *threshold)
 Get the Threshold of a ToneDetector control.
hpi_err_t HPI_ToneDetector_GetFrequency (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t nIndex, uint32_t *dwFrequency)
 Enumerate the detection frequencies of the tone detector control.
hpi_err_t HPI_SilenceDetector_GetState (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t *state)
 Get the State of a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_SetEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t enable)
 Enable a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_GetEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t *enable)
 Get the Enable setting of a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_SetEventEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t EventEnable)
 Set the event generation by a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_GetEventEnable (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t *EventEnable)
 Get the event generation enable setting of a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_SetDelay (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t delay)
 Set the Delay of a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_GetDelay (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, uint32_t *delay)
 Get the trigger delay of a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_SetThreshold (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, int threshold)
 Set the Threshold of a SilenceDetector control.
hpi_err_t HPI_SilenceDetector_GetThreshold (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, int *threshold)
 Get the Threshold of a SilenceDetector control.
hpi_err_t HPI_Universal_Info (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, struct hpi_entity **info)
 Retrieve information associated with an universal control.
hpi_err_t HPI_Universal_Get (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, struct hpi_entity **value)
 Returns the current value of an universal control as an entity.
hpi_err_t HPI_Universal_Set (const hpi_hsubsys_t *phSubSys, hpi_handle_t hC, struct hpi_entity *value)
 Set the current value of an universal control.
hpi_err_t HPI_ProfileOpenAll (const hpi_hsubsys_t *phSubSys, uint16_t wAdapterIndex, uint16_t wProfileIndex, hpi_handle_t *phProfile, uint16_t *pwMaxProfiles)
 Open all the profiles on a particular adapter.
hpi_err_t HPI_ProfileGet (const hpi_hsubsys_t *phSubSys, hpi_handle_t hProfile, uint16_t wBinIndex, uint16_t *pwProfileInterval, uint32_t *pdwTotalTickCount, uint32_t *pdwCallCount, uint32_t *pdwMaxTickCount, uint32_t *pdwTicksPerMillisecond)
 Reads a single profile from the DSP's profile store.
hpi_err_t HPI_ProfileStartAll (const hpi_hsubsys_t *phSubSys, hpi_handle_t hProfile)
 Start profiling running.
hpi_err_t HPI_ProfileStopAll (const hpi_hsubsys_t *phSubSys, hpi_handle_t hProfile)
 Stop profiling.
hpi_err_t HPI_ProfileGetName (const hpi_hsubsys_t *phSubSys, hpi_handle_t hProfile, uint16_t wIndex, char *szProfileName, uint16_t nProfileNameLength)
 Get the name of a profile.
hpi_err_t HPI_ProfileGetUtilization (const hpi_hsubsys_t *phSubSys, hpi_handle_t hProfile, uint32_t *pdwUtilization)
 Get the DSP utilization in 1/100 of a percent.
hpi_err_t HPI_FormatCreate (struct hpi_format *pFormat, uint16_t wChannels, uint16_t wFormat, uint32_t dwSampleRate, uint32_t dwBitRate, uint32_t dwAttributes)
 Initialize an audio format structure, given various defining parameters.

Detailed Description

AudioScience Hardware Programming Interface (HPI) public API definition.

The HPI is a low-level hardware abstraction layer to all AudioScience digital audio adapters

Copyright (C) 1997-2017 AudioScience, Inc. All rights reserved.

This software is provided 'as-is', without any express or implied warranty. In no event will AudioScience Inc. be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This copyright notice and list of conditions may not be altered or removed from any source distribution.

AudioScience, Inc. <support@audioscience.com>

( This license is GPL compatible see http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses )


Typedef Documentation

typedef uint16_t hpi_err_t

An HPI error code HPI_ERROR_CODES.

typedef uint32_t hpi_handle_t

An HPI object handle.


Enumeration Type Documentation

Async Event sources.

Enumerator:
HPI_ASYNC_EVENT_GPIO 

GPIO event.

HPI_ASYNC_EVENT_SILENCE 

Silence event detected.

HPI_ASYNC_EVENT_TONE 

tone event detected.

HPI Error codes.

Almost all HPI functions return an error code A return value of zero means there was no error. Otherwise one of these error codes is returned. Error codes can be converted to a descriptive string using HPI_GetErrorText()

Note:
When a new error code is added HPI_GetErrorText() MUST be updated.
Codes 1-100 are reserved for driver use
Enumerator:
HPI_ERROR_INVALID_TYPE 

Message type does not exist.

HPI_ERROR_INVALID_OBJ 

Object type does not exist.

HPI_ERROR_INVALID_FUNC 

Function does not exist.

HPI_ERROR_INVALID_OBJ_INDEX 

The specified object does not exist.

HPI_ERROR_OBJ_NOT_OPEN 

Trying to access an object that has not been opened yet.

HPI_ERROR_OBJ_ALREADY_OPEN 

Trying to open an already open object.

HPI_ERROR_INVALID_RESOURCE 

PCI, ISA resource not valid.

HPI_ERROR_INVALID_RESPONSE 

Default response was never updated with actual error code.

HPI_ERROR_PROCESSING_MESSAGE 

wSize field of response was not updated, indicating that the message was not processed.

HPI_ERROR_NETWORK_TIMEOUT 

The network did not respond in a timely manner.

HPI_ERROR_UNIMPLEMENTED 

A function or attribute has not been implemented yet.

HPI_ERROR_NETWORK_TOO_MANY_CLIENTS 

There are too many clients attempting to access a network resource.

HPI_ERROR_RESPONSE_BUFFER_TOO_SMALL 

Response buffer passed to HPI_Message was smaller than returned response.

wSpecificError field of hpi response contains the required size.

HPI_ERROR_RESPONSE_MISMATCH 

The returned response did not match the sent message.

HPI_ERROR_CONTROL_CACHING 

A control setting that should have been cached was not.

HPI_ERROR_MESSAGE_BUFFER_TOO_SMALL 

A message buffer in the path to the adapter was smaller than the message size.

wSpecificError field of hpi response contains the actual size.

HPI_ERROR_BAD_ADAPTER 

Bad adpater.

HPI_ERROR_BAD_ADAPTER_NUMBER 

Adapter number out of range or not set properly.

HPI_ERROR_DUPLICATE_ADAPTER_NUMBER 

2 adapters with the same adapter number.

HPI_ERROR_DSP_BOOTLOAD 

DSP code failed to bootload.

Usually a DSP memory test failure.

HPI_ERROR_DSP_FILE_NOT_FOUND 

Couldn't find or open the DSP code file.

HPI_ERROR_DSP_HARDWARE 

Internal DSP hardware error.

HPI_ERROR_MEMORY_ALLOC 

Could not allocate memory.

HPI_ERROR_PLD_LOAD 

Failed to correctly load/config PLD.

(unused)

HPI_ERROR_DSP_FILE_FORMAT 

Unexpected end of file, block length too big etc.

HPI_ERROR_DSP_FILE_ACCESS_DENIED 

Found but could not open DSP code file.

HPI_ERROR_DSP_FILE_NO_HEADER 

First DSP code section header not found in DSP file.

HPI_ERROR_DSP_SECTION_NOT_FOUND 

DSP code for adapter family not found.

HPI_ERROR_DSP_FILE_OTHER_ERROR 

Other OS specific error opening DSP file.

HPI_ERROR_DSP_FILE_SHARING_VIOLATION 

Sharing violation opening DSP code file.

HPI_ERROR_DSP_FILE_NULL_HEADER 

DSP code section header had size == 0.

HPI_ERROR_DSP_0 

Internal C6205 DSP hardware error.

HPI_ERROR_DSP_1 

Internal C6713 DSP hardware error.

HPI_ERROR_BAD_CHECKSUM 

Flash has bad checksum.

HPI_ERROR_RESERVED_1 

Reserved for OEMs.

HPI_ERROR_INVALID_FORMAT 

Invalid compression format.

HPI_ERROR_INVALID_SAMPLERATE 

Invalid format samplerate.

HPI_ERROR_INVALID_CHANNELS 

Invalid format number of channels.

HPI_ERROR_INVALID_BITRATE 

Invalid format bitrate.

HPI_ERROR_INVALID_DATASIZE 

Invalid datasize used for stream read/write.

HPI_ERROR_INVALID_DATA_POINTER 

Null data pointer used for stream read/write.

HPI_ERROR_INVALID_PACKET_ORDER 

Packet ordering error for stream read/write.

HPI_ERROR_INVALID_OPERATION 

Object can't do requested operation in its current state, eg set format, change rec mux state while recording.

HPI_ERROR_INCOMPATIBLE_SAMPLERATE 

Where a SRG is shared amongst streams, an incompatible samplerate is one that is different to any currently active stream.

HPI_ERROR_BAD_ADAPTER_MODE 

Adapter mode is illegal.

HPI_ERROR_TOO_MANY_CAPABILITY_CHANGE_ATTEMPTS 

There have been too many attempts to set the adapter's capabilities (using bad keys), the card should be returned to ASI if further capabilities updates are required.

HPI_ERROR_NO_INTERADAPTER_GROUPS 

Streams on different adapters cannot be grouped.

HPI_ERROR_NO_INTERDSP_GROUPS 

Streams on different DSPs cannot be grouped.

HPI_ERROR_WAIT_CANCELLED 

Stream wait cancelled before threshold reached.

HPI_ERROR_INVALID_STRING 

A character string is invalid.

HPI_ERROR_INVALID_NODE 

Invalid mixer node for this adapter.

HPI_ERROR_INVALID_CONTROL 

Invalid control.

HPI_ERROR_INVALID_CONTROL_VALUE 

Invalid control value was passed.

HPI_ERROR_INVALID_CONTROL_ATTRIBUTE 

Control attribute not supported by this control.

HPI_ERROR_CONTROL_DISABLED 

Control is disabled.

HPI_ERROR_CONTROL_I2C_MISSING_ACK 

I2C transaction failed due to a missing ACK.

HPI_ERROR_CONTROL_NOT_READY 

Control is busy, or coming out of reset and cannot be accessed at this time.

HPI_ERROR_NVMEM_BUSY 

Non volatile memory.

HPI_ERROR_I2C_BAD_ADR 

I2C.

HPI_ERROR_ENTITY_TYPE_MISMATCH 

Entity type did not match requested type.

HPI_ERROR_ENTITY_ITEM_COUNT 

Entity item count did not match requested count.

HPI_ERROR_ENTITY_TYPE_INVALID 

Entity type is not one of the valid types.

HPI_ERROR_ENTITY_ROLE_INVALID 

Entity role is not one of the valid roles.

HPI_ERROR_ENTITY_SIZE_MISMATCH 

Entity size doesn't match target size.

HPI_ERROR_CUSTOM 

custom error to use for debugging

HPI_ERROR_MUTEX_TIMEOUT 

hpioct32.c can't obtain mutex

HPI_ERROR_WAIT_TIMEOUT 

Wait for event timeout out.

HPI_ERROR_WAIT_INTERRUPTED 

Wait for event was interrupted.

HPI_ERROR_BACKEND_BASE 

Backend errors used to be greater than this.

Deprecated:
Now, all backends return only errors defined here in hpi.h
HPI_ERROR_DSP_COMMUNICATION 

Communication with DSP failed.