AWE Core OS 8.B.20 Documentation
Data Structures | Macros | Typedefs | Enumerations | Functions
AWECoreOS.h File Reference

The AWE Core OS API header file. More...

#include "StandardDefs.h"
#include "stdio.h"
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "Errors.h"
#include <sched.h>
#include "ProxyIDs.h"
#include <semaphore.h>
#include "AWELoggingDefs.h"

Go to the source code of this file.

Data Structures

struct  AWEOSAudioRecordNotification
 Audio recording notification callback argument structure. More...
 
struct  AWEOSThreadPIDs
 Internal threading PID structure, meant to be used with aweOS_getThreadPIDs. More...
 
struct  AWEOSVersionInfo
 Versioning structure returned by aweOS_getVersion. More...
 
struct  AWEOSConfigParameters
 AWEOSConfigParameters. More...
 

Macros

#define TUNING_LOG_NONE   0
 AWE Core OS internal tuning interface logging verbosity level: disabled – no logging.
 
#define TUNING_LOG_ERROR   1
 AWE Core OS internal tuning interface logging verbosity level: low – log only errors.
 
#define TUNING_LOG_INFO   2
 AWE Core OS internal tuning interface logging verbosity level: medium – log errors and header info from all packets sent and received.
 
#define TUNING_LOG_DATA   3
 AWE Core OS internal tuning interface logging verbosity level: high –log errors, header info, and raw packet content for all packets.
 
#define TUNING_LOG_DEBUG   TUNING_LOG_DATA
 
#define AUDIO_RECORDING_NOTIFICATION_ERRORS   (1 << 0)
 Audio recording: Notify only on errors.
 
#define AUDIO_RECORDING_NOTIFICATION_XRUNS   (1 << 1)
 Audio recording: Notify only on overruns.
 
#define AUDIO_RECORDING_NOTIFICATION_ALL   (AUDIO_RECORDING_NOTIFICATION_ERRORS | AUDIO_RECORDING_NOTIFICATION_XRUNS)
 Audio recording: Notify on errors and overruns.
 

Typedefs

typedef struct AWEOSAudioRecordNotification AWEOSAudioRecordNotification_t
 Audio recording notification callback argument structure.
 
typedef void(* recordNotificationCallbackFunction) (AWEOSAudioRecordNotification_t *)
 Audio recording notification callback type.
 
typedef struct AWEOSThreadPIDs AWEOSThreadPIDs_t
 Internal threading PID structure, meant to be used with aweOS_getThreadPIDs.
 
typedef struct AWEOSVersionInfo AWEOSVersionInfo_t
 Versioning structure returned by aweOS_getVersion.
 
typedef void AWEOSInstance
 The AWE Core OS Instance instance type. More...
 
typedef struct AWEOSConfigParameters AWEOSConfigParameters
 AWEOSConfigParameters. More...
 
typedef void(* cbAweOSLogging_t) (AWEOSInstance *pAWEOS, INT32 level, UINT32 type, void *payload, INT32 payloadSizeInBytes)
 OPTIONAL This callback is invoked from multiple places in the AWE framework to log any message to the BSP. More...
 
typedef INT32(* cbAweOSEventTrigger_t) (AWEOSInstance *pAWEOS, INT32 eventType, UINT32 moduleObjId, void *payload, INT32 payloadSizeInBytes, void *userHandle)
 OPTIONAL These callback are invoked only from the Event Module. More...
 
typedef INT32(* cbAweOSEventRegister_t) (AWEOSInstance *pAWEOS, INT32 eventType, UINT32 moduleObjId, INT32 payloadSizeInBytes, void **userHandle)
 The Event Register callback is called by an Event Module when it is constructed. More...
 
typedef INT32(* cbAweOSEventDeregister_t) (AWEOSInstance *pAWEOS, INT32 eventType, UINT32 moduleObjId, void **userHandle)
 The Event Deregister callback is called by the Event Module when it is destroyed. More...
 

Enumerations

enum  STATUS { ERROR , INPUT_OVERRUN , OUTPUT_OVERRUN }
 Audio recording notification status type.
 

Functions

UINT32 aweOS_getThreadPIDs (AWEOSInstance *pAWEOS, AWEOSThreadPIDs_t *threadPIDs)
 Return the PIDs of all internally spawned AWE Core OS threads. More...
 
INT32 aweOS_getParamDefaults (AWEOSConfigParameters *aweParams)
 Populates an AWEOSConfigParameters structure with defaults. More...
 
INT32 aweOS_init (AWEOSInstance **pAWEOS, const AWEOSConfigParameters *aweParams, const void *pModuleDescriptorTable, UINT32 moduleDescriptorTableSize)
 Initialize the AWEOSInstance with the specified configuration parameters. More...
 
INT32 aweOS_tuningSocketOpen (AWEOSInstance **pAWEOS, INT32 portNo, UINT32 numInstances)
 Initialize and open an integrated TCP/IP tuning interface socket. More...
 
void aweOS_tuningSocketClose (AWEOSInstance *pAWEOS)
 Close a running integrated TCP tuning socket. More...
 
INT32 aweOS_tuningLoggingEnable (AWEOSInstance *pAWEOS, char *path, char *baseName, UINT32 verbosity)
 Enable logging of the tuning packets sent and received by the AWEOSInstance. More...
 
INT32 aweOS_loadAWBFromArray (AWEOSInstance *pAWEOS, const UINT32 *pArray, UINT32 arraySize, UINT32 *pErrorOffset)
 Executes packet commands from an in-memory array. More...
 
INT32 aweOS_loadAWBFile (AWEOSInstance *pAWEOS, const char *binaryFile, UINT32 *pErrorOffset)
 Executes packet commands from an AWB file on the filesystem. More...
 
INT32 aweOS_layoutGetChannelCount (const AWEOSInstance *pAWEOS, UINT32 *inCount, UINT32 *outCount)
 Returns the number of input and output channels in the loaded layout. More...
 
INT32 aweOS_layoutGetBlockSize (const AWEOSInstance *pAWEOS, UINT32 *blockSize)
 Returns the block size of the loaded layout. More...
 
INT32 aweOS_layoutGetSampleRate (const AWEOSInstance *pAWEOS, FLOAT32 *sampleRate)
 Returns the sample rate of the loaded layout. More...
 
INT32 aweOS_audioPumpAll (AWEOSInstance *pAWEOS)
 Pump one fundamental block size of audio through the loaded layout and all of its sublayouts. More...
 
INT32 aweOS_audioImportSamples (AWEOSInstance *pAWEOS, void *inSamples, INT32 inStride, INT32 channel, SampleType inType)
 Import samples from an audio buffer to a specific channel of the AWEOSInstance's input pin. More...
 
INT32 aweOS_audioExportSamples (AWEOSInstance *pAWEOS, void *outSamples, INT32 outStride, INT32 channel, SampleType outType)
 Export samples to a user buffer from a specific channel of the AWEOSInstance's output pin. More...
 
INT32 aweOS_layoutIsValid (const AWEOSInstance *pAWEOS)
 Determines if a layout is loaded and valid. More...
 
INT32 aweOS_audioIsStarted (const AWEOSInstance *pAWEOS)
 Check if this instance has received an Audio Start command. More...
 
const char * aweOS_errorToString (INT32 errorCode)
 Convert an error code (INT32) to its corresponding error string. More...
 
INT32 aweOS_tuningPacketProcess (AWEOSInstance *pAWEOS)
 Process the packet buffer in the AWEOSInstance. More...
 
INT32 aweOS_ctrlSetValue (const AWEOSInstance *pAWEOS, UINT32 handle, void *value, INT32 arrayOffset, UINT32 length)
 Set a scalar or array value(s) of a module parameter by handle. More...
 
INT32 aweOS_ctrlGetValue (const AWEOSInstance *pAWEOS, UINT32 handle, void *value, INT32 arrayOffset, UINT32 length)
 Get a scalar or array value(s) of a module parameter by handle. More...
 
INT32 aweOS_ctrlSetStatus (const AWEOSInstance *pAWEOS, UINT32 handle, UINT32 *status)
 Set the status of a module. More...
 
INT32 aweOS_ctrlGetStatus (const AWEOSInstance *pAWEOS, UINT32 handle, UINT32 *status)
 Get the status of a module. More...
 
INT32 aweOS_ctrlSetValueMask (const AWEOSInstance *pAWEOS, UINT32 handle, void *value, INT32 arrayOffset, UINT32 length, UINT32 mask)
 Set a scalar or array value(s) of a module variable by handle with mask. More...
 
INT32 aweOS_ctrlGetValueMask (const AWEOSInstance *pAWEOS, UINT32 handle, void *value, INT32 arrayOffset, UINT32 length, UINT32 mask)
 Get a scalar or array value(s) of a module variable by handle with mask. More...
 
INT32 aweOS_ctrlGetModuleClass (const AWEOSInstance *pAWEOS, UINT32 handle, UINT32 *pClassID)
 Get a module's object class from its handle. More...
 
INT32 aweOS_destroy (AWEOSInstance **pAWEOS)
 Destroys the AWEOSInstance and closes all associated threads. More...
 
INT32 aweOS_setProfilingStatus (AWEOSInstance *pAWEOS, UINT32 status)
 Enable or disable the profiling ability of the AWE Core OS Instance. More...
 
INT32 aweOS_getAverageLayoutCycles (AWEOSInstance *pAWEOS, UINT32 idx, UINT32 *averageCycles)
 Get the average cycles of a running layout, in units of cycles at profileSpeed. More...
 
void aweOS_getVersion (AWEOSVersionInfo_t *versionInfo)
 Get the version information of the AWE Core OS library. More...
 
INT32 aweOS_audioRecordingEnable (AWEOSInstance *pAWEOS, char *path, char *baseName, UINT32 bufferLength, SampleType sampleType)
 Enables recording of all input and output audio of AWEOSInstance. More...
 
INT32 aweOS_audioRecordingRegisterNotificationCallback (AWEOSInstance *pAWEOS, recordNotificationCallbackFunction recordNotificationCallback, UINT32 recordNotificationMask)
 Register a callback function for audio recording event notificiations. More...
 
INT32 aweOS_audioRecordingDisable (AWEOSInstance *pAWEOS)
 Disable recording of input and output audio of AWEOSInstance. More...
 
INT32 aweOS_wavFileOpen (const char *file, FLOAT32 *sampleRate, UINT32 *numChannels, UINT32 *sampleSize, UINT32 *numSamples, FILE **fp)
 Open a .wav file and populate the user arguments with the header information in the file. More...
 
INT32 aweOS_wavFileCreate (const char *file, FLOAT32 sampleRate, UINT32 numChannels, UINT32 sampleSize, FILE **fp)
 Create a .wav file and populate the header with the passed in arguments. More...
 
INT32 aweOS_wavFileWrite (FILE *fp, void *samples, UINT32 numSamples, UINT32 sampleSize)
 Write audio data to .wav file created using aweOS_wavFileCreate. More...
 
INT32 aweOS_wavFileRead (FILE *fp, void *samples, UINT32 numSamples, UINT32 sampleSize)
 Read audio data from .wav file opened using aweOS_wavFileOpen. More...
 
INT32 aweOS_wavFileClose (FILE *fp)
 Close the.wav file opened using aweOS_wavFileOpen or aweOS_wavFileCreate. More...
 
INT32 aweOS_setInstancesInfo (AWEOSInstance **pInstances, INT32 numInstances)
 Profiling related setup function only intended for systems with multiple AWEOS Instances in a single application. More...
 
INT32 aweOS_registerLoggingCallback (AWEOSInstance *pAWEOS, cbAweOSLogging_t cbAweOSLogging, INT32 logLevel, UINT32 logTypeMask)
 Register the logging callback with required logging level and logging type mask. More...
 
INT32 aweOS_registerEventCallbacks (AWEOSInstance *pAWEOS, cbAweOSEventTrigger_t cbAweOSEventTrigger, cbAweOSEventRegister_t cbAweOSEventRegister, cbAweOSEventDeregister_t cbAweOSEventDeregister)
 Register the event callbacks used by the Event Module. More...
 

Detailed Description

The AWE Core OS API header file.