s3eWwiseResult s3eWwiseSoundEngineSetListenerPosition(const s3eWwiseListenerPosition* in_Position, uint32 in_uIndex)
{
    IwTrace(WWISE_VERBOSE, ("calling s3eWwise[18] func: s3eWwiseSoundEngineSetListenerPosition"));

    if (!_extLoad())
        return s3eWwise_NotImplemented;

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eWwiseResult ret = g_Ext.m_s3eWwiseSoundEngineSetListenerPosition(in_Position, in_uIndex);

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}
s3eWwiseResult s3eWwiseSoundEngineSetListenerPosition(const s3eWwiseListenerPosition* in_Position, uint32 in_uIndex)
{
    IwTrace(WWISE_VERBOSE, ("calling s3eWwise[17] func: s3eWwiseSoundEngineSetListenerPosition"));

    if (!_extLoad())
        return s3eWwise_NotImplemented;

#ifdef __mips
    // For MIPs platform we do not have asm code for stack switching
    // implemented. So we make LoaderCallStart call manually to set GlobalLock
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eWwiseResult ret = g_Ext.m_s3eWwiseSoundEngineSetListenerPosition(in_Position, in_uIndex);

#ifdef __mips
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}