/**
 * \file libtiepieloader.c
 * \brief Dynamic loader for libtiepie.
 */

#include <libtiepieloader.h>
#ifdef LIBTIEPIE_WINDOWS
#  include <windows.h>
#else
#  include <dlfcn.h>
#endif

LibTiePieLibInit_t LibInit;
LibTiePieLibIsInitialized_t LibIsInitialized;
LibTiePieLibExit_t LibExit;
LibTiePieLibGetVersion_t LibGetVersion;
LibTiePieLibGetVersionExtra_t LibGetVersionExtra;
LibTiePieLibGetConfig_t LibGetConfig;
LibTiePieLibGetLastStatus_t LibGetLastStatus;
LibTiePieLibGetLastStatusStr_t LibGetLastStatusStr;
LibTiePieLstUpdate_t LstUpdate;
LibTiePieLstGetCount_t LstGetCount;
LibTiePieLstOpenDevice_t LstOpenDevice;
LibTiePieLstOpenOscilloscope_t LstOpenOscilloscope;
LibTiePieLstOpenGenerator_t LstOpenGenerator;
LibTiePieLstOpenI2CHost_t LstOpenI2CHost;
LibTiePieLstCreateCombinedDevice_t LstCreateCombinedDevice;
LibTiePieLstCreateAndOpenCombinedDevice_t LstCreateAndOpenCombinedDevice;
LibTiePieLstRemoveDevice_t LstRemoveDevice;
LibTiePieLstRemoveDeviceForce_t LstRemoveDeviceForce;
LibTiePieLstDevCanOpen_t LstDevCanOpen;
LibTiePieLstDevGetProductId_t LstDevGetProductId;
LibTiePieLstDevGetVendorId_t LstDevGetVendorId;
LibTiePieLstDevGetName_t LstDevGetName;
LibTiePieLstDevGetNameShort_t LstDevGetNameShort;
LibTiePieLstDevGetNameShortest_t LstDevGetNameShortest;
LibTiePieLstDevGetDriverVersion_t LstDevGetDriverVersion;
LibTiePieLstDevGetRecommendedDriverVersion_t LstDevGetRecommendedDriverVersion;
LibTiePieLstDevGetFirmwareVersion_t LstDevGetFirmwareVersion;
LibTiePieLstDevGetRecommendedFirmwareVersion_t LstDevGetRecommendedFirmwareVersion;
LibTiePieLstDevGetCalibrationDate_t LstDevGetCalibrationDate;
LibTiePieLstDevGetSerialNumber_t LstDevGetSerialNumber;
LibTiePieLstDevGetIPv4Address_t LstDevGetIPv4Address;
LibTiePieLstDevGetIPPort_t LstDevGetIPPort;
LibTiePieLstDevHasServer_t LstDevHasServer;
LibTiePieLstDevGetServer_t LstDevGetServer;
LibTiePieLstDevGetTypes_t LstDevGetTypes;
LibTiePieLstDevGetContainedSerialNumbers_t LstDevGetContainedSerialNumbers;
LibTiePieLstCbDevGetProductId_t LstCbDevGetProductId;
LibTiePieLstCbDevGetVendorId_t LstCbDevGetVendorId;
LibTiePieLstCbDevGetName_t LstCbDevGetName;
LibTiePieLstCbDevGetNameShort_t LstCbDevGetNameShort;
LibTiePieLstCbDevGetNameShortest_t LstCbDevGetNameShortest;
LibTiePieLstCbDevGetDriverVersion_t LstCbDevGetDriverVersion;
LibTiePieLstCbDevGetFirmwareVersion_t LstCbDevGetFirmwareVersion;
LibTiePieLstCbDevGetCalibrationDate_t LstCbDevGetCalibrationDate;
LibTiePieLstCbScpGetChannelCount_t LstCbScpGetChannelCount;
LibTiePieLstSetCallbackDeviceAdded_t LstSetCallbackDeviceAdded;
LibTiePieLstSetCallbackDeviceRemoved_t LstSetCallbackDeviceRemoved;
LibTiePieLstSetCallbackDeviceCanOpenChanged_t LstSetCallbackDeviceCanOpenChanged;
#ifdef LIBTIEPIE_LINUX
LibTiePieLstSetEventDeviceAdded_t LstSetEventDeviceAdded;
LibTiePieLstSetEventDeviceRemoved_t LstSetEventDeviceRemoved;
LibTiePieLstSetEventDeviceCanOpenChanged_t LstSetEventDeviceCanOpenChanged;
#endif
#ifdef LIBTIEPIE_WINDOWS
LibTiePieLstSetEventDeviceAdded_t LstSetEventDeviceAdded;
LibTiePieLstSetEventDeviceRemoved_t LstSetEventDeviceRemoved;
LibTiePieLstSetEventDeviceCanOpenChanged_t LstSetEventDeviceCanOpenChanged;
LibTiePieLstSetMessageDeviceAdded_t LstSetMessageDeviceAdded;
LibTiePieLstSetMessageDeviceRemoved_t LstSetMessageDeviceRemoved;
LibTiePieLstSetMessageDeviceCanOpenChanged_t LstSetMessageDeviceCanOpenChanged;
#endif
LibTiePieNetGetAutoDetectEnabled_t NetGetAutoDetectEnabled;
LibTiePieNetSetAutoDetectEnabled_t NetSetAutoDetectEnabled;
LibTiePieNetSrvAdd_t NetSrvAdd;
LibTiePieNetSrvRemove_t NetSrvRemove;
LibTiePieNetSrvGetCount_t NetSrvGetCount;
LibTiePieNetSrvGetByIndex_t NetSrvGetByIndex;
LibTiePieNetSrvGetByURL_t NetSrvGetByURL;
LibTiePieNetSrvSetCallbackAdded_t NetSrvSetCallbackAdded;
#ifdef LIBTIEPIE_LINUX
LibTiePieNetSrvSetEventAdded_t NetSrvSetEventAdded;
#endif
#ifdef LIBTIEPIE_WINDOWS
LibTiePieNetSrvSetEventAdded_t NetSrvSetEventAdded;
LibTiePieNetSrvSetMessageAdded_t NetSrvSetMessageAdded;
#endif
LibTiePieObjClose_t ObjClose;
LibTiePieObjIsRemoved_t ObjIsRemoved;
LibTiePieObjGetInterfaces_t ObjGetInterfaces;
LibTiePieObjSetEventCallback_t ObjSetEventCallback;
LibTiePieObjGetEvent_t ObjGetEvent;
#ifdef LIBTIEPIE_LINUX
LibTiePieObjSetEventEvent_t ObjSetEventEvent;
#endif
#ifdef LIBTIEPIE_WINDOWS
LibTiePieObjSetEventEvent_t ObjSetEventEvent;
LibTiePieObjSetEventWindowHandle_t ObjSetEventWindowHandle;
#endif
LibTiePieDevClose_t DevClose;
LibTiePieDevIsRemoved_t DevIsRemoved;
LibTiePieDevGetDriverVersion_t DevGetDriverVersion;
LibTiePieDevGetFirmwareVersion_t DevGetFirmwareVersion;
LibTiePieDevGetCalibrationDate_t DevGetCalibrationDate;
LibTiePieDevGetCalibrationToken_t DevGetCalibrationToken;
LibTiePieDevGetSerialNumber_t DevGetSerialNumber;
LibTiePieDevGetIPv4Address_t DevGetIPv4Address;
LibTiePieDevGetIPPort_t DevGetIPPort;
LibTiePieDevGetProductId_t DevGetProductId;
LibTiePieDevGetVendorId_t DevGetVendorId;
LibTiePieDevGetType_t DevGetType;
LibTiePieDevGetName_t DevGetName;
LibTiePieDevGetNameShort_t DevGetNameShort;
LibTiePieDevGetNameShortest_t DevGetNameShortest;
LibTiePieDevHasBattery_t DevHasBattery;
LibTiePieDevGetBatteryCharge_t DevGetBatteryCharge;
LibTiePieDevGetBatteryTimeToEmpty_t DevGetBatteryTimeToEmpty;
LibTiePieDevGetBatteryTimeToFull_t DevGetBatteryTimeToFull;
LibTiePieDevIsBatteryChargerConnected_t DevIsBatteryChargerConnected;
LibTiePieDevIsBatteryCharging_t DevIsBatteryCharging;
LibTiePieDevIsBatteryBroken_t DevIsBatteryBroken;
LibTiePieDevSetCallbackRemoved_t DevSetCallbackRemoved;
#ifdef LIBTIEPIE_LINUX
LibTiePieDevSetEventRemoved_t DevSetEventRemoved;
#endif
#ifdef LIBTIEPIE_WINDOWS
LibTiePieDevSetEventRemoved_t DevSetEventRemoved;
LibTiePieDevSetMessageRemoved_t DevSetMessageRemoved;
#endif
LibTiePieDevTrGetInputCount_t DevTrGetInputCount;
LibTiePieDevTrGetInputIndexById_t DevTrGetInputIndexById;
LibTiePieScpTrInIsTriggered_t ScpTrInIsTriggered;
LibTiePieDevTrInGetEnabled_t DevTrInGetEnabled;
LibTiePieDevTrInSetEnabled_t DevTrInSetEnabled;
LibTiePieDevTrInGetKinds_t DevTrInGetKinds;
LibTiePieScpTrInGetKindsEx_t ScpTrInGetKindsEx;
LibTiePieDevTrInGetKind_t DevTrInGetKind;
LibTiePieDevTrInSetKind_t DevTrInSetKind;
LibTiePieDevTrInIsAvailable_t DevTrInIsAvailable;
LibTiePieScpTrInIsAvailableEx_t ScpTrInIsAvailableEx;
LibTiePieDevTrInGetId_t DevTrInGetId;
LibTiePieDevTrInGetName_t DevTrInGetName;
LibTiePieDevTrGetOutputCount_t DevTrGetOutputCount;
LibTiePieDevTrGetOutputIndexById_t DevTrGetOutputIndexById;
LibTiePieDevTrOutGetEnabled_t DevTrOutGetEnabled;
LibTiePieDevTrOutSetEnabled_t DevTrOutSetEnabled;
LibTiePieDevTrOutGetEvents_t DevTrOutGetEvents;
LibTiePieDevTrOutGetEvent_t DevTrOutGetEvent;
LibTiePieDevTrOutSetEvent_t DevTrOutSetEvent;
LibTiePieDevTrOutGetId_t DevTrOutGetId;
LibTiePieDevTrOutGetName_t DevTrOutGetName;
LibTiePieDevTrOutTrigger_t DevTrOutTrigger;
LibTiePieScpGetChannelCount_t ScpGetChannelCount;
LibTiePieScpChIsAvailable_t ScpChIsAvailable;
LibTiePieScpChIsAvailableEx_t ScpChIsAvailableEx;
LibTiePieScpChGetConnectorType_t ScpChGetConnectorType;
LibTiePieScpChIsDifferential_t ScpChIsDifferential;
LibTiePieScpChGetImpedance_t ScpChGetImpedance;
LibTiePieScpChGetBandwidths_t ScpChGetBandwidths;
LibTiePieScpChGetBandwidth_t ScpChGetBandwidth;
LibTiePieScpChSetBandwidth_t ScpChSetBandwidth;
LibTiePieScpChGetCouplings_t ScpChGetCouplings;
LibTiePieScpChGetCoupling_t ScpChGetCoupling;
LibTiePieScpChSetCoupling_t ScpChSetCoupling;
LibTiePieScpChGetEnabled_t ScpChGetEnabled;
LibTiePieScpChSetEnabled_t ScpChSetEnabled;
LibTiePieScpChGetProbeGain_t ScpChGetProbeGain;
LibTiePieScpChSetProbeGain_t ScpChSetProbeGain;
LibTiePieScpChGetProbeOffset_t ScpChGetProbeOffset;
LibTiePieScpChSetProbeOffset_t ScpChSetProbeOffset;
LibTiePieScpChGetAutoRanging_t ScpChGetAutoRanging;
LibTiePieScpChSetAutoRanging_t ScpChSetAutoRanging;
LibTiePieScpChGetRanges_t ScpChGetRanges;
LibTiePieScpChGetRangesEx_t ScpChGetRangesEx;
LibTiePieScpChGetRange_t ScpChGetRange;
LibTiePieScpChSetRange_t ScpChSetRange;
LibTiePieScpChHasSafeGround_t ScpChHasSafeGround;
LibTiePieScpChGetSafeGroundEnabled_t ScpChGetSafeGroundEnabled;
LibTiePieScpChSetSafeGroundEnabled_t ScpChSetSafeGroundEnabled;
LibTiePieScpChGetSafeGroundThresholdMin_t ScpChGetSafeGroundThresholdMin;
LibTiePieScpChGetSafeGroundThresholdMax_t ScpChGetSafeGroundThresholdMax;
LibTiePieScpChGetSafeGroundThreshold_t ScpChGetSafeGroundThreshold;
LibTiePieScpChSetSafeGroundThreshold_t ScpChSetSafeGroundThreshold;
LibTiePieScpChVerifySafeGroundThreshold_t ScpChVerifySafeGroundThreshold;
LibTiePieScpChHasTrigger_t ScpChHasTrigger;
LibTiePieScpChHasTriggerEx_t ScpChHasTriggerEx;
LibTiePieScpChTrIsAvailable_t ScpChTrIsAvailable;
LibTiePieScpChTrIsAvailableEx_t ScpChTrIsAvailableEx;
LibTiePieScpChTrIsTriggered_t ScpChTrIsTriggered;
LibTiePieScpChTrGetEnabled_t ScpChTrGetEnabled;
LibTiePieScpChTrSetEnabled_t ScpChTrSetEnabled;
LibTiePieScpChTrGetKinds_t ScpChTrGetKinds;
LibTiePieScpChTrGetKindsEx_t ScpChTrGetKindsEx;
LibTiePieScpChTrGetKind_t ScpChTrGetKind;
LibTiePieScpChTrSetKind_t ScpChTrSetKind;
LibTiePieScpChTrGetLevelModes_t ScpChTrGetLevelModes;
LibTiePieScpChTrGetLevelMode_t ScpChTrGetLevelMode;
LibTiePieScpChTrSetLevelMode_t ScpChTrSetLevelMode;
LibTiePieScpChTrGetLevelCount_t ScpChTrGetLevelCount;
LibTiePieScpChTrGetLevel_t ScpChTrGetLevel;
LibTiePieScpChTrSetLevel_t ScpChTrSetLevel;
LibTiePieScpChTrGetHysteresisCount_t ScpChTrGetHysteresisCount;
LibTiePieScpChTrGetHysteresis_t ScpChTrGetHysteresis;
LibTiePieScpChTrSetHysteresis_t ScpChTrSetHysteresis;
LibTiePieScpChTrGetConditions_t ScpChTrGetConditions;
LibTiePieScpChTrGetConditionsEx_t ScpChTrGetConditionsEx;
LibTiePieScpChTrGetCondition_t ScpChTrGetCondition;
LibTiePieScpChTrSetCondition_t ScpChTrSetCondition;
LibTiePieScpChTrGetTimeCount_t ScpChTrGetTimeCount;
LibTiePieScpChTrGetTime_t ScpChTrGetTime;
LibTiePieScpChTrSetTime_t ScpChTrSetTime;
LibTiePieScpChTrVerifyTime_t ScpChTrVerifyTime;
LibTiePieScpChTrVerifyTimeEx2_t ScpChTrVerifyTimeEx2;
LibTiePieScpGetData_t ScpGetData;
LibTiePieScpGetData1Ch_t ScpGetData1Ch;
LibTiePieScpGetData2Ch_t ScpGetData2Ch;
LibTiePieScpGetData3Ch_t ScpGetData3Ch;
LibTiePieScpGetData4Ch_t ScpGetData4Ch;
LibTiePieScpGetData5Ch_t ScpGetData5Ch;
LibTiePieScpGetData6Ch_t ScpGetData6Ch;
LibTiePieScpGetData7Ch_t ScpGetData7Ch;
LibTiePieScpGetData8Ch_t ScpGetData8Ch;
LibTiePieScpGetValidPreSampleCount_t ScpGetValidPreSampleCount;
LibTiePieScpChGetDataValueRange_t ScpChGetDataValueRange;
LibTiePieScpChGetDataValueMin_t ScpChGetDataValueMin;
LibTiePieScpChGetDataValueMax_t ScpChGetDataValueMax;
LibTiePieScpGetDataRaw_t ScpGetDataRaw;
LibTiePieScpGetDataRaw1Ch_t ScpGetDataRaw1Ch;
LibTiePieScpGetDataRaw2Ch_t ScpGetDataRaw2Ch;
LibTiePieScpGetDataRaw3Ch_t ScpGetDataRaw3Ch;
LibTiePieScpGetDataRaw4Ch_t ScpGetDataRaw4Ch;
LibTiePieScpGetDataRaw5Ch_t ScpGetDataRaw5Ch;
LibTiePieScpGetDataRaw6Ch_t ScpGetDataRaw6Ch;
LibTiePieScpGetDataRaw7Ch_t ScpGetDataRaw7Ch;
LibTiePieScpGetDataRaw8Ch_t ScpGetDataRaw8Ch;
LibTiePieScpChGetDataRawType_t ScpChGetDataRawType;
LibTiePieScpChGetDataRawValueRange_t ScpChGetDataRawValueRange;
LibTiePieScpChGetDataRawValueMin_t ScpChGetDataRawValueMin;
LibTiePieScpChGetDataRawValueZero_t ScpChGetDataRawValueZero;
LibTiePieScpChGetDataRawValueMax_t ScpChGetDataRawValueMax;
LibTiePieScpChIsRangeMaxReachable_t ScpChIsRangeMaxReachable;
LibTiePieScpIsGetDataAsyncCompleted_t ScpIsGetDataAsyncCompleted;
LibTiePieScpStartGetDataAsync_t ScpStartGetDataAsync;
LibTiePieScpStartGetDataAsyncRaw_t ScpStartGetDataAsyncRaw;
LibTiePieScpCancelGetDataAsync_t ScpCancelGetDataAsync;
LibTiePieScpSetCallbackDataReady_t ScpSetCallbackDataReady;
LibTiePieScpSetCallbackDataOverflow_t ScpSetCallbackDataOverflow;
LibTiePieScpSetCallbackConnectionTestCompleted_t ScpSetCallbackConnectionTestCompleted;
LibTiePieScpSetCallbackTriggered_t ScpSetCallbackTriggered;
#ifdef LIBTIEPIE_LINUX
LibTiePieScpSetEventDataReady_t ScpSetEventDataReady;
LibTiePieScpSetEventDataOverflow_t ScpSetEventDataOverflow;
LibTiePieScpSetEventConnectionTestCompleted_t ScpSetEventConnectionTestCompleted;
LibTiePieScpSetEventTriggered_t ScpSetEventTriggered;
#endif
#ifdef LIBTIEPIE_WINDOWS
LibTiePieScpSetEventDataReady_t ScpSetEventDataReady;
LibTiePieScpSetEventDataOverflow_t ScpSetEventDataOverflow;
LibTiePieScpSetEventConnectionTestCompleted_t ScpSetEventConnectionTestCompleted;
LibTiePieScpSetEventTriggered_t ScpSetEventTriggered;
LibTiePieScpSetMessageDataReady_t ScpSetMessageDataReady;
LibTiePieScpSetMessageDataOverflow_t ScpSetMessageDataOverflow;
LibTiePieScpSetMessageConnectionTestCompleted_t ScpSetMessageConnectionTestCompleted;
LibTiePieScpSetMessageTriggered_t ScpSetMessageTriggered;
#endif
LibTiePieScpStart_t ScpStart;
LibTiePieScpStop_t ScpStop;
LibTiePieScpForceTrigger_t ScpForceTrigger;
LibTiePieScpGetMeasureModes_t ScpGetMeasureModes;
LibTiePieScpGetMeasureMode_t ScpGetMeasureMode;
LibTiePieScpSetMeasureMode_t ScpSetMeasureMode;
LibTiePieScpIsRunning_t ScpIsRunning;
LibTiePieScpIsTriggered_t ScpIsTriggered;
LibTiePieScpIsTimeOutTriggered_t ScpIsTimeOutTriggered;
LibTiePieScpIsForceTriggered_t ScpIsForceTriggered;
LibTiePieScpIsDataReady_t ScpIsDataReady;
LibTiePieScpIsDataOverflow_t ScpIsDataOverflow;
LibTiePieScpGetAutoResolutionModes_t ScpGetAutoResolutionModes;
LibTiePieScpGetAutoResolutionMode_t ScpGetAutoResolutionMode;
LibTiePieScpSetAutoResolutionMode_t ScpSetAutoResolutionMode;
LibTiePieScpGetResolutions_t ScpGetResolutions;
LibTiePieScpGetResolution_t ScpGetResolution;
LibTiePieScpSetResolution_t ScpSetResolution;
LibTiePieScpIsResolutionEnhanced_t ScpIsResolutionEnhanced;
LibTiePieScpIsResolutionEnhancedEx_t ScpIsResolutionEnhancedEx;
LibTiePieScpGetClockSources_t ScpGetClockSources;
LibTiePieScpGetClockSource_t ScpGetClockSource;
LibTiePieScpSetClockSource_t ScpSetClockSource;
LibTiePieScpGetClockSourceFrequencies_t ScpGetClockSourceFrequencies;
LibTiePieScpGetClockSourceFrequenciesEx_t ScpGetClockSourceFrequenciesEx;
LibTiePieScpGetClockSourceFrequency_t ScpGetClockSourceFrequency;
LibTiePieScpSetClockSourceFrequency_t ScpSetClockSourceFrequency;
LibTiePieScpGetClockOutputs_t ScpGetClockOutputs;
LibTiePieScpGetClockOutput_t ScpGetClockOutput;
LibTiePieScpSetClockOutput_t ScpSetClockOutput;
LibTiePieScpGetClockOutputFrequencies_t ScpGetClockOutputFrequencies;
LibTiePieScpGetClockOutputFrequenciesEx_t ScpGetClockOutputFrequenciesEx;
LibTiePieScpGetClockOutputFrequency_t ScpGetClockOutputFrequency;
LibTiePieScpSetClockOutputFrequency_t ScpSetClockOutputFrequency;
LibTiePieScpGetSampleFrequencyMax_t ScpGetSampleFrequencyMax;
LibTiePieScpGetSampleFrequency_t ScpGetSampleFrequency;
LibTiePieScpSetSampleFrequency_t ScpSetSampleFrequency;
LibTiePieScpVerifySampleFrequency_t ScpVerifySampleFrequency;
LibTiePieScpVerifySampleFrequencyEx_t ScpVerifySampleFrequencyEx;
LibTiePieScpVerifySampleFrequenciesEx_t ScpVerifySampleFrequenciesEx;
LibTiePieScpGetRecordLengthMax_t ScpGetRecordLengthMax;
LibTiePieScpGetRecordLengthMaxEx_t ScpGetRecordLengthMaxEx;
LibTiePieScpGetRecordLength_t ScpGetRecordLength;
LibTiePieScpSetRecordLength_t ScpSetRecordLength;
LibTiePieScpVerifyRecordLength_t ScpVerifyRecordLength;
LibTiePieScpVerifyRecordLengthEx_t ScpVerifyRecordLengthEx;
LibTiePieScpGetPreSampleRatio_t ScpGetPreSampleRatio;
LibTiePieScpSetPreSampleRatio_t ScpSetPreSampleRatio;
LibTiePieScpGetSegmentCountMax_t ScpGetSegmentCountMax;
LibTiePieScpGetSegmentCountMaxEx_t ScpGetSegmentCountMaxEx;
LibTiePieScpGetSegmentCount_t ScpGetSegmentCount;
LibTiePieScpSetSegmentCount_t ScpSetSegmentCount;
LibTiePieScpVerifySegmentCount_t ScpVerifySegmentCount;
LibTiePieScpVerifySegmentCountEx2_t ScpVerifySegmentCountEx2;
LibTiePieScpHasTrigger_t ScpHasTrigger;
LibTiePieScpHasTriggerEx_t ScpHasTriggerEx;
LibTiePieScpGetTriggerTimeOut_t ScpGetTriggerTimeOut;
LibTiePieScpSetTriggerTimeOut_t ScpSetTriggerTimeOut;
LibTiePieScpVerifyTriggerTimeOut_t ScpVerifyTriggerTimeOut;
LibTiePieScpVerifyTriggerTimeOutEx_t ScpVerifyTriggerTimeOutEx;
LibTiePieScpHasTriggerDelay_t ScpHasTriggerDelay;
LibTiePieScpHasTriggerDelayEx_t ScpHasTriggerDelayEx;
LibTiePieScpGetTriggerDelayMax_t ScpGetTriggerDelayMax;
LibTiePieScpGetTriggerDelayMaxEx_t ScpGetTriggerDelayMaxEx;
LibTiePieScpGetTriggerDelay_t ScpGetTriggerDelay;
LibTiePieScpSetTriggerDelay_t ScpSetTriggerDelay;
LibTiePieScpVerifyTriggerDelay_t ScpVerifyTriggerDelay;
LibTiePieScpVerifyTriggerDelayEx_t ScpVerifyTriggerDelayEx;
LibTiePieScpHasTriggerHoldOff_t ScpHasTriggerHoldOff;
LibTiePieScpHasTriggerHoldOffEx_t ScpHasTriggerHoldOffEx;
LibTiePieScpGetTriggerHoldOffCountMax_t ScpGetTriggerHoldOffCountMax;
LibTiePieScpGetTriggerHoldOffCountMaxEx_t ScpGetTriggerHoldOffCountMaxEx;
LibTiePieScpGetTriggerHoldOffCount_t ScpGetTriggerHoldOffCount;
LibTiePieScpSetTriggerHoldOffCount_t ScpSetTriggerHoldOffCount;
LibTiePieScpHasConnectionTest_t ScpHasConnectionTest;
LibTiePieScpChHasConnectionTest_t ScpChHasConnectionTest;
LibTiePieScpStartConnectionTest_t ScpStartConnectionTest;
LibTiePieScpStartConnectionTestEx_t ScpStartConnectionTestEx;
LibTiePieScpIsConnectionTestCompleted_t ScpIsConnectionTestCompleted;
LibTiePieScpGetConnectionTestData_t ScpGetConnectionTestData;
LibTiePieGenGetConnectorType_t GenGetConnectorType;
LibTiePieGenIsDifferential_t GenIsDifferential;
LibTiePieGenGetImpedance_t GenGetImpedance;
LibTiePieGenGetResolution_t GenGetResolution;
LibTiePieGenGetOutputValueMin_t GenGetOutputValueMin;
LibTiePieGenGetOutputValueMax_t GenGetOutputValueMax;
LibTiePieGenGetOutputValueMinMax_t GenGetOutputValueMinMax;
LibTiePieGenIsControllable_t GenIsControllable;
LibTiePieGenIsRunning_t GenIsRunning;
LibTiePieGenGetStatus_t GenGetStatus;
LibTiePieGenGetOutputOn_t GenGetOutputOn;
LibTiePieGenSetOutputOn_t GenSetOutputOn;
LibTiePieGenHasOutputInvert_t GenHasOutputInvert;
LibTiePieGenGetOutputInvert_t GenGetOutputInvert;
LibTiePieGenSetOutputInvert_t GenSetOutputInvert;
LibTiePieGenStart_t GenStart;
LibTiePieGenStop_t GenStop;
LibTiePieGenGetSignalTypes_t GenGetSignalTypes;
LibTiePieGenGetSignalType_t GenGetSignalType;
LibTiePieGenSetSignalType_t GenSetSignalType;
LibTiePieGenHasAmplitude_t GenHasAmplitude;
LibTiePieGenHasAmplitudeEx_t GenHasAmplitudeEx;
LibTiePieGenGetAmplitudeMin_t GenGetAmplitudeMin;
LibTiePieGenGetAmplitudeMax_t GenGetAmplitudeMax;
LibTiePieGenGetAmplitudeMinMaxEx_t GenGetAmplitudeMinMaxEx;
LibTiePieGenGetAmplitude_t GenGetAmplitude;
LibTiePieGenSetAmplitude_t GenSetAmplitude;
LibTiePieGenVerifyAmplitude_t GenVerifyAmplitude;
LibTiePieGenVerifyAmplitudeEx_t GenVerifyAmplitudeEx;
LibTiePieGenGetAmplitudeRanges_t GenGetAmplitudeRanges;
LibTiePieGenGetAmplitudeRange_t GenGetAmplitudeRange;
LibTiePieGenSetAmplitudeRange_t GenSetAmplitudeRange;
LibTiePieGenGetAmplitudeAutoRanging_t GenGetAmplitudeAutoRanging;
LibTiePieGenSetAmplitudeAutoRanging_t GenSetAmplitudeAutoRanging;
LibTiePieGenHasOffset_t GenHasOffset;
LibTiePieGenHasOffsetEx_t GenHasOffsetEx;
LibTiePieGenGetOffsetMin_t GenGetOffsetMin;
LibTiePieGenGetOffsetMax_t GenGetOffsetMax;
LibTiePieGenGetOffsetMinMaxEx_t GenGetOffsetMinMaxEx;
LibTiePieGenGetOffset_t GenGetOffset;
LibTiePieGenSetOffset_t GenSetOffset;
LibTiePieGenVerifyOffset_t GenVerifyOffset;
LibTiePieGenVerifyOffsetEx_t GenVerifyOffsetEx;
LibTiePieGenGetFrequencyModes_t GenGetFrequencyModes;
LibTiePieGenGetFrequencyModesEx_t GenGetFrequencyModesEx;
LibTiePieGenGetFrequencyMode_t GenGetFrequencyMode;
LibTiePieGenSetFrequencyMode_t GenSetFrequencyMode;
LibTiePieGenHasFrequency_t GenHasFrequency;
LibTiePieGenHasFrequencyEx_t GenHasFrequencyEx;
LibTiePieGenGetFrequencyMin_t GenGetFrequencyMin;
LibTiePieGenGetFrequencyMax_t GenGetFrequencyMax;
LibTiePieGenGetFrequencyMinMax_t GenGetFrequencyMinMax;
LibTiePieGenGetFrequencyMinMaxEx_t GenGetFrequencyMinMaxEx;
LibTiePieGenGetFrequency_t GenGetFrequency;
LibTiePieGenSetFrequency_t GenSetFrequency;
LibTiePieGenVerifyFrequency_t GenVerifyFrequency;
LibTiePieGenVerifyFrequencyEx2_t GenVerifyFrequencyEx2;
LibTiePieGenHasPhase_t GenHasPhase;
LibTiePieGenHasPhaseEx_t GenHasPhaseEx;
LibTiePieGenGetPhaseMin_t GenGetPhaseMin;
LibTiePieGenGetPhaseMax_t GenGetPhaseMax;
LibTiePieGenGetPhaseMinMaxEx_t GenGetPhaseMinMaxEx;
LibTiePieGenGetPhase_t GenGetPhase;
LibTiePieGenSetPhase_t GenSetPhase;
LibTiePieGenVerifyPhase_t GenVerifyPhase;
LibTiePieGenVerifyPhaseEx_t GenVerifyPhaseEx;
LibTiePieGenHasSymmetry_t GenHasSymmetry;
LibTiePieGenHasSymmetryEx_t GenHasSymmetryEx;
LibTiePieGenGetSymmetryMin_t GenGetSymmetryMin;
LibTiePieGenGetSymmetryMax_t GenGetSymmetryMax;
LibTiePieGenGetSymmetryMinMaxEx_t GenGetSymmetryMinMaxEx;
LibTiePieGenGetSymmetry_t GenGetSymmetry;
LibTiePieGenSetSymmetry_t GenSetSymmetry;
LibTiePieGenVerifySymmetry_t GenVerifySymmetry;
LibTiePieGenVerifySymmetryEx_t GenVerifySymmetryEx;
LibTiePieGenHasWidth_t GenHasWidth;
LibTiePieGenHasWidthEx_t GenHasWidthEx;
LibTiePieGenGetWidthMin_t GenGetWidthMin;
LibTiePieGenGetWidthMax_t GenGetWidthMax;
LibTiePieGenGetWidthMinMaxEx_t GenGetWidthMinMaxEx;
LibTiePieGenGetWidth_t GenGetWidth;
LibTiePieGenSetWidth_t GenSetWidth;
LibTiePieGenVerifyWidth_t GenVerifyWidth;
LibTiePieGenVerifyWidthEx_t GenVerifyWidthEx;
LibTiePieGenHasEdgeTime_t GenHasEdgeTime;
LibTiePieGenHasEdgeTimeEx_t GenHasEdgeTimeEx;
LibTiePieGenGetLeadingEdgeTimeMin_t GenGetLeadingEdgeTimeMin;
LibTiePieGenGetLeadingEdgeTimeMax_t GenGetLeadingEdgeTimeMax;
LibTiePieGenGetLeadingEdgeTimeMinMaxEx_t GenGetLeadingEdgeTimeMinMaxEx;
LibTiePieGenGetLeadingEdgeTime_t GenGetLeadingEdgeTime;
LibTiePieGenSetLeadingEdgeTime_t GenSetLeadingEdgeTime;
LibTiePieGenVerifyLeadingEdgeTime_t GenVerifyLeadingEdgeTime;
LibTiePieGenVerifyLeadingEdgeTimeEx_t GenVerifyLeadingEdgeTimeEx;
LibTiePieGenGetTrailingEdgeTimeMin_t GenGetTrailingEdgeTimeMin;
LibTiePieGenGetTrailingEdgeTimeMax_t GenGetTrailingEdgeTimeMax;
LibTiePieGenGetTrailingEdgeTimeMinMaxEx_t GenGetTrailingEdgeTimeMinMaxEx;
LibTiePieGenGetTrailingEdgeTime_t GenGetTrailingEdgeTime;
LibTiePieGenSetTrailingEdgeTime_t GenSetTrailingEdgeTime;
LibTiePieGenVerifyTrailingEdgeTime_t GenVerifyTrailingEdgeTime;
LibTiePieGenVerifyTrailingEdgeTimeEx_t GenVerifyTrailingEdgeTimeEx;
LibTiePieGenHasData_t GenHasData;
LibTiePieGenHasDataEx_t GenHasDataEx;
LibTiePieGenGetDataLengthMin_t GenGetDataLengthMin;
LibTiePieGenGetDataLengthMax_t GenGetDataLengthMax;
LibTiePieGenGetDataLengthMinMaxEx_t GenGetDataLengthMinMaxEx;
LibTiePieGenGetDataLength_t GenGetDataLength;
LibTiePieGenVerifyDataLength_t GenVerifyDataLength;
LibTiePieGenVerifyDataLengthEx_t GenVerifyDataLengthEx;
LibTiePieGenSetData_t GenSetData;
LibTiePieGenSetDataEx_t GenSetDataEx;
LibTiePieGenGetDataRawType_t GenGetDataRawType;
LibTiePieGenGetDataRawValueRange_t GenGetDataRawValueRange;
LibTiePieGenGetDataRawValueMin_t GenGetDataRawValueMin;
LibTiePieGenGetDataRawValueZero_t GenGetDataRawValueZero;
LibTiePieGenGetDataRawValueMax_t GenGetDataRawValueMax;
LibTiePieGenSetDataRaw_t GenSetDataRaw;
LibTiePieGenSetDataRawEx_t GenSetDataRawEx;
LibTiePieGenGetModes_t GenGetModes;
LibTiePieGenGetModesEx_t GenGetModesEx;
LibTiePieGenGetModesNative_t GenGetModesNative;
LibTiePieGenGetMode_t GenGetMode;
LibTiePieGenSetMode_t GenSetMode;
LibTiePieGenIsBurstActive_t GenIsBurstActive;
LibTiePieGenGetBurstCountMin_t GenGetBurstCountMin;
LibTiePieGenGetBurstCountMax_t GenGetBurstCountMax;
LibTiePieGenGetBurstCountMinMaxEx_t GenGetBurstCountMinMaxEx;
LibTiePieGenGetBurstCount_t GenGetBurstCount;
LibTiePieGenSetBurstCount_t GenSetBurstCount;
LibTiePieGenGetBurstSampleCountMin_t GenGetBurstSampleCountMin;
LibTiePieGenGetBurstSampleCountMax_t GenGetBurstSampleCountMax;
LibTiePieGenGetBurstSampleCountMinMaxEx_t GenGetBurstSampleCountMinMaxEx;
LibTiePieGenGetBurstSampleCount_t GenGetBurstSampleCount;
LibTiePieGenSetBurstSampleCount_t GenSetBurstSampleCount;
LibTiePieGenGetBurstSegmentCountMin_t GenGetBurstSegmentCountMin;
LibTiePieGenGetBurstSegmentCountMax_t GenGetBurstSegmentCountMax;
LibTiePieGenGetBurstSegmentCountMinMaxEx_t GenGetBurstSegmentCountMinMaxEx;
LibTiePieGenGetBurstSegmentCount_t GenGetBurstSegmentCount;
LibTiePieGenSetBurstSegmentCount_t GenSetBurstSegmentCount;
LibTiePieGenVerifyBurstSegmentCount_t GenVerifyBurstSegmentCount;
LibTiePieGenVerifyBurstSegmentCountEx_t GenVerifyBurstSegmentCountEx;
LibTiePieGenSetCallbackBurstCompleted_t GenSetCallbackBurstCompleted;
#ifdef LIBTIEPIE_LINUX
LibTiePieGenSetEventBurstCompleted_t GenSetEventBurstCompleted;
#endif
#ifdef LIBTIEPIE_WINDOWS
LibTiePieGenSetEventBurstCompleted_t GenSetEventBurstCompleted;
LibTiePieGenSetMessageBurstCompleted_t GenSetMessageBurstCompleted;
#endif
LibTiePieGenSetCallbackControllableChanged_t GenSetCallbackControllableChanged;
#ifdef LIBTIEPIE_LINUX
LibTiePieGenSetEventControllableChanged_t GenSetEventControllableChanged;
#endif
#ifdef LIBTIEPIE_WINDOWS
LibTiePieGenSetEventControllableChanged_t GenSetEventControllableChanged;
LibTiePieGenSetMessageControllableChanged_t GenSetMessageControllableChanged;
#endif
LibTiePieI2CIsInternalAddress_t I2CIsInternalAddress;
LibTiePieI2CGetInternalAddresses_t I2CGetInternalAddresses;
LibTiePieI2CRead_t I2CRead;
LibTiePieI2CReadByte_t I2CReadByte;
LibTiePieI2CReadWord_t I2CReadWord;
LibTiePieI2CWrite_t I2CWrite;
LibTiePieI2CWriteByte_t I2CWriteByte;
LibTiePieI2CWriteByteByte_t I2CWriteByteByte;
LibTiePieI2CWriteByteWord_t I2CWriteByteWord;
LibTiePieI2CWriteWord_t I2CWriteWord;
LibTiePieI2CWriteRead_t I2CWriteRead;
LibTiePieI2CGetSpeedMax_t I2CGetSpeedMax;
LibTiePieI2CGetSpeed_t I2CGetSpeed;
LibTiePieI2CSetSpeed_t I2CSetSpeed;
LibTiePieI2CVerifySpeed_t I2CVerifySpeed;
LibTiePieSrvConnect_t SrvConnect;
LibTiePieSrvDisconnect_t SrvDisconnect;
LibTiePieSrvRemove_t SrvRemove;
LibTiePieSrvGetStatus_t SrvGetStatus;
LibTiePieSrvGetLastError_t SrvGetLastError;
LibTiePieSrvGetURL_t SrvGetURL;
LibTiePieSrvGetID_t SrvGetID;
LibTiePieSrvGetIPv4Address_t SrvGetIPv4Address;
LibTiePieSrvGetIPPort_t SrvGetIPPort;
LibTiePieSrvGetName_t SrvGetName;
LibTiePieSrvGetDescription_t SrvGetDescription;
LibTiePieSrvGetVersion_t SrvGetVersion;
LibTiePieSrvGetVersionExtra_t SrvGetVersionExtra;
LibTiePieHlpPointerArrayNew_t HlpPointerArrayNew;
LibTiePieHlpPointerArraySet_t HlpPointerArraySet;
LibTiePieHlpPointerArrayDelete_t HlpPointerArrayDelete;

#ifdef LIBTIEPIE_WINDOWS

HMODULE hLibTiePie = 0;

#  define OpenLib( p )        LoadLibrary( p )
#  define GetLibSym( h , p )  GetProcAddress( h , p )
#  define CloseLib( h )       FreeLibrary( h )

#else

void* hLibTiePie = 0;

#  define OpenLib( p )        dlopen( p , RTLD_LAZY )
#  define GetLibSym( h , p )  dlsym( h , p )
#  define CloseLib( h )       dlclose( h )

#endif

LibTiePieStatus_t LibTiePieLoad( const char* pLibrary )
{
  if( !hLibTiePie && pLibrary )
  {
    hLibTiePie = OpenLib( pLibrary );

    if( hLibTiePie )
    {
      LibInit = (LibTiePieLibInit_t) GetLibSym( hLibTiePie , "LibInit" );
      LibIsInitialized = (LibTiePieLibIsInitialized_t) GetLibSym( hLibTiePie , "LibIsInitialized" );
      LibExit = (LibTiePieLibExit_t) GetLibSym( hLibTiePie , "LibExit" );
      LibGetVersion = (LibTiePieLibGetVersion_t) GetLibSym( hLibTiePie , "LibGetVersion" );
      LibGetVersionExtra = (LibTiePieLibGetVersionExtra_t) GetLibSym( hLibTiePie , "LibGetVersionExtra" );
      LibGetConfig = (LibTiePieLibGetConfig_t) GetLibSym( hLibTiePie , "LibGetConfig" );
      LibGetLastStatus = (LibTiePieLibGetLastStatus_t) GetLibSym( hLibTiePie , "LibGetLastStatus" );
      LibGetLastStatusStr = (LibTiePieLibGetLastStatusStr_t) GetLibSym( hLibTiePie , "LibGetLastStatusStr" );
      LstUpdate = (LibTiePieLstUpdate_t) GetLibSym( hLibTiePie , "LstUpdate" );
      LstGetCount = (LibTiePieLstGetCount_t) GetLibSym( hLibTiePie , "LstGetCount" );
      LstOpenDevice = (LibTiePieLstOpenDevice_t) GetLibSym( hLibTiePie , "LstOpenDevice" );
      LstOpenOscilloscope = (LibTiePieLstOpenOscilloscope_t) GetLibSym( hLibTiePie , "LstOpenOscilloscope" );
      LstOpenGenerator = (LibTiePieLstOpenGenerator_t) GetLibSym( hLibTiePie , "LstOpenGenerator" );
      LstOpenI2CHost = (LibTiePieLstOpenI2CHost_t) GetLibSym( hLibTiePie , "LstOpenI2CHost" );
      LstCreateCombinedDevice = (LibTiePieLstCreateCombinedDevice_t) GetLibSym( hLibTiePie , "LstCreateCombinedDevice" );
      LstCreateAndOpenCombinedDevice = (LibTiePieLstCreateAndOpenCombinedDevice_t) GetLibSym( hLibTiePie , "LstCreateAndOpenCombinedDevice" );
      LstRemoveDevice = (LibTiePieLstRemoveDevice_t) GetLibSym( hLibTiePie , "LstRemoveDevice" );
      LstRemoveDeviceForce = (LibTiePieLstRemoveDeviceForce_t) GetLibSym( hLibTiePie , "LstRemoveDeviceForce" );
      LstDevCanOpen = (LibTiePieLstDevCanOpen_t) GetLibSym( hLibTiePie , "LstDevCanOpen" );
      LstDevGetProductId = (LibTiePieLstDevGetProductId_t) GetLibSym( hLibTiePie , "LstDevGetProductId" );
      LstDevGetVendorId = (LibTiePieLstDevGetVendorId_t) GetLibSym( hLibTiePie , "LstDevGetVendorId" );
      LstDevGetName = (LibTiePieLstDevGetName_t) GetLibSym( hLibTiePie , "LstDevGetName" );
      LstDevGetNameShort = (LibTiePieLstDevGetNameShort_t) GetLibSym( hLibTiePie , "LstDevGetNameShort" );
      LstDevGetNameShortest = (LibTiePieLstDevGetNameShortest_t) GetLibSym( hLibTiePie , "LstDevGetNameShortest" );
      LstDevGetDriverVersion = (LibTiePieLstDevGetDriverVersion_t) GetLibSym( hLibTiePie , "LstDevGetDriverVersion" );
      LstDevGetRecommendedDriverVersion = (LibTiePieLstDevGetRecommendedDriverVersion_t) GetLibSym( hLibTiePie , "LstDevGetRecommendedDriverVersion" );
      LstDevGetFirmwareVersion = (LibTiePieLstDevGetFirmwareVersion_t) GetLibSym( hLibTiePie , "LstDevGetFirmwareVersion" );
      LstDevGetRecommendedFirmwareVersion = (LibTiePieLstDevGetRecommendedFirmwareVersion_t) GetLibSym( hLibTiePie , "LstDevGetRecommendedFirmwareVersion" );
      LstDevGetCalibrationDate = (LibTiePieLstDevGetCalibrationDate_t) GetLibSym( hLibTiePie , "LstDevGetCalibrationDate" );
      LstDevGetSerialNumber = (LibTiePieLstDevGetSerialNumber_t) GetLibSym( hLibTiePie , "LstDevGetSerialNumber" );
      LstDevGetIPv4Address = (LibTiePieLstDevGetIPv4Address_t) GetLibSym( hLibTiePie , "LstDevGetIPv4Address" );
      LstDevGetIPPort = (LibTiePieLstDevGetIPPort_t) GetLibSym( hLibTiePie , "LstDevGetIPPort" );
      LstDevHasServer = (LibTiePieLstDevHasServer_t) GetLibSym( hLibTiePie , "LstDevHasServer" );
      LstDevGetServer = (LibTiePieLstDevGetServer_t) GetLibSym( hLibTiePie , "LstDevGetServer" );
      LstDevGetTypes = (LibTiePieLstDevGetTypes_t) GetLibSym( hLibTiePie , "LstDevGetTypes" );
      LstDevGetContainedSerialNumbers = (LibTiePieLstDevGetContainedSerialNumbers_t) GetLibSym( hLibTiePie , "LstDevGetContainedSerialNumbers" );
      LstCbDevGetProductId = (LibTiePieLstCbDevGetProductId_t) GetLibSym( hLibTiePie , "LstCbDevGetProductId" );
      LstCbDevGetVendorId = (LibTiePieLstCbDevGetVendorId_t) GetLibSym( hLibTiePie , "LstCbDevGetVendorId" );
      LstCbDevGetName = (LibTiePieLstCbDevGetName_t) GetLibSym( hLibTiePie , "LstCbDevGetName" );
      LstCbDevGetNameShort = (LibTiePieLstCbDevGetNameShort_t) GetLibSym( hLibTiePie , "LstCbDevGetNameShort" );
      LstCbDevGetNameShortest = (LibTiePieLstCbDevGetNameShortest_t) GetLibSym( hLibTiePie , "LstCbDevGetNameShortest" );
      LstCbDevGetDriverVersion = (LibTiePieLstCbDevGetDriverVersion_t) GetLibSym( hLibTiePie , "LstCbDevGetDriverVersion" );
      LstCbDevGetFirmwareVersion = (LibTiePieLstCbDevGetFirmwareVersion_t) GetLibSym( hLibTiePie , "LstCbDevGetFirmwareVersion" );
      LstCbDevGetCalibrationDate = (LibTiePieLstCbDevGetCalibrationDate_t) GetLibSym( hLibTiePie , "LstCbDevGetCalibrationDate" );
      LstCbScpGetChannelCount = (LibTiePieLstCbScpGetChannelCount_t) GetLibSym( hLibTiePie , "LstCbScpGetChannelCount" );
      LstSetCallbackDeviceAdded = (LibTiePieLstSetCallbackDeviceAdded_t) GetLibSym( hLibTiePie , "LstSetCallbackDeviceAdded" );
      LstSetCallbackDeviceRemoved = (LibTiePieLstSetCallbackDeviceRemoved_t) GetLibSym( hLibTiePie , "LstSetCallbackDeviceRemoved" );
      LstSetCallbackDeviceCanOpenChanged = (LibTiePieLstSetCallbackDeviceCanOpenChanged_t) GetLibSym( hLibTiePie , "LstSetCallbackDeviceCanOpenChanged" );
#ifdef LIBTIEPIE_LINUX
      LstSetEventDeviceAdded = (LibTiePieLstSetEventDeviceAdded_t) GetLibSym( hLibTiePie , "LstSetEventDeviceAdded" );
      LstSetEventDeviceRemoved = (LibTiePieLstSetEventDeviceRemoved_t) GetLibSym( hLibTiePie , "LstSetEventDeviceRemoved" );
      LstSetEventDeviceCanOpenChanged = (LibTiePieLstSetEventDeviceCanOpenChanged_t) GetLibSym( hLibTiePie , "LstSetEventDeviceCanOpenChanged" );
#endif
#ifdef LIBTIEPIE_WINDOWS
      LstSetEventDeviceAdded = (LibTiePieLstSetEventDeviceAdded_t) GetLibSym( hLibTiePie , "LstSetEventDeviceAdded" );
      LstSetEventDeviceRemoved = (LibTiePieLstSetEventDeviceRemoved_t) GetLibSym( hLibTiePie , "LstSetEventDeviceRemoved" );
      LstSetEventDeviceCanOpenChanged = (LibTiePieLstSetEventDeviceCanOpenChanged_t) GetLibSym( hLibTiePie , "LstSetEventDeviceCanOpenChanged" );
      LstSetMessageDeviceAdded = (LibTiePieLstSetMessageDeviceAdded_t) GetLibSym( hLibTiePie , "LstSetMessageDeviceAdded" );
      LstSetMessageDeviceRemoved = (LibTiePieLstSetMessageDeviceRemoved_t) GetLibSym( hLibTiePie , "LstSetMessageDeviceRemoved" );
      LstSetMessageDeviceCanOpenChanged = (LibTiePieLstSetMessageDeviceCanOpenChanged_t) GetLibSym( hLibTiePie , "LstSetMessageDeviceCanOpenChanged" );
#endif
      NetGetAutoDetectEnabled = (LibTiePieNetGetAutoDetectEnabled_t) GetLibSym( hLibTiePie , "NetGetAutoDetectEnabled" );
      NetSetAutoDetectEnabled = (LibTiePieNetSetAutoDetectEnabled_t) GetLibSym( hLibTiePie , "NetSetAutoDetectEnabled" );
      NetSrvAdd = (LibTiePieNetSrvAdd_t) GetLibSym( hLibTiePie , "NetSrvAdd" );
      NetSrvRemove = (LibTiePieNetSrvRemove_t) GetLibSym( hLibTiePie , "NetSrvRemove" );
      NetSrvGetCount = (LibTiePieNetSrvGetCount_t) GetLibSym( hLibTiePie , "NetSrvGetCount" );
      NetSrvGetByIndex = (LibTiePieNetSrvGetByIndex_t) GetLibSym( hLibTiePie , "NetSrvGetByIndex" );
      NetSrvGetByURL = (LibTiePieNetSrvGetByURL_t) GetLibSym( hLibTiePie , "NetSrvGetByURL" );
      NetSrvSetCallbackAdded = (LibTiePieNetSrvSetCallbackAdded_t) GetLibSym( hLibTiePie , "NetSrvSetCallbackAdded" );
#ifdef LIBTIEPIE_LINUX
      NetSrvSetEventAdded = (LibTiePieNetSrvSetEventAdded_t) GetLibSym( hLibTiePie , "NetSrvSetEventAdded" );
#endif
#ifdef LIBTIEPIE_WINDOWS
      NetSrvSetEventAdded = (LibTiePieNetSrvSetEventAdded_t) GetLibSym( hLibTiePie , "NetSrvSetEventAdded" );
      NetSrvSetMessageAdded = (LibTiePieNetSrvSetMessageAdded_t) GetLibSym( hLibTiePie , "NetSrvSetMessageAdded" );
#endif
      ObjClose = (LibTiePieObjClose_t) GetLibSym( hLibTiePie , "ObjClose" );
      ObjIsRemoved = (LibTiePieObjIsRemoved_t) GetLibSym( hLibTiePie , "ObjIsRemoved" );
      ObjGetInterfaces = (LibTiePieObjGetInterfaces_t) GetLibSym( hLibTiePie , "ObjGetInterfaces" );
      ObjSetEventCallback = (LibTiePieObjSetEventCallback_t) GetLibSym( hLibTiePie , "ObjSetEventCallback" );
      ObjGetEvent = (LibTiePieObjGetEvent_t) GetLibSym( hLibTiePie , "ObjGetEvent" );
#ifdef LIBTIEPIE_LINUX
      ObjSetEventEvent = (LibTiePieObjSetEventEvent_t) GetLibSym( hLibTiePie , "ObjSetEventEvent" );
#endif
#ifdef LIBTIEPIE_WINDOWS
      ObjSetEventEvent = (LibTiePieObjSetEventEvent_t) GetLibSym( hLibTiePie , "ObjSetEventEvent" );
      ObjSetEventWindowHandle = (LibTiePieObjSetEventWindowHandle_t) GetLibSym( hLibTiePie , "ObjSetEventWindowHandle" );
#endif
      DevClose = (LibTiePieDevClose_t) GetLibSym( hLibTiePie , "DevClose" );
      DevIsRemoved = (LibTiePieDevIsRemoved_t) GetLibSym( hLibTiePie , "DevIsRemoved" );
      DevGetDriverVersion = (LibTiePieDevGetDriverVersion_t) GetLibSym( hLibTiePie , "DevGetDriverVersion" );
      DevGetFirmwareVersion = (LibTiePieDevGetFirmwareVersion_t) GetLibSym( hLibTiePie , "DevGetFirmwareVersion" );
      DevGetCalibrationDate = (LibTiePieDevGetCalibrationDate_t) GetLibSym( hLibTiePie , "DevGetCalibrationDate" );
      DevGetCalibrationToken = (LibTiePieDevGetCalibrationToken_t) GetLibSym( hLibTiePie , "DevGetCalibrationToken" );
      DevGetSerialNumber = (LibTiePieDevGetSerialNumber_t) GetLibSym( hLibTiePie , "DevGetSerialNumber" );
      DevGetIPv4Address = (LibTiePieDevGetIPv4Address_t) GetLibSym( hLibTiePie , "DevGetIPv4Address" );
      DevGetIPPort = (LibTiePieDevGetIPPort_t) GetLibSym( hLibTiePie , "DevGetIPPort" );
      DevGetProductId = (LibTiePieDevGetProductId_t) GetLibSym( hLibTiePie , "DevGetProductId" );
      DevGetVendorId = (LibTiePieDevGetVendorId_t) GetLibSym( hLibTiePie , "DevGetVendorId" );
      DevGetType = (LibTiePieDevGetType_t) GetLibSym( hLibTiePie , "DevGetType" );
      DevGetName = (LibTiePieDevGetName_t) GetLibSym( hLibTiePie , "DevGetName" );
      DevGetNameShort = (LibTiePieDevGetNameShort_t) GetLibSym( hLibTiePie , "DevGetNameShort" );
      DevGetNameShortest = (LibTiePieDevGetNameShortest_t) GetLibSym( hLibTiePie , "DevGetNameShortest" );
      DevHasBattery = (LibTiePieDevHasBattery_t) GetLibSym( hLibTiePie , "DevHasBattery" );
      DevGetBatteryCharge = (LibTiePieDevGetBatteryCharge_t) GetLibSym( hLibTiePie , "DevGetBatteryCharge" );
      DevGetBatteryTimeToEmpty = (LibTiePieDevGetBatteryTimeToEmpty_t) GetLibSym( hLibTiePie , "DevGetBatteryTimeToEmpty" );
      DevGetBatteryTimeToFull = (LibTiePieDevGetBatteryTimeToFull_t) GetLibSym( hLibTiePie , "DevGetBatteryTimeToFull" );
      DevIsBatteryChargerConnected = (LibTiePieDevIsBatteryChargerConnected_t) GetLibSym( hLibTiePie , "DevIsBatteryChargerConnected" );
      DevIsBatteryCharging = (LibTiePieDevIsBatteryCharging_t) GetLibSym( hLibTiePie , "DevIsBatteryCharging" );
      DevIsBatteryBroken = (LibTiePieDevIsBatteryBroken_t) GetLibSym( hLibTiePie , "DevIsBatteryBroken" );
      DevSetCallbackRemoved = (LibTiePieDevSetCallbackRemoved_t) GetLibSym( hLibTiePie , "DevSetCallbackRemoved" );
#ifdef LIBTIEPIE_LINUX
      DevSetEventRemoved = (LibTiePieDevSetEventRemoved_t) GetLibSym( hLibTiePie , "DevSetEventRemoved" );
#endif
#ifdef LIBTIEPIE_WINDOWS
      DevSetEventRemoved = (LibTiePieDevSetEventRemoved_t) GetLibSym( hLibTiePie , "DevSetEventRemoved" );
      DevSetMessageRemoved = (LibTiePieDevSetMessageRemoved_t) GetLibSym( hLibTiePie , "DevSetMessageRemoved" );
#endif
      DevTrGetInputCount = (LibTiePieDevTrGetInputCount_t) GetLibSym( hLibTiePie , "DevTrGetInputCount" );
      DevTrGetInputIndexById = (LibTiePieDevTrGetInputIndexById_t) GetLibSym( hLibTiePie , "DevTrGetInputIndexById" );
      ScpTrInIsTriggered = (LibTiePieScpTrInIsTriggered_t) GetLibSym( hLibTiePie , "ScpTrInIsTriggered" );
      DevTrInGetEnabled = (LibTiePieDevTrInGetEnabled_t) GetLibSym( hLibTiePie , "DevTrInGetEnabled" );
      DevTrInSetEnabled = (LibTiePieDevTrInSetEnabled_t) GetLibSym( hLibTiePie , "DevTrInSetEnabled" );
      DevTrInGetKinds = (LibTiePieDevTrInGetKinds_t) GetLibSym( hLibTiePie , "DevTrInGetKinds" );
      ScpTrInGetKindsEx = (LibTiePieScpTrInGetKindsEx_t) GetLibSym( hLibTiePie , "ScpTrInGetKindsEx" );
      DevTrInGetKind = (LibTiePieDevTrInGetKind_t) GetLibSym( hLibTiePie , "DevTrInGetKind" );
      DevTrInSetKind = (LibTiePieDevTrInSetKind_t) GetLibSym( hLibTiePie , "DevTrInSetKind" );
      DevTrInIsAvailable = (LibTiePieDevTrInIsAvailable_t) GetLibSym( hLibTiePie , "DevTrInIsAvailable" );
      ScpTrInIsAvailableEx = (LibTiePieScpTrInIsAvailableEx_t) GetLibSym( hLibTiePie , "ScpTrInIsAvailableEx" );
      DevTrInGetId = (LibTiePieDevTrInGetId_t) GetLibSym( hLibTiePie , "DevTrInGetId" );
      DevTrInGetName = (LibTiePieDevTrInGetName_t) GetLibSym( hLibTiePie , "DevTrInGetName" );
      DevTrGetOutputCount = (LibTiePieDevTrGetOutputCount_t) GetLibSym( hLibTiePie , "DevTrGetOutputCount" );
      DevTrGetOutputIndexById = (LibTiePieDevTrGetOutputIndexById_t) GetLibSym( hLibTiePie , "DevTrGetOutputIndexById" );
      DevTrOutGetEnabled = (LibTiePieDevTrOutGetEnabled_t) GetLibSym( hLibTiePie , "DevTrOutGetEnabled" );
      DevTrOutSetEnabled = (LibTiePieDevTrOutSetEnabled_t) GetLibSym( hLibTiePie , "DevTrOutSetEnabled" );
      DevTrOutGetEvents = (LibTiePieDevTrOutGetEvents_t) GetLibSym( hLibTiePie , "DevTrOutGetEvents" );
      DevTrOutGetEvent = (LibTiePieDevTrOutGetEvent_t) GetLibSym( hLibTiePie , "DevTrOutGetEvent" );
      DevTrOutSetEvent = (LibTiePieDevTrOutSetEvent_t) GetLibSym( hLibTiePie , "DevTrOutSetEvent" );
      DevTrOutGetId = (LibTiePieDevTrOutGetId_t) GetLibSym( hLibTiePie , "DevTrOutGetId" );
      DevTrOutGetName = (LibTiePieDevTrOutGetName_t) GetLibSym( hLibTiePie , "DevTrOutGetName" );
      DevTrOutTrigger = (LibTiePieDevTrOutTrigger_t) GetLibSym( hLibTiePie , "DevTrOutTrigger" );
      ScpGetChannelCount = (LibTiePieScpGetChannelCount_t) GetLibSym( hLibTiePie , "ScpGetChannelCount" );
      ScpChIsAvailable = (LibTiePieScpChIsAvailable_t) GetLibSym( hLibTiePie , "ScpChIsAvailable" );
      ScpChIsAvailableEx = (LibTiePieScpChIsAvailableEx_t) GetLibSym( hLibTiePie , "ScpChIsAvailableEx" );
      ScpChGetConnectorType = (LibTiePieScpChGetConnectorType_t) GetLibSym( hLibTiePie , "ScpChGetConnectorType" );
      ScpChIsDifferential = (LibTiePieScpChIsDifferential_t) GetLibSym( hLibTiePie , "ScpChIsDifferential" );
      ScpChGetImpedance = (LibTiePieScpChGetImpedance_t) GetLibSym( hLibTiePie , "ScpChGetImpedance" );
      ScpChGetBandwidths = (LibTiePieScpChGetBandwidths_t) GetLibSym( hLibTiePie , "ScpChGetBandwidths" );
      ScpChGetBandwidth = (LibTiePieScpChGetBandwidth_t) GetLibSym( hLibTiePie , "ScpChGetBandwidth" );
      ScpChSetBandwidth = (LibTiePieScpChSetBandwidth_t) GetLibSym( hLibTiePie , "ScpChSetBandwidth" );
      ScpChGetCouplings = (LibTiePieScpChGetCouplings_t) GetLibSym( hLibTiePie , "ScpChGetCouplings" );
      ScpChGetCoupling = (LibTiePieScpChGetCoupling_t) GetLibSym( hLibTiePie , "ScpChGetCoupling" );
      ScpChSetCoupling = (LibTiePieScpChSetCoupling_t) GetLibSym( hLibTiePie , "ScpChSetCoupling" );
      ScpChGetEnabled = (LibTiePieScpChGetEnabled_t) GetLibSym( hLibTiePie , "ScpChGetEnabled" );
      ScpChSetEnabled = (LibTiePieScpChSetEnabled_t) GetLibSym( hLibTiePie , "ScpChSetEnabled" );
      ScpChGetProbeGain = (LibTiePieScpChGetProbeGain_t) GetLibSym( hLibTiePie , "ScpChGetProbeGain" );
      ScpChSetProbeGain = (LibTiePieScpChSetProbeGain_t) GetLibSym( hLibTiePie , "ScpChSetProbeGain" );
      ScpChGetProbeOffset = (LibTiePieScpChGetProbeOffset_t) GetLibSym( hLibTiePie , "ScpChGetProbeOffset" );
      ScpChSetProbeOffset = (LibTiePieScpChSetProbeOffset_t) GetLibSym( hLibTiePie , "ScpChSetProbeOffset" );
      ScpChGetAutoRanging = (LibTiePieScpChGetAutoRanging_t) GetLibSym( hLibTiePie , "ScpChGetAutoRanging" );
      ScpChSetAutoRanging = (LibTiePieScpChSetAutoRanging_t) GetLibSym( hLibTiePie , "ScpChSetAutoRanging" );
      ScpChGetRanges = (LibTiePieScpChGetRanges_t) GetLibSym( hLibTiePie , "ScpChGetRanges" );
      ScpChGetRangesEx = (LibTiePieScpChGetRangesEx_t) GetLibSym( hLibTiePie , "ScpChGetRangesEx" );
      ScpChGetRange = (LibTiePieScpChGetRange_t) GetLibSym( hLibTiePie , "ScpChGetRange" );
      ScpChSetRange = (LibTiePieScpChSetRange_t) GetLibSym( hLibTiePie , "ScpChSetRange" );
      ScpChHasSafeGround = (LibTiePieScpChHasSafeGround_t) GetLibSym( hLibTiePie , "ScpChHasSafeGround" );
      ScpChGetSafeGroundEnabled = (LibTiePieScpChGetSafeGroundEnabled_t) GetLibSym( hLibTiePie , "ScpChGetSafeGroundEnabled" );
      ScpChSetSafeGroundEnabled = (LibTiePieScpChSetSafeGroundEnabled_t) GetLibSym( hLibTiePie , "ScpChSetSafeGroundEnabled" );
      ScpChGetSafeGroundThresholdMin = (LibTiePieScpChGetSafeGroundThresholdMin_t) GetLibSym( hLibTiePie , "ScpChGetSafeGroundThresholdMin" );
      ScpChGetSafeGroundThresholdMax = (LibTiePieScpChGetSafeGroundThresholdMax_t) GetLibSym( hLibTiePie , "ScpChGetSafeGroundThresholdMax" );
      ScpChGetSafeGroundThreshold = (LibTiePieScpChGetSafeGroundThreshold_t) GetLibSym( hLibTiePie , "ScpChGetSafeGroundThreshold" );
      ScpChSetSafeGroundThreshold = (LibTiePieScpChSetSafeGroundThreshold_t) GetLibSym( hLibTiePie , "ScpChSetSafeGroundThreshold" );
      ScpChVerifySafeGroundThreshold = (LibTiePieScpChVerifySafeGroundThreshold_t) GetLibSym( hLibTiePie , "ScpChVerifySafeGroundThreshold" );
      ScpChHasTrigger = (LibTiePieScpChHasTrigger_t) GetLibSym( hLibTiePie , "ScpChHasTrigger" );
      ScpChHasTriggerEx = (LibTiePieScpChHasTriggerEx_t) GetLibSym( hLibTiePie , "ScpChHasTriggerEx" );
      ScpChTrIsAvailable = (LibTiePieScpChTrIsAvailable_t) GetLibSym( hLibTiePie , "ScpChTrIsAvailable" );
      ScpChTrIsAvailableEx = (LibTiePieScpChTrIsAvailableEx_t) GetLibSym( hLibTiePie , "ScpChTrIsAvailableEx" );
      ScpChTrIsTriggered = (LibTiePieScpChTrIsTriggered_t) GetLibSym( hLibTiePie , "ScpChTrIsTriggered" );
      ScpChTrGetEnabled = (LibTiePieScpChTrGetEnabled_t) GetLibSym( hLibTiePie , "ScpChTrGetEnabled" );
      ScpChTrSetEnabled = (LibTiePieScpChTrSetEnabled_t) GetLibSym( hLibTiePie , "ScpChTrSetEnabled" );
      ScpChTrGetKinds = (LibTiePieScpChTrGetKinds_t) GetLibSym( hLibTiePie , "ScpChTrGetKinds" );
      ScpChTrGetKindsEx = (LibTiePieScpChTrGetKindsEx_t) GetLibSym( hLibTiePie , "ScpChTrGetKindsEx" );
      ScpChTrGetKind = (LibTiePieScpChTrGetKind_t) GetLibSym( hLibTiePie , "ScpChTrGetKind" );
      ScpChTrSetKind = (LibTiePieScpChTrSetKind_t) GetLibSym( hLibTiePie , "ScpChTrSetKind" );
      ScpChTrGetLevelModes = (LibTiePieScpChTrGetLevelModes_t) GetLibSym( hLibTiePie , "ScpChTrGetLevelModes" );
      ScpChTrGetLevelMode = (LibTiePieScpChTrGetLevelMode_t) GetLibSym( hLibTiePie , "ScpChTrGetLevelMode" );
      ScpChTrSetLevelMode = (LibTiePieScpChTrSetLevelMode_t) GetLibSym( hLibTiePie , "ScpChTrSetLevelMode" );
      ScpChTrGetLevelCount = (LibTiePieScpChTrGetLevelCount_t) GetLibSym( hLibTiePie , "ScpChTrGetLevelCount" );
      ScpChTrGetLevel = (LibTiePieScpChTrGetLevel_t) GetLibSym( hLibTiePie , "ScpChTrGetLevel" );
      ScpChTrSetLevel = (LibTiePieScpChTrSetLevel_t) GetLibSym( hLibTiePie , "ScpChTrSetLevel" );
      ScpChTrGetHysteresisCount = (LibTiePieScpChTrGetHysteresisCount_t) GetLibSym( hLibTiePie , "ScpChTrGetHysteresisCount" );
      ScpChTrGetHysteresis = (LibTiePieScpChTrGetHysteresis_t) GetLibSym( hLibTiePie , "ScpChTrGetHysteresis" );
      ScpChTrSetHysteresis = (LibTiePieScpChTrSetHysteresis_t) GetLibSym( hLibTiePie , "ScpChTrSetHysteresis" );
      ScpChTrGetConditions = (LibTiePieScpChTrGetConditions_t) GetLibSym( hLibTiePie , "ScpChTrGetConditions" );
      ScpChTrGetConditionsEx = (LibTiePieScpChTrGetConditionsEx_t) GetLibSym( hLibTiePie , "ScpChTrGetConditionsEx" );
      ScpChTrGetCondition = (LibTiePieScpChTrGetCondition_t) GetLibSym( hLibTiePie , "ScpChTrGetCondition" );
      ScpChTrSetCondition = (LibTiePieScpChTrSetCondition_t) GetLibSym( hLibTiePie , "ScpChTrSetCondition" );
      ScpChTrGetTimeCount = (LibTiePieScpChTrGetTimeCount_t) GetLibSym( hLibTiePie , "ScpChTrGetTimeCount" );
      ScpChTrGetTime = (LibTiePieScpChTrGetTime_t) GetLibSym( hLibTiePie , "ScpChTrGetTime" );
      ScpChTrSetTime = (LibTiePieScpChTrSetTime_t) GetLibSym( hLibTiePie , "ScpChTrSetTime" );
      ScpChTrVerifyTime = (LibTiePieScpChTrVerifyTime_t) GetLibSym( hLibTiePie , "ScpChTrVerifyTime" );
      ScpChTrVerifyTimeEx2 = (LibTiePieScpChTrVerifyTimeEx2_t) GetLibSym( hLibTiePie , "ScpChTrVerifyTimeEx2" );
      ScpGetData = (LibTiePieScpGetData_t) GetLibSym( hLibTiePie , "ScpGetData" );
      ScpGetData1Ch = (LibTiePieScpGetData1Ch_t) GetLibSym( hLibTiePie , "ScpGetData1Ch" );
      ScpGetData2Ch = (LibTiePieScpGetData2Ch_t) GetLibSym( hLibTiePie , "ScpGetData2Ch" );
      ScpGetData3Ch = (LibTiePieScpGetData3Ch_t) GetLibSym( hLibTiePie , "ScpGetData3Ch" );
      ScpGetData4Ch = (LibTiePieScpGetData4Ch_t) GetLibSym( hLibTiePie , "ScpGetData4Ch" );
      ScpGetData5Ch = (LibTiePieScpGetData5Ch_t) GetLibSym( hLibTiePie , "ScpGetData5Ch" );
      ScpGetData6Ch = (LibTiePieScpGetData6Ch_t) GetLibSym( hLibTiePie , "ScpGetData6Ch" );
      ScpGetData7Ch = (LibTiePieScpGetData7Ch_t) GetLibSym( hLibTiePie , "ScpGetData7Ch" );
      ScpGetData8Ch = (LibTiePieScpGetData8Ch_t) GetLibSym( hLibTiePie , "ScpGetData8Ch" );
      ScpGetValidPreSampleCount = (LibTiePieScpGetValidPreSampleCount_t) GetLibSym( hLibTiePie , "ScpGetValidPreSampleCount" );
      ScpChGetDataValueRange = (LibTiePieScpChGetDataValueRange_t) GetLibSym( hLibTiePie , "ScpChGetDataValueRange" );
      ScpChGetDataValueMin = (LibTiePieScpChGetDataValueMin_t) GetLibSym( hLibTiePie , "ScpChGetDataValueMin" );
      ScpChGetDataValueMax = (LibTiePieScpChGetDataValueMax_t) GetLibSym( hLibTiePie , "ScpChGetDataValueMax" );
      ScpGetDataRaw = (LibTiePieScpGetDataRaw_t) GetLibSym( hLibTiePie , "ScpGetDataRaw" );
      ScpGetDataRaw1Ch = (LibTiePieScpGetDataRaw1Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw1Ch" );
      ScpGetDataRaw2Ch = (LibTiePieScpGetDataRaw2Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw2Ch" );
      ScpGetDataRaw3Ch = (LibTiePieScpGetDataRaw3Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw3Ch" );
      ScpGetDataRaw4Ch = (LibTiePieScpGetDataRaw4Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw4Ch" );
      ScpGetDataRaw5Ch = (LibTiePieScpGetDataRaw5Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw5Ch" );
      ScpGetDataRaw6Ch = (LibTiePieScpGetDataRaw6Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw6Ch" );
      ScpGetDataRaw7Ch = (LibTiePieScpGetDataRaw7Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw7Ch" );
      ScpGetDataRaw8Ch = (LibTiePieScpGetDataRaw8Ch_t) GetLibSym( hLibTiePie , "ScpGetDataRaw8Ch" );
      ScpChGetDataRawType = (LibTiePieScpChGetDataRawType_t) GetLibSym( hLibTiePie , "ScpChGetDataRawType" );
      ScpChGetDataRawValueRange = (LibTiePieScpChGetDataRawValueRange_t) GetLibSym( hLibTiePie , "ScpChGetDataRawValueRange" );
      ScpChGetDataRawValueMin = (LibTiePieScpChGetDataRawValueMin_t) GetLibSym( hLibTiePie , "ScpChGetDataRawValueMin" );
      ScpChGetDataRawValueZero = (LibTiePieScpChGetDataRawValueZero_t) GetLibSym( hLibTiePie , "ScpChGetDataRawValueZero" );
      ScpChGetDataRawValueMax = (LibTiePieScpChGetDataRawValueMax_t) GetLibSym( hLibTiePie , "ScpChGetDataRawValueMax" );
      ScpChIsRangeMaxReachable = (LibTiePieScpChIsRangeMaxReachable_t) GetLibSym( hLibTiePie , "ScpChIsRangeMaxReachable" );
      ScpIsGetDataAsyncCompleted = (LibTiePieScpIsGetDataAsyncCompleted_t) GetLibSym( hLibTiePie , "ScpIsGetDataAsyncCompleted" );
      ScpStartGetDataAsync = (LibTiePieScpStartGetDataAsync_t) GetLibSym( hLibTiePie , "ScpStartGetDataAsync" );
      ScpStartGetDataAsyncRaw = (LibTiePieScpStartGetDataAsyncRaw_t) GetLibSym( hLibTiePie , "ScpStartGetDataAsyncRaw" );
      ScpCancelGetDataAsync = (LibTiePieScpCancelGetDataAsync_t) GetLibSym( hLibTiePie , "ScpCancelGetDataAsync" );
      ScpSetCallbackDataReady = (LibTiePieScpSetCallbackDataReady_t) GetLibSym( hLibTiePie , "ScpSetCallbackDataReady" );
      ScpSetCallbackDataOverflow = (LibTiePieScpSetCallbackDataOverflow_t) GetLibSym( hLibTiePie , "ScpSetCallbackDataOverflow" );
      ScpSetCallbackConnectionTestCompleted = (LibTiePieScpSetCallbackConnectionTestCompleted_t) GetLibSym( hLibTiePie , "ScpSetCallbackConnectionTestCompleted" );
      ScpSetCallbackTriggered = (LibTiePieScpSetCallbackTriggered_t) GetLibSym( hLibTiePie , "ScpSetCallbackTriggered" );
#ifdef LIBTIEPIE_LINUX
      ScpSetEventDataReady = (LibTiePieScpSetEventDataReady_t) GetLibSym( hLibTiePie , "ScpSetEventDataReady" );
      ScpSetEventDataOverflow = (LibTiePieScpSetEventDataOverflow_t) GetLibSym( hLibTiePie , "ScpSetEventDataOverflow" );
      ScpSetEventConnectionTestCompleted = (LibTiePieScpSetEventConnectionTestCompleted_t) GetLibSym( hLibTiePie , "ScpSetEventConnectionTestCompleted" );
      ScpSetEventTriggered = (LibTiePieScpSetEventTriggered_t) GetLibSym( hLibTiePie , "ScpSetEventTriggered" );
#endif
#ifdef LIBTIEPIE_WINDOWS
      ScpSetEventDataReady = (LibTiePieScpSetEventDataReady_t) GetLibSym( hLibTiePie , "ScpSetEventDataReady" );
      ScpSetEventDataOverflow = (LibTiePieScpSetEventDataOverflow_t) GetLibSym( hLibTiePie , "ScpSetEventDataOverflow" );
      ScpSetEventConnectionTestCompleted = (LibTiePieScpSetEventConnectionTestCompleted_t) GetLibSym( hLibTiePie , "ScpSetEventConnectionTestCompleted" );
      ScpSetEventTriggered = (LibTiePieScpSetEventTriggered_t) GetLibSym( hLibTiePie , "ScpSetEventTriggered" );
      ScpSetMessageDataReady = (LibTiePieScpSetMessageDataReady_t) GetLibSym( hLibTiePie , "ScpSetMessageDataReady" );
      ScpSetMessageDataOverflow = (LibTiePieScpSetMessageDataOverflow_t) GetLibSym( hLibTiePie , "ScpSetMessageDataOverflow" );
      ScpSetMessageConnectionTestCompleted = (LibTiePieScpSetMessageConnectionTestCompleted_t) GetLibSym( hLibTiePie , "ScpSetMessageConnectionTestCompleted" );
      ScpSetMessageTriggered = (LibTiePieScpSetMessageTriggered_t) GetLibSym( hLibTiePie , "ScpSetMessageTriggered" );
#endif
      ScpStart = (LibTiePieScpStart_t) GetLibSym( hLibTiePie , "ScpStart" );
      ScpStop = (LibTiePieScpStop_t) GetLibSym( hLibTiePie , "ScpStop" );
      ScpForceTrigger = (LibTiePieScpForceTrigger_t) GetLibSym( hLibTiePie , "ScpForceTrigger" );
      ScpGetMeasureModes = (LibTiePieScpGetMeasureModes_t) GetLibSym( hLibTiePie , "ScpGetMeasureModes" );
      ScpGetMeasureMode = (LibTiePieScpGetMeasureMode_t) GetLibSym( hLibTiePie , "ScpGetMeasureMode" );
      ScpSetMeasureMode = (LibTiePieScpSetMeasureMode_t) GetLibSym( hLibTiePie , "ScpSetMeasureMode" );
      ScpIsRunning = (LibTiePieScpIsRunning_t) GetLibSym( hLibTiePie , "ScpIsRunning" );
      ScpIsTriggered = (LibTiePieScpIsTriggered_t) GetLibSym( hLibTiePie , "ScpIsTriggered" );
      ScpIsTimeOutTriggered = (LibTiePieScpIsTimeOutTriggered_t) GetLibSym( hLibTiePie , "ScpIsTimeOutTriggered" );
      ScpIsForceTriggered = (LibTiePieScpIsForceTriggered_t) GetLibSym( hLibTiePie , "ScpIsForceTriggered" );
      ScpIsDataReady = (LibTiePieScpIsDataReady_t) GetLibSym( hLibTiePie , "ScpIsDataReady" );
      ScpIsDataOverflow = (LibTiePieScpIsDataOverflow_t) GetLibSym( hLibTiePie , "ScpIsDataOverflow" );
      ScpGetAutoResolutionModes = (LibTiePieScpGetAutoResolutionModes_t) GetLibSym( hLibTiePie , "ScpGetAutoResolutionModes" );
      ScpGetAutoResolutionMode = (LibTiePieScpGetAutoResolutionMode_t) GetLibSym( hLibTiePie , "ScpGetAutoResolutionMode" );
      ScpSetAutoResolutionMode = (LibTiePieScpSetAutoResolutionMode_t) GetLibSym( hLibTiePie , "ScpSetAutoResolutionMode" );
      ScpGetResolutions = (LibTiePieScpGetResolutions_t) GetLibSym( hLibTiePie , "ScpGetResolutions" );
      ScpGetResolution = (LibTiePieScpGetResolution_t) GetLibSym( hLibTiePie , "ScpGetResolution" );
      ScpSetResolution = (LibTiePieScpSetResolution_t) GetLibSym( hLibTiePie , "ScpSetResolution" );
      ScpIsResolutionEnhanced = (LibTiePieScpIsResolutionEnhanced_t) GetLibSym( hLibTiePie , "ScpIsResolutionEnhanced" );
      ScpIsResolutionEnhancedEx = (LibTiePieScpIsResolutionEnhancedEx_t) GetLibSym( hLibTiePie , "ScpIsResolutionEnhancedEx" );
      ScpGetClockSources = (LibTiePieScpGetClockSources_t) GetLibSym( hLibTiePie , "ScpGetClockSources" );
      ScpGetClockSource = (LibTiePieScpGetClockSource_t) GetLibSym( hLibTiePie , "ScpGetClockSource" );
      ScpSetClockSource = (LibTiePieScpSetClockSource_t) GetLibSym( hLibTiePie , "ScpSetClockSource" );
      ScpGetClockSourceFrequencies = (LibTiePieScpGetClockSourceFrequencies_t) GetLibSym( hLibTiePie , "ScpGetClockSourceFrequencies" );
      ScpGetClockSourceFrequenciesEx = (LibTiePieScpGetClockSourceFrequenciesEx_t) GetLibSym( hLibTiePie , "ScpGetClockSourceFrequenciesEx" );
      ScpGetClockSourceFrequency = (LibTiePieScpGetClockSourceFrequency_t) GetLibSym( hLibTiePie , "ScpGetClockSourceFrequency" );
      ScpSetClockSourceFrequency = (LibTiePieScpSetClockSourceFrequency_t) GetLibSym( hLibTiePie , "ScpSetClockSourceFrequency" );
      ScpGetClockOutputs = (LibTiePieScpGetClockOutputs_t) GetLibSym( hLibTiePie , "ScpGetClockOutputs" );
      ScpGetClockOutput = (LibTiePieScpGetClockOutput_t) GetLibSym( hLibTiePie , "ScpGetClockOutput" );
      ScpSetClockOutput = (LibTiePieScpSetClockOutput_t) GetLibSym( hLibTiePie , "ScpSetClockOutput" );
      ScpGetClockOutputFrequencies = (LibTiePieScpGetClockOutputFrequencies_t) GetLibSym( hLibTiePie , "ScpGetClockOutputFrequencies" );
      ScpGetClockOutputFrequenciesEx = (LibTiePieScpGetClockOutputFrequenciesEx_t) GetLibSym( hLibTiePie , "ScpGetClockOutputFrequenciesEx" );
      ScpGetClockOutputFrequency = (LibTiePieScpGetClockOutputFrequency_t) GetLibSym( hLibTiePie , "ScpGetClockOutputFrequency" );
      ScpSetClockOutputFrequency = (LibTiePieScpSetClockOutputFrequency_t) GetLibSym( hLibTiePie , "ScpSetClockOutputFrequency" );
      ScpGetSampleFrequencyMax = (LibTiePieScpGetSampleFrequencyMax_t) GetLibSym( hLibTiePie , "ScpGetSampleFrequencyMax" );
      ScpGetSampleFrequency = (LibTiePieScpGetSampleFrequency_t) GetLibSym( hLibTiePie , "ScpGetSampleFrequency" );
      ScpSetSampleFrequency = (LibTiePieScpSetSampleFrequency_t) GetLibSym( hLibTiePie , "ScpSetSampleFrequency" );
      ScpVerifySampleFrequency = (LibTiePieScpVerifySampleFrequency_t) GetLibSym( hLibTiePie , "ScpVerifySampleFrequency" );
      ScpVerifySampleFrequencyEx = (LibTiePieScpVerifySampleFrequencyEx_t) GetLibSym( hLibTiePie , "ScpVerifySampleFrequencyEx" );
      ScpVerifySampleFrequenciesEx = (LibTiePieScpVerifySampleFrequenciesEx_t) GetLibSym( hLibTiePie , "ScpVerifySampleFrequenciesEx" );
      ScpGetRecordLengthMax = (LibTiePieScpGetRecordLengthMax_t) GetLibSym( hLibTiePie , "ScpGetRecordLengthMax" );
      ScpGetRecordLengthMaxEx = (LibTiePieScpGetRecordLengthMaxEx_t) GetLibSym( hLibTiePie , "ScpGetRecordLengthMaxEx" );
      ScpGetRecordLength = (LibTiePieScpGetRecordLength_t) GetLibSym( hLibTiePie , "ScpGetRecordLength" );
      ScpSetRecordLength = (LibTiePieScpSetRecordLength_t) GetLibSym( hLibTiePie , "ScpSetRecordLength" );
      ScpVerifyRecordLength = (LibTiePieScpVerifyRecordLength_t) GetLibSym( hLibTiePie , "ScpVerifyRecordLength" );
      ScpVerifyRecordLengthEx = (LibTiePieScpVerifyRecordLengthEx_t) GetLibSym( hLibTiePie , "ScpVerifyRecordLengthEx" );
      ScpGetPreSampleRatio = (LibTiePieScpGetPreSampleRatio_t) GetLibSym( hLibTiePie , "ScpGetPreSampleRatio" );
      ScpSetPreSampleRatio = (LibTiePieScpSetPreSampleRatio_t) GetLibSym( hLibTiePie , "ScpSetPreSampleRatio" );
      ScpGetSegmentCountMax = (LibTiePieScpGetSegmentCountMax_t) GetLibSym( hLibTiePie , "ScpGetSegmentCountMax" );
      ScpGetSegmentCountMaxEx = (LibTiePieScpGetSegmentCountMaxEx_t) GetLibSym( hLibTiePie , "ScpGetSegmentCountMaxEx" );
      ScpGetSegmentCount = (LibTiePieScpGetSegmentCount_t) GetLibSym( hLibTiePie , "ScpGetSegmentCount" );
      ScpSetSegmentCount = (LibTiePieScpSetSegmentCount_t) GetLibSym( hLibTiePie , "ScpSetSegmentCount" );
      ScpVerifySegmentCount = (LibTiePieScpVerifySegmentCount_t) GetLibSym( hLibTiePie , "ScpVerifySegmentCount" );
      ScpVerifySegmentCountEx2 = (LibTiePieScpVerifySegmentCountEx2_t) GetLibSym( hLibTiePie , "ScpVerifySegmentCountEx2" );
      ScpHasTrigger = (LibTiePieScpHasTrigger_t) GetLibSym( hLibTiePie , "ScpHasTrigger" );
      ScpHasTriggerEx = (LibTiePieScpHasTriggerEx_t) GetLibSym( hLibTiePie , "ScpHasTriggerEx" );
      ScpGetTriggerTimeOut = (LibTiePieScpGetTriggerTimeOut_t) GetLibSym( hLibTiePie , "ScpGetTriggerTimeOut" );
      ScpSetTriggerTimeOut = (LibTiePieScpSetTriggerTimeOut_t) GetLibSym( hLibTiePie , "ScpSetTriggerTimeOut" );
      ScpVerifyTriggerTimeOut = (LibTiePieScpVerifyTriggerTimeOut_t) GetLibSym( hLibTiePie , "ScpVerifyTriggerTimeOut" );
      ScpVerifyTriggerTimeOutEx = (LibTiePieScpVerifyTriggerTimeOutEx_t) GetLibSym( hLibTiePie , "ScpVerifyTriggerTimeOutEx" );
      ScpHasTriggerDelay = (LibTiePieScpHasTriggerDelay_t) GetLibSym( hLibTiePie , "ScpHasTriggerDelay" );
      ScpHasTriggerDelayEx = (LibTiePieScpHasTriggerDelayEx_t) GetLibSym( hLibTiePie , "ScpHasTriggerDelayEx" );
      ScpGetTriggerDelayMax = (LibTiePieScpGetTriggerDelayMax_t) GetLibSym( hLibTiePie , "ScpGetTriggerDelayMax" );
      ScpGetTriggerDelayMaxEx = (LibTiePieScpGetTriggerDelayMaxEx_t) GetLibSym( hLibTiePie , "ScpGetTriggerDelayMaxEx" );
      ScpGetTriggerDelay = (LibTiePieScpGetTriggerDelay_t) GetLibSym( hLibTiePie , "ScpGetTriggerDelay" );
      ScpSetTriggerDelay = (LibTiePieScpSetTriggerDelay_t) GetLibSym( hLibTiePie , "ScpSetTriggerDelay" );
      ScpVerifyTriggerDelay = (LibTiePieScpVerifyTriggerDelay_t) GetLibSym( hLibTiePie , "ScpVerifyTriggerDelay" );
      ScpVerifyTriggerDelayEx = (LibTiePieScpVerifyTriggerDelayEx_t) GetLibSym( hLibTiePie , "ScpVerifyTriggerDelayEx" );
      ScpHasTriggerHoldOff = (LibTiePieScpHasTriggerHoldOff_t) GetLibSym( hLibTiePie , "ScpHasTriggerHoldOff" );
      ScpHasTriggerHoldOffEx = (LibTiePieScpHasTriggerHoldOffEx_t) GetLibSym( hLibTiePie , "ScpHasTriggerHoldOffEx" );
      ScpGetTriggerHoldOffCountMax = (LibTiePieScpGetTriggerHoldOffCountMax_t) GetLibSym( hLibTiePie , "ScpGetTriggerHoldOffCountMax" );
      ScpGetTriggerHoldOffCountMaxEx = (LibTiePieScpGetTriggerHoldOffCountMaxEx_t) GetLibSym( hLibTiePie , "ScpGetTriggerHoldOffCountMaxEx" );
      ScpGetTriggerHoldOffCount = (LibTiePieScpGetTriggerHoldOffCount_t) GetLibSym( hLibTiePie , "ScpGetTriggerHoldOffCount" );
      ScpSetTriggerHoldOffCount = (LibTiePieScpSetTriggerHoldOffCount_t) GetLibSym( hLibTiePie , "ScpSetTriggerHoldOffCount" );
      ScpHasConnectionTest = (LibTiePieScpHasConnectionTest_t) GetLibSym( hLibTiePie , "ScpHasConnectionTest" );
      ScpChHasConnectionTest = (LibTiePieScpChHasConnectionTest_t) GetLibSym( hLibTiePie , "ScpChHasConnectionTest" );
      ScpStartConnectionTest = (LibTiePieScpStartConnectionTest_t) GetLibSym( hLibTiePie , "ScpStartConnectionTest" );
      ScpStartConnectionTestEx = (LibTiePieScpStartConnectionTestEx_t) GetLibSym( hLibTiePie , "ScpStartConnectionTestEx" );
      ScpIsConnectionTestCompleted = (LibTiePieScpIsConnectionTestCompleted_t) GetLibSym( hLibTiePie , "ScpIsConnectionTestCompleted" );
      ScpGetConnectionTestData = (LibTiePieScpGetConnectionTestData_t) GetLibSym( hLibTiePie , "ScpGetConnectionTestData" );
      GenGetConnectorType = (LibTiePieGenGetConnectorType_t) GetLibSym( hLibTiePie , "GenGetConnectorType" );
      GenIsDifferential = (LibTiePieGenIsDifferential_t) GetLibSym( hLibTiePie , "GenIsDifferential" );
      GenGetImpedance = (LibTiePieGenGetImpedance_t) GetLibSym( hLibTiePie , "GenGetImpedance" );
      GenGetResolution = (LibTiePieGenGetResolution_t) GetLibSym( hLibTiePie , "GenGetResolution" );
      GenGetOutputValueMin = (LibTiePieGenGetOutputValueMin_t) GetLibSym( hLibTiePie , "GenGetOutputValueMin" );
      GenGetOutputValueMax = (LibTiePieGenGetOutputValueMax_t) GetLibSym( hLibTiePie , "GenGetOutputValueMax" );
      GenGetOutputValueMinMax = (LibTiePieGenGetOutputValueMinMax_t) GetLibSym( hLibTiePie , "GenGetOutputValueMinMax" );
      GenIsControllable = (LibTiePieGenIsControllable_t) GetLibSym( hLibTiePie , "GenIsControllable" );
      GenIsRunning = (LibTiePieGenIsRunning_t) GetLibSym( hLibTiePie , "GenIsRunning" );
      GenGetStatus = (LibTiePieGenGetStatus_t) GetLibSym( hLibTiePie , "GenGetStatus" );
      GenGetOutputOn = (LibTiePieGenGetOutputOn_t) GetLibSym( hLibTiePie , "GenGetOutputOn" );
      GenSetOutputOn = (LibTiePieGenSetOutputOn_t) GetLibSym( hLibTiePie , "GenSetOutputOn" );
      GenHasOutputInvert = (LibTiePieGenHasOutputInvert_t) GetLibSym( hLibTiePie , "GenHasOutputInvert" );
      GenGetOutputInvert = (LibTiePieGenGetOutputInvert_t) GetLibSym( hLibTiePie , "GenGetOutputInvert" );
      GenSetOutputInvert = (LibTiePieGenSetOutputInvert_t) GetLibSym( hLibTiePie , "GenSetOutputInvert" );
      GenStart = (LibTiePieGenStart_t) GetLibSym( hLibTiePie , "GenStart" );
      GenStop = (LibTiePieGenStop_t) GetLibSym( hLibTiePie , "GenStop" );
      GenGetSignalTypes = (LibTiePieGenGetSignalTypes_t) GetLibSym( hLibTiePie , "GenGetSignalTypes" );
      GenGetSignalType = (LibTiePieGenGetSignalType_t) GetLibSym( hLibTiePie , "GenGetSignalType" );
      GenSetSignalType = (LibTiePieGenSetSignalType_t) GetLibSym( hLibTiePie , "GenSetSignalType" );
      GenHasAmplitude = (LibTiePieGenHasAmplitude_t) GetLibSym( hLibTiePie , "GenHasAmplitude" );
      GenHasAmplitudeEx = (LibTiePieGenHasAmplitudeEx_t) GetLibSym( hLibTiePie , "GenHasAmplitudeEx" );
      GenGetAmplitudeMin = (LibTiePieGenGetAmplitudeMin_t) GetLibSym( hLibTiePie , "GenGetAmplitudeMin" );
      GenGetAmplitudeMax = (LibTiePieGenGetAmplitudeMax_t) GetLibSym( hLibTiePie , "GenGetAmplitudeMax" );
      GenGetAmplitudeMinMaxEx = (LibTiePieGenGetAmplitudeMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetAmplitudeMinMaxEx" );
      GenGetAmplitude = (LibTiePieGenGetAmplitude_t) GetLibSym( hLibTiePie , "GenGetAmplitude" );
      GenSetAmplitude = (LibTiePieGenSetAmplitude_t) GetLibSym( hLibTiePie , "GenSetAmplitude" );
      GenVerifyAmplitude = (LibTiePieGenVerifyAmplitude_t) GetLibSym( hLibTiePie , "GenVerifyAmplitude" );
      GenVerifyAmplitudeEx = (LibTiePieGenVerifyAmplitudeEx_t) GetLibSym( hLibTiePie , "GenVerifyAmplitudeEx" );
      GenGetAmplitudeRanges = (LibTiePieGenGetAmplitudeRanges_t) GetLibSym( hLibTiePie , "GenGetAmplitudeRanges" );
      GenGetAmplitudeRange = (LibTiePieGenGetAmplitudeRange_t) GetLibSym( hLibTiePie , "GenGetAmplitudeRange" );
      GenSetAmplitudeRange = (LibTiePieGenSetAmplitudeRange_t) GetLibSym( hLibTiePie , "GenSetAmplitudeRange" );
      GenGetAmplitudeAutoRanging = (LibTiePieGenGetAmplitudeAutoRanging_t) GetLibSym( hLibTiePie , "GenGetAmplitudeAutoRanging" );
      GenSetAmplitudeAutoRanging = (LibTiePieGenSetAmplitudeAutoRanging_t) GetLibSym( hLibTiePie , "GenSetAmplitudeAutoRanging" );
      GenHasOffset = (LibTiePieGenHasOffset_t) GetLibSym( hLibTiePie , "GenHasOffset" );
      GenHasOffsetEx = (LibTiePieGenHasOffsetEx_t) GetLibSym( hLibTiePie , "GenHasOffsetEx" );
      GenGetOffsetMin = (LibTiePieGenGetOffsetMin_t) GetLibSym( hLibTiePie , "GenGetOffsetMin" );
      GenGetOffsetMax = (LibTiePieGenGetOffsetMax_t) GetLibSym( hLibTiePie , "GenGetOffsetMax" );
      GenGetOffsetMinMaxEx = (LibTiePieGenGetOffsetMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetOffsetMinMaxEx" );
      GenGetOffset = (LibTiePieGenGetOffset_t) GetLibSym( hLibTiePie , "GenGetOffset" );
      GenSetOffset = (LibTiePieGenSetOffset_t) GetLibSym( hLibTiePie , "GenSetOffset" );
      GenVerifyOffset = (LibTiePieGenVerifyOffset_t) GetLibSym( hLibTiePie , "GenVerifyOffset" );
      GenVerifyOffsetEx = (LibTiePieGenVerifyOffsetEx_t) GetLibSym( hLibTiePie , "GenVerifyOffsetEx" );
      GenGetFrequencyModes = (LibTiePieGenGetFrequencyModes_t) GetLibSym( hLibTiePie , "GenGetFrequencyModes" );
      GenGetFrequencyModesEx = (LibTiePieGenGetFrequencyModesEx_t) GetLibSym( hLibTiePie , "GenGetFrequencyModesEx" );
      GenGetFrequencyMode = (LibTiePieGenGetFrequencyMode_t) GetLibSym( hLibTiePie , "GenGetFrequencyMode" );
      GenSetFrequencyMode = (LibTiePieGenSetFrequencyMode_t) GetLibSym( hLibTiePie , "GenSetFrequencyMode" );
      GenHasFrequency = (LibTiePieGenHasFrequency_t) GetLibSym( hLibTiePie , "GenHasFrequency" );
      GenHasFrequencyEx = (LibTiePieGenHasFrequencyEx_t) GetLibSym( hLibTiePie , "GenHasFrequencyEx" );
      GenGetFrequencyMin = (LibTiePieGenGetFrequencyMin_t) GetLibSym( hLibTiePie , "GenGetFrequencyMin" );
      GenGetFrequencyMax = (LibTiePieGenGetFrequencyMax_t) GetLibSym( hLibTiePie , "GenGetFrequencyMax" );
      GenGetFrequencyMinMax = (LibTiePieGenGetFrequencyMinMax_t) GetLibSym( hLibTiePie , "GenGetFrequencyMinMax" );
      GenGetFrequencyMinMaxEx = (LibTiePieGenGetFrequencyMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetFrequencyMinMaxEx" );
      GenGetFrequency = (LibTiePieGenGetFrequency_t) GetLibSym( hLibTiePie , "GenGetFrequency" );
      GenSetFrequency = (LibTiePieGenSetFrequency_t) GetLibSym( hLibTiePie , "GenSetFrequency" );
      GenVerifyFrequency = (LibTiePieGenVerifyFrequency_t) GetLibSym( hLibTiePie , "GenVerifyFrequency" );
      GenVerifyFrequencyEx2 = (LibTiePieGenVerifyFrequencyEx2_t) GetLibSym( hLibTiePie , "GenVerifyFrequencyEx2" );
      GenHasPhase = (LibTiePieGenHasPhase_t) GetLibSym( hLibTiePie , "GenHasPhase" );
      GenHasPhaseEx = (LibTiePieGenHasPhaseEx_t) GetLibSym( hLibTiePie , "GenHasPhaseEx" );
      GenGetPhaseMin = (LibTiePieGenGetPhaseMin_t) GetLibSym( hLibTiePie , "GenGetPhaseMin" );
      GenGetPhaseMax = (LibTiePieGenGetPhaseMax_t) GetLibSym( hLibTiePie , "GenGetPhaseMax" );
      GenGetPhaseMinMaxEx = (LibTiePieGenGetPhaseMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetPhaseMinMaxEx" );
      GenGetPhase = (LibTiePieGenGetPhase_t) GetLibSym( hLibTiePie , "GenGetPhase" );
      GenSetPhase = (LibTiePieGenSetPhase_t) GetLibSym( hLibTiePie , "GenSetPhase" );
      GenVerifyPhase = (LibTiePieGenVerifyPhase_t) GetLibSym( hLibTiePie , "GenVerifyPhase" );
      GenVerifyPhaseEx = (LibTiePieGenVerifyPhaseEx_t) GetLibSym( hLibTiePie , "GenVerifyPhaseEx" );
      GenHasSymmetry = (LibTiePieGenHasSymmetry_t) GetLibSym( hLibTiePie , "GenHasSymmetry" );
      GenHasSymmetryEx = (LibTiePieGenHasSymmetryEx_t) GetLibSym( hLibTiePie , "GenHasSymmetryEx" );
      GenGetSymmetryMin = (LibTiePieGenGetSymmetryMin_t) GetLibSym( hLibTiePie , "GenGetSymmetryMin" );
      GenGetSymmetryMax = (LibTiePieGenGetSymmetryMax_t) GetLibSym( hLibTiePie , "GenGetSymmetryMax" );
      GenGetSymmetryMinMaxEx = (LibTiePieGenGetSymmetryMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetSymmetryMinMaxEx" );
      GenGetSymmetry = (LibTiePieGenGetSymmetry_t) GetLibSym( hLibTiePie , "GenGetSymmetry" );
      GenSetSymmetry = (LibTiePieGenSetSymmetry_t) GetLibSym( hLibTiePie , "GenSetSymmetry" );
      GenVerifySymmetry = (LibTiePieGenVerifySymmetry_t) GetLibSym( hLibTiePie , "GenVerifySymmetry" );
      GenVerifySymmetryEx = (LibTiePieGenVerifySymmetryEx_t) GetLibSym( hLibTiePie , "GenVerifySymmetryEx" );
      GenHasWidth = (LibTiePieGenHasWidth_t) GetLibSym( hLibTiePie , "GenHasWidth" );
      GenHasWidthEx = (LibTiePieGenHasWidthEx_t) GetLibSym( hLibTiePie , "GenHasWidthEx" );
      GenGetWidthMin = (LibTiePieGenGetWidthMin_t) GetLibSym( hLibTiePie , "GenGetWidthMin" );
      GenGetWidthMax = (LibTiePieGenGetWidthMax_t) GetLibSym( hLibTiePie , "GenGetWidthMax" );
      GenGetWidthMinMaxEx = (LibTiePieGenGetWidthMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetWidthMinMaxEx" );
      GenGetWidth = (LibTiePieGenGetWidth_t) GetLibSym( hLibTiePie , "GenGetWidth" );
      GenSetWidth = (LibTiePieGenSetWidth_t) GetLibSym( hLibTiePie , "GenSetWidth" );
      GenVerifyWidth = (LibTiePieGenVerifyWidth_t) GetLibSym( hLibTiePie , "GenVerifyWidth" );
      GenVerifyWidthEx = (LibTiePieGenVerifyWidthEx_t) GetLibSym( hLibTiePie , "GenVerifyWidthEx" );
      GenHasEdgeTime = (LibTiePieGenHasEdgeTime_t) GetLibSym( hLibTiePie , "GenHasEdgeTime" );
      GenHasEdgeTimeEx = (LibTiePieGenHasEdgeTimeEx_t) GetLibSym( hLibTiePie , "GenHasEdgeTimeEx" );
      GenGetLeadingEdgeTimeMin = (LibTiePieGenGetLeadingEdgeTimeMin_t) GetLibSym( hLibTiePie , "GenGetLeadingEdgeTimeMin" );
      GenGetLeadingEdgeTimeMax = (LibTiePieGenGetLeadingEdgeTimeMax_t) GetLibSym( hLibTiePie , "GenGetLeadingEdgeTimeMax" );
      GenGetLeadingEdgeTimeMinMaxEx = (LibTiePieGenGetLeadingEdgeTimeMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetLeadingEdgeTimeMinMaxEx" );
      GenGetLeadingEdgeTime = (LibTiePieGenGetLeadingEdgeTime_t) GetLibSym( hLibTiePie , "GenGetLeadingEdgeTime" );
      GenSetLeadingEdgeTime = (LibTiePieGenSetLeadingEdgeTime_t) GetLibSym( hLibTiePie , "GenSetLeadingEdgeTime" );
      GenVerifyLeadingEdgeTime = (LibTiePieGenVerifyLeadingEdgeTime_t) GetLibSym( hLibTiePie , "GenVerifyLeadingEdgeTime" );
      GenVerifyLeadingEdgeTimeEx = (LibTiePieGenVerifyLeadingEdgeTimeEx_t) GetLibSym( hLibTiePie , "GenVerifyLeadingEdgeTimeEx" );
      GenGetTrailingEdgeTimeMin = (LibTiePieGenGetTrailingEdgeTimeMin_t) GetLibSym( hLibTiePie , "GenGetTrailingEdgeTimeMin" );
      GenGetTrailingEdgeTimeMax = (LibTiePieGenGetTrailingEdgeTimeMax_t) GetLibSym( hLibTiePie , "GenGetTrailingEdgeTimeMax" );
      GenGetTrailingEdgeTimeMinMaxEx = (LibTiePieGenGetTrailingEdgeTimeMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetTrailingEdgeTimeMinMaxEx" );
      GenGetTrailingEdgeTime = (LibTiePieGenGetTrailingEdgeTime_t) GetLibSym( hLibTiePie , "GenGetTrailingEdgeTime" );
      GenSetTrailingEdgeTime = (LibTiePieGenSetTrailingEdgeTime_t) GetLibSym( hLibTiePie , "GenSetTrailingEdgeTime" );
      GenVerifyTrailingEdgeTime = (LibTiePieGenVerifyTrailingEdgeTime_t) GetLibSym( hLibTiePie , "GenVerifyTrailingEdgeTime" );
      GenVerifyTrailingEdgeTimeEx = (LibTiePieGenVerifyTrailingEdgeTimeEx_t) GetLibSym( hLibTiePie , "GenVerifyTrailingEdgeTimeEx" );
      GenHasData = (LibTiePieGenHasData_t) GetLibSym( hLibTiePie , "GenHasData" );
      GenHasDataEx = (LibTiePieGenHasDataEx_t) GetLibSym( hLibTiePie , "GenHasDataEx" );
      GenGetDataLengthMin = (LibTiePieGenGetDataLengthMin_t) GetLibSym( hLibTiePie , "GenGetDataLengthMin" );
      GenGetDataLengthMax = (LibTiePieGenGetDataLengthMax_t) GetLibSym( hLibTiePie , "GenGetDataLengthMax" );
      GenGetDataLengthMinMaxEx = (LibTiePieGenGetDataLengthMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetDataLengthMinMaxEx" );
      GenGetDataLength = (LibTiePieGenGetDataLength_t) GetLibSym( hLibTiePie , "GenGetDataLength" );
      GenVerifyDataLength = (LibTiePieGenVerifyDataLength_t) GetLibSym( hLibTiePie , "GenVerifyDataLength" );
      GenVerifyDataLengthEx = (LibTiePieGenVerifyDataLengthEx_t) GetLibSym( hLibTiePie , "GenVerifyDataLengthEx" );
      GenSetData = (LibTiePieGenSetData_t) GetLibSym( hLibTiePie , "GenSetData" );
      GenSetDataEx = (LibTiePieGenSetDataEx_t) GetLibSym( hLibTiePie , "GenSetDataEx" );
      GenGetDataRawType = (LibTiePieGenGetDataRawType_t) GetLibSym( hLibTiePie , "GenGetDataRawType" );
      GenGetDataRawValueRange = (LibTiePieGenGetDataRawValueRange_t) GetLibSym( hLibTiePie , "GenGetDataRawValueRange" );
      GenGetDataRawValueMin = (LibTiePieGenGetDataRawValueMin_t) GetLibSym( hLibTiePie , "GenGetDataRawValueMin" );
      GenGetDataRawValueZero = (LibTiePieGenGetDataRawValueZero_t) GetLibSym( hLibTiePie , "GenGetDataRawValueZero" );
      GenGetDataRawValueMax = (LibTiePieGenGetDataRawValueMax_t) GetLibSym( hLibTiePie , "GenGetDataRawValueMax" );
      GenSetDataRaw = (LibTiePieGenSetDataRaw_t) GetLibSym( hLibTiePie , "GenSetDataRaw" );
      GenSetDataRawEx = (LibTiePieGenSetDataRawEx_t) GetLibSym( hLibTiePie , "GenSetDataRawEx" );
      GenGetModes = (LibTiePieGenGetModes_t) GetLibSym( hLibTiePie , "GenGetModes" );
      GenGetModesEx = (LibTiePieGenGetModesEx_t) GetLibSym( hLibTiePie , "GenGetModesEx" );
      GenGetModesNative = (LibTiePieGenGetModesNative_t) GetLibSym( hLibTiePie , "GenGetModesNative" );
      GenGetMode = (LibTiePieGenGetMode_t) GetLibSym( hLibTiePie , "GenGetMode" );
      GenSetMode = (LibTiePieGenSetMode_t) GetLibSym( hLibTiePie , "GenSetMode" );
      GenIsBurstActive = (LibTiePieGenIsBurstActive_t) GetLibSym( hLibTiePie , "GenIsBurstActive" );
      GenGetBurstCountMin = (LibTiePieGenGetBurstCountMin_t) GetLibSym( hLibTiePie , "GenGetBurstCountMin" );
      GenGetBurstCountMax = (LibTiePieGenGetBurstCountMax_t) GetLibSym( hLibTiePie , "GenGetBurstCountMax" );
      GenGetBurstCountMinMaxEx = (LibTiePieGenGetBurstCountMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetBurstCountMinMaxEx" );
      GenGetBurstCount = (LibTiePieGenGetBurstCount_t) GetLibSym( hLibTiePie , "GenGetBurstCount" );
      GenSetBurstCount = (LibTiePieGenSetBurstCount_t) GetLibSym( hLibTiePie , "GenSetBurstCount" );
      GenGetBurstSampleCountMin = (LibTiePieGenGetBurstSampleCountMin_t) GetLibSym( hLibTiePie , "GenGetBurstSampleCountMin" );
      GenGetBurstSampleCountMax = (LibTiePieGenGetBurstSampleCountMax_t) GetLibSym( hLibTiePie , "GenGetBurstSampleCountMax" );
      GenGetBurstSampleCountMinMaxEx = (LibTiePieGenGetBurstSampleCountMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetBurstSampleCountMinMaxEx" );
      GenGetBurstSampleCount = (LibTiePieGenGetBurstSampleCount_t) GetLibSym( hLibTiePie , "GenGetBurstSampleCount" );
      GenSetBurstSampleCount = (LibTiePieGenSetBurstSampleCount_t) GetLibSym( hLibTiePie , "GenSetBurstSampleCount" );
      GenGetBurstSegmentCountMin = (LibTiePieGenGetBurstSegmentCountMin_t) GetLibSym( hLibTiePie , "GenGetBurstSegmentCountMin" );
      GenGetBurstSegmentCountMax = (LibTiePieGenGetBurstSegmentCountMax_t) GetLibSym( hLibTiePie , "GenGetBurstSegmentCountMax" );
      GenGetBurstSegmentCountMinMaxEx = (LibTiePieGenGetBurstSegmentCountMinMaxEx_t) GetLibSym( hLibTiePie , "GenGetBurstSegmentCountMinMaxEx" );
      GenGetBurstSegmentCount = (LibTiePieGenGetBurstSegmentCount_t) GetLibSym( hLibTiePie , "GenGetBurstSegmentCount" );
      GenSetBurstSegmentCount = (LibTiePieGenSetBurstSegmentCount_t) GetLibSym( hLibTiePie , "GenSetBurstSegmentCount" );
      GenVerifyBurstSegmentCount = (LibTiePieGenVerifyBurstSegmentCount_t) GetLibSym( hLibTiePie , "GenVerifyBurstSegmentCount" );
      GenVerifyBurstSegmentCountEx = (LibTiePieGenVerifyBurstSegmentCountEx_t) GetLibSym( hLibTiePie , "GenVerifyBurstSegmentCountEx" );
      GenSetCallbackBurstCompleted = (LibTiePieGenSetCallbackBurstCompleted_t) GetLibSym( hLibTiePie , "GenSetCallbackBurstCompleted" );
#ifdef LIBTIEPIE_LINUX
      GenSetEventBurstCompleted = (LibTiePieGenSetEventBurstCompleted_t) GetLibSym( hLibTiePie , "GenSetEventBurstCompleted" );
#endif
#ifdef LIBTIEPIE_WINDOWS
      GenSetEventBurstCompleted = (LibTiePieGenSetEventBurstCompleted_t) GetLibSym( hLibTiePie , "GenSetEventBurstCompleted" );
      GenSetMessageBurstCompleted = (LibTiePieGenSetMessageBurstCompleted_t) GetLibSym( hLibTiePie , "GenSetMessageBurstCompleted" );
#endif
      GenSetCallbackControllableChanged = (LibTiePieGenSetCallbackControllableChanged_t) GetLibSym( hLibTiePie , "GenSetCallbackControllableChanged" );
#ifdef LIBTIEPIE_LINUX
      GenSetEventControllableChanged = (LibTiePieGenSetEventControllableChanged_t) GetLibSym( hLibTiePie , "GenSetEventControllableChanged" );
#endif
#ifdef LIBTIEPIE_WINDOWS
      GenSetEventControllableChanged = (LibTiePieGenSetEventControllableChanged_t) GetLibSym( hLibTiePie , "GenSetEventControllableChanged" );
      GenSetMessageControllableChanged = (LibTiePieGenSetMessageControllableChanged_t) GetLibSym( hLibTiePie , "GenSetMessageControllableChanged" );
#endif
      I2CIsInternalAddress = (LibTiePieI2CIsInternalAddress_t) GetLibSym( hLibTiePie , "I2CIsInternalAddress" );
      I2CGetInternalAddresses = (LibTiePieI2CGetInternalAddresses_t) GetLibSym( hLibTiePie , "I2CGetInternalAddresses" );
      I2CRead = (LibTiePieI2CRead_t) GetLibSym( hLibTiePie , "I2CRead" );
      I2CReadByte = (LibTiePieI2CReadByte_t) GetLibSym( hLibTiePie , "I2CReadByte" );
      I2CReadWord = (LibTiePieI2CReadWord_t) GetLibSym( hLibTiePie , "I2CReadWord" );
      I2CWrite = (LibTiePieI2CWrite_t) GetLibSym( hLibTiePie , "I2CWrite" );
      I2CWriteByte = (LibTiePieI2CWriteByte_t) GetLibSym( hLibTiePie , "I2CWriteByte" );
      I2CWriteByteByte = (LibTiePieI2CWriteByteByte_t) GetLibSym( hLibTiePie , "I2CWriteByteByte" );
      I2CWriteByteWord = (LibTiePieI2CWriteByteWord_t) GetLibSym( hLibTiePie , "I2CWriteByteWord" );
      I2CWriteWord = (LibTiePieI2CWriteWord_t) GetLibSym( hLibTiePie , "I2CWriteWord" );
      I2CWriteRead = (LibTiePieI2CWriteRead_t) GetLibSym( hLibTiePie , "I2CWriteRead" );
      I2CGetSpeedMax = (LibTiePieI2CGetSpeedMax_t) GetLibSym( hLibTiePie , "I2CGetSpeedMax" );
      I2CGetSpeed = (LibTiePieI2CGetSpeed_t) GetLibSym( hLibTiePie , "I2CGetSpeed" );
      I2CSetSpeed = (LibTiePieI2CSetSpeed_t) GetLibSym( hLibTiePie , "I2CSetSpeed" );
      I2CVerifySpeed = (LibTiePieI2CVerifySpeed_t) GetLibSym( hLibTiePie , "I2CVerifySpeed" );
      SrvConnect = (LibTiePieSrvConnect_t) GetLibSym( hLibTiePie , "SrvConnect" );
      SrvDisconnect = (LibTiePieSrvDisconnect_t) GetLibSym( hLibTiePie , "SrvDisconnect" );
      SrvRemove = (LibTiePieSrvRemove_t) GetLibSym( hLibTiePie , "SrvRemove" );
      SrvGetStatus = (LibTiePieSrvGetStatus_t) GetLibSym( hLibTiePie , "SrvGetStatus" );
      SrvGetLastError = (LibTiePieSrvGetLastError_t) GetLibSym( hLibTiePie , "SrvGetLastError" );
      SrvGetURL = (LibTiePieSrvGetURL_t) GetLibSym( hLibTiePie , "SrvGetURL" );
      SrvGetID = (LibTiePieSrvGetID_t) GetLibSym( hLibTiePie , "SrvGetID" );
      SrvGetIPv4Address = (LibTiePieSrvGetIPv4Address_t) GetLibSym( hLibTiePie , "SrvGetIPv4Address" );
      SrvGetIPPort = (LibTiePieSrvGetIPPort_t) GetLibSym( hLibTiePie , "SrvGetIPPort" );
      SrvGetName = (LibTiePieSrvGetName_t) GetLibSym( hLibTiePie , "SrvGetName" );
      SrvGetDescription = (LibTiePieSrvGetDescription_t) GetLibSym( hLibTiePie , "SrvGetDescription" );
      SrvGetVersion = (LibTiePieSrvGetVersion_t) GetLibSym( hLibTiePie , "SrvGetVersion" );
      SrvGetVersionExtra = (LibTiePieSrvGetVersionExtra_t) GetLibSym( hLibTiePie , "SrvGetVersionExtra" );
      HlpPointerArrayNew = (LibTiePieHlpPointerArrayNew_t) GetLibSym( hLibTiePie , "HlpPointerArrayNew" );
      HlpPointerArraySet = (LibTiePieHlpPointerArraySet_t) GetLibSym( hLibTiePie , "HlpPointerArraySet" );
      HlpPointerArrayDelete = (LibTiePieHlpPointerArrayDelete_t) GetLibSym( hLibTiePie , "HlpPointerArrayDelete" );

      return LIBTIEPIESTATUS_SUCCESS;
    }
  }

  return LIBTIEPIESTATUS_UNSUCCESSFUL;
}

LibTiePieStatus_t LibTiePieUnload()
{
  if( hLibTiePie )
  {
    LibInit = 0;
    LibIsInitialized = 0;
    LibExit = 0;
    LibGetVersion = 0;
    LibGetVersionExtra = 0;
    LibGetConfig = 0;
    LibGetLastStatus = 0;
    LibGetLastStatusStr = 0;
    LstUpdate = 0;
    LstGetCount = 0;
    LstOpenDevice = 0;
    LstOpenOscilloscope = 0;
    LstOpenGenerator = 0;
    LstOpenI2CHost = 0;
    LstCreateCombinedDevice = 0;
    LstCreateAndOpenCombinedDevice = 0;
    LstRemoveDevice = 0;
    LstRemoveDeviceForce = 0;
    LstDevCanOpen = 0;
    LstDevGetProductId = 0;
    LstDevGetVendorId = 0;
    LstDevGetName = 0;
    LstDevGetNameShort = 0;
    LstDevGetNameShortest = 0;
    LstDevGetDriverVersion = 0;
    LstDevGetRecommendedDriverVersion = 0;
    LstDevGetFirmwareVersion = 0;
    LstDevGetRecommendedFirmwareVersion = 0;
    LstDevGetCalibrationDate = 0;
    LstDevGetSerialNumber = 0;
    LstDevGetIPv4Address = 0;
    LstDevGetIPPort = 0;
    LstDevHasServer = 0;
    LstDevGetServer = 0;
    LstDevGetTypes = 0;
    LstDevGetContainedSerialNumbers = 0;
    LstCbDevGetProductId = 0;
    LstCbDevGetVendorId = 0;
    LstCbDevGetName = 0;
    LstCbDevGetNameShort = 0;
    LstCbDevGetNameShortest = 0;
    LstCbDevGetDriverVersion = 0;
    LstCbDevGetFirmwareVersion = 0;
    LstCbDevGetCalibrationDate = 0;
    LstCbScpGetChannelCount = 0;
    LstSetCallbackDeviceAdded = 0;
    LstSetCallbackDeviceRemoved = 0;
    LstSetCallbackDeviceCanOpenChanged = 0;
#ifdef LIBTIEPIE_LINUX
    LstSetEventDeviceAdded = 0;
    LstSetEventDeviceRemoved = 0;
    LstSetEventDeviceCanOpenChanged = 0;
#endif
#ifdef LIBTIEPIE_WINDOWS
    LstSetEventDeviceAdded = 0;
    LstSetEventDeviceRemoved = 0;
    LstSetEventDeviceCanOpenChanged = 0;
    LstSetMessageDeviceAdded = 0;
    LstSetMessageDeviceRemoved = 0;
    LstSetMessageDeviceCanOpenChanged = 0;
#endif
    NetGetAutoDetectEnabled = 0;
    NetSetAutoDetectEnabled = 0;
    NetSrvAdd = 0;
    NetSrvRemove = 0;
    NetSrvGetCount = 0;
    NetSrvGetByIndex = 0;
    NetSrvGetByURL = 0;
    NetSrvSetCallbackAdded = 0;
#ifdef LIBTIEPIE_LINUX
    NetSrvSetEventAdded = 0;
#endif
#ifdef LIBTIEPIE_WINDOWS
    NetSrvSetEventAdded = 0;
    NetSrvSetMessageAdded = 0;
#endif
    ObjClose = 0;
    ObjIsRemoved = 0;
    ObjGetInterfaces = 0;
    ObjSetEventCallback = 0;
    ObjGetEvent = 0;
#ifdef LIBTIEPIE_LINUX
    ObjSetEventEvent = 0;
#endif
#ifdef LIBTIEPIE_WINDOWS
    ObjSetEventEvent = 0;
    ObjSetEventWindowHandle = 0;
#endif
    DevClose = 0;
    DevIsRemoved = 0;
    DevGetDriverVersion = 0;
    DevGetFirmwareVersion = 0;
    DevGetCalibrationDate = 0;
    DevGetCalibrationToken = 0;
    DevGetSerialNumber = 0;
    DevGetIPv4Address = 0;
    DevGetIPPort = 0;
    DevGetProductId = 0;
    DevGetVendorId = 0;
    DevGetType = 0;
    DevGetName = 0;
    DevGetNameShort = 0;
    DevGetNameShortest = 0;
    DevHasBattery = 0;
    DevGetBatteryCharge = 0;
    DevGetBatteryTimeToEmpty = 0;
    DevGetBatteryTimeToFull = 0;
    DevIsBatteryChargerConnected = 0;
    DevIsBatteryCharging = 0;
    DevIsBatteryBroken = 0;
    DevSetCallbackRemoved = 0;
#ifdef LIBTIEPIE_LINUX
    DevSetEventRemoved = 0;
#endif
#ifdef LIBTIEPIE_WINDOWS
    DevSetEventRemoved = 0;
    DevSetMessageRemoved = 0;
#endif
    DevTrGetInputCount = 0;
    DevTrGetInputIndexById = 0;
    ScpTrInIsTriggered = 0;
    DevTrInGetEnabled = 0;
    DevTrInSetEnabled = 0;
    DevTrInGetKinds = 0;
    ScpTrInGetKindsEx = 0;
    DevTrInGetKind = 0;
    DevTrInSetKind = 0;
    DevTrInIsAvailable = 0;
    ScpTrInIsAvailableEx = 0;
    DevTrInGetId = 0;
    DevTrInGetName = 0;
    DevTrGetOutputCount = 0;
    DevTrGetOutputIndexById = 0;
    DevTrOutGetEnabled = 0;
    DevTrOutSetEnabled = 0;
    DevTrOutGetEvents = 0;
    DevTrOutGetEvent = 0;
    DevTrOutSetEvent = 0;
    DevTrOutGetId = 0;
    DevTrOutGetName = 0;
    DevTrOutTrigger = 0;
    ScpGetChannelCount = 0;
    ScpChIsAvailable = 0;
    ScpChIsAvailableEx = 0;
    ScpChGetConnectorType = 0;
    ScpChIsDifferential = 0;
    ScpChGetImpedance = 0;
    ScpChGetBandwidths = 0;
    ScpChGetBandwidth = 0;
    ScpChSetBandwidth = 0;
    ScpChGetCouplings = 0;
    ScpChGetCoupling = 0;
    ScpChSetCoupling = 0;
    ScpChGetEnabled = 0;
    ScpChSetEnabled = 0;
    ScpChGetProbeGain = 0;
    ScpChSetProbeGain = 0;
    ScpChGetProbeOffset = 0;
    ScpChSetProbeOffset = 0;
    ScpChGetAutoRanging = 0;
    ScpChSetAutoRanging = 0;
    ScpChGetRanges = 0;
    ScpChGetRangesEx = 0;
    ScpChGetRange = 0;
    ScpChSetRange = 0;
    ScpChHasSafeGround = 0;
    ScpChGetSafeGroundEnabled = 0;
    ScpChSetSafeGroundEnabled = 0;
    ScpChGetSafeGroundThresholdMin = 0;
    ScpChGetSafeGroundThresholdMax = 0;
    ScpChGetSafeGroundThreshold = 0;
    ScpChSetSafeGroundThreshold = 0;
    ScpChVerifySafeGroundThreshold = 0;
    ScpChHasTrigger = 0;
    ScpChHasTriggerEx = 0;
    ScpChTrIsAvailable = 0;
    ScpChTrIsAvailableEx = 0;
    ScpChTrIsTriggered = 0;
    ScpChTrGetEnabled = 0;
    ScpChTrSetEnabled = 0;
    ScpChTrGetKinds = 0;
    ScpChTrGetKindsEx = 0;
    ScpChTrGetKind = 0;
    ScpChTrSetKind = 0;
    ScpChTrGetLevelModes = 0;
    ScpChTrGetLevelMode = 0;
    ScpChTrSetLevelMode = 0;
    ScpChTrGetLevelCount = 0;
    ScpChTrGetLevel = 0;
    ScpChTrSetLevel = 0;
    ScpChTrGetHysteresisCount = 0;
    ScpChTrGetHysteresis = 0;
    ScpChTrSetHysteresis = 0;
    ScpChTrGetConditions = 0;
    ScpChTrGetConditionsEx = 0;
    ScpChTrGetCondition = 0;
    ScpChTrSetCondition = 0;
    ScpChTrGetTimeCount = 0;
    ScpChTrGetTime = 0;
    ScpChTrSetTime = 0;
    ScpChTrVerifyTime = 0;
    ScpChTrVerifyTimeEx2 = 0;
    ScpGetData = 0;
    ScpGetData1Ch = 0;
    ScpGetData2Ch = 0;
    ScpGetData3Ch = 0;
    ScpGetData4Ch = 0;
    ScpGetData5Ch = 0;
    ScpGetData6Ch = 0;
    ScpGetData7Ch = 0;
    ScpGetData8Ch = 0;
    ScpGetValidPreSampleCount = 0;
    ScpChGetDataValueRange = 0;
    ScpChGetDataValueMin = 0;
    ScpChGetDataValueMax = 0;
    ScpGetDataRaw = 0;
    ScpGetDataRaw1Ch = 0;
    ScpGetDataRaw2Ch = 0;
    ScpGetDataRaw3Ch = 0;
    ScpGetDataRaw4Ch = 0;
    ScpGetDataRaw5Ch = 0;
    ScpGetDataRaw6Ch = 0;
    ScpGetDataRaw7Ch = 0;
    ScpGetDataRaw8Ch = 0;
    ScpChGetDataRawType = 0;
    ScpChGetDataRawValueRange = 0;
    ScpChGetDataRawValueMin = 0;
    ScpChGetDataRawValueZero = 0;
    ScpChGetDataRawValueMax = 0;
    ScpChIsRangeMaxReachable = 0;
    ScpIsGetDataAsyncCompleted = 0;
    ScpStartGetDataAsync = 0;
    ScpStartGetDataAsyncRaw = 0;
    ScpCancelGetDataAsync = 0;
    ScpSetCallbackDataReady = 0;
    ScpSetCallbackDataOverflow = 0;
    ScpSetCallbackConnectionTestCompleted = 0;
    ScpSetCallbackTriggered = 0;
#ifdef LIBTIEPIE_LINUX
    ScpSetEventDataReady = 0;
    ScpSetEventDataOverflow = 0;
    ScpSetEventConnectionTestCompleted = 0;
    ScpSetEventTriggered = 0;
#endif
#ifdef LIBTIEPIE_WINDOWS
    ScpSetEventDataReady = 0;
    ScpSetEventDataOverflow = 0;
    ScpSetEventConnectionTestCompleted = 0;
    ScpSetEventTriggered = 0;
    ScpSetMessageDataReady = 0;
    ScpSetMessageDataOverflow = 0;
    ScpSetMessageConnectionTestCompleted = 0;
    ScpSetMessageTriggered = 0;
#endif
    ScpStart = 0;
    ScpStop = 0;
    ScpForceTrigger = 0;
    ScpGetMeasureModes = 0;
    ScpGetMeasureMode = 0;
    ScpSetMeasureMode = 0;
    ScpIsRunning = 0;
    ScpIsTriggered = 0;
    ScpIsTimeOutTriggered = 0;
    ScpIsForceTriggered = 0;
    ScpIsDataReady = 0;
    ScpIsDataOverflow = 0;
    ScpGetAutoResolutionModes = 0;
    ScpGetAutoResolutionMode = 0;
    ScpSetAutoResolutionMode = 0;
    ScpGetResolutions = 0;
    ScpGetResolution = 0;
    ScpSetResolution = 0;
    ScpIsResolutionEnhanced = 0;
    ScpIsResolutionEnhancedEx = 0;
    ScpGetClockSources = 0;
    ScpGetClockSource = 0;
    ScpSetClockSource = 0;
    ScpGetClockSourceFrequencies = 0;
    ScpGetClockSourceFrequenciesEx = 0;
    ScpGetClockSourceFrequency = 0;
    ScpSetClockSourceFrequency = 0;
    ScpGetClockOutputs = 0;
    ScpGetClockOutput = 0;
    ScpSetClockOutput = 0;
    ScpGetClockOutputFrequencies = 0;
    ScpGetClockOutputFrequenciesEx = 0;
    ScpGetClockOutputFrequency = 0;
    ScpSetClockOutputFrequency = 0;
    ScpGetSampleFrequencyMax = 0;
    ScpGetSampleFrequency = 0;
    ScpSetSampleFrequency = 0;
    ScpVerifySampleFrequency = 0;
    ScpVerifySampleFrequencyEx = 0;
    ScpVerifySampleFrequenciesEx = 0;
    ScpGetRecordLengthMax = 0;
    ScpGetRecordLengthMaxEx = 0;
    ScpGetRecordLength = 0;
    ScpSetRecordLength = 0;
    ScpVerifyRecordLength = 0;
    ScpVerifyRecordLengthEx = 0;
    ScpGetPreSampleRatio = 0;
    ScpSetPreSampleRatio = 0;
    ScpGetSegmentCountMax = 0;
    ScpGetSegmentCountMaxEx = 0;
    ScpGetSegmentCount = 0;
    ScpSetSegmentCount = 0;
    ScpVerifySegmentCount = 0;
    ScpVerifySegmentCountEx2 = 0;
    ScpHasTrigger = 0;
    ScpHasTriggerEx = 0;
    ScpGetTriggerTimeOut = 0;
    ScpSetTriggerTimeOut = 0;
    ScpVerifyTriggerTimeOut = 0;
    ScpVerifyTriggerTimeOutEx = 0;
    ScpHasTriggerDelay = 0;
    ScpHasTriggerDelayEx = 0;
    ScpGetTriggerDelayMax = 0;
    ScpGetTriggerDelayMaxEx = 0;
    ScpGetTriggerDelay = 0;
    ScpSetTriggerDelay = 0;
    ScpVerifyTriggerDelay = 0;
    ScpVerifyTriggerDelayEx = 0;
    ScpHasTriggerHoldOff = 0;
    ScpHasTriggerHoldOffEx = 0;
    ScpGetTriggerHoldOffCountMax = 0;
    ScpGetTriggerHoldOffCountMaxEx = 0;
    ScpGetTriggerHoldOffCount = 0;
    ScpSetTriggerHoldOffCount = 0;
    ScpHasConnectionTest = 0;
    ScpChHasConnectionTest = 0;
    ScpStartConnectionTest = 0;
    ScpStartConnectionTestEx = 0;
    ScpIsConnectionTestCompleted = 0;
    ScpGetConnectionTestData = 0;
    GenGetConnectorType = 0;
    GenIsDifferential = 0;
    GenGetImpedance = 0;
    GenGetResolution = 0;
    GenGetOutputValueMin = 0;
    GenGetOutputValueMax = 0;
    GenGetOutputValueMinMax = 0;
    GenIsControllable = 0;
    GenIsRunning = 0;
    GenGetStatus = 0;
    GenGetOutputOn = 0;
    GenSetOutputOn = 0;
    GenHasOutputInvert = 0;
    GenGetOutputInvert = 0;
    GenSetOutputInvert = 0;
    GenStart = 0;
    GenStop = 0;
    GenGetSignalTypes = 0;
    GenGetSignalType = 0;
    GenSetSignalType = 0;
    GenHasAmplitude = 0;
    GenHasAmplitudeEx = 0;
    GenGetAmplitudeMin = 0;
    GenGetAmplitudeMax = 0;
    GenGetAmplitudeMinMaxEx = 0;
    GenGetAmplitude = 0;
    GenSetAmplitude = 0;
    GenVerifyAmplitude = 0;
    GenVerifyAmplitudeEx = 0;
    GenGetAmplitudeRanges = 0;
    GenGetAmplitudeRange = 0;
    GenSetAmplitudeRange = 0;
    GenGetAmplitudeAutoRanging = 0;
    GenSetAmplitudeAutoRanging = 0;
    GenHasOffset = 0;
    GenHasOffsetEx = 0;
    GenGetOffsetMin = 0;
    GenGetOffsetMax = 0;
    GenGetOffsetMinMaxEx = 0;
    GenGetOffset = 0;
    GenSetOffset = 0;
    GenVerifyOffset = 0;
    GenVerifyOffsetEx = 0;
    GenGetFrequencyModes = 0;
    GenGetFrequencyModesEx = 0;
    GenGetFrequencyMode = 0;
    GenSetFrequencyMode = 0;
    GenHasFrequency = 0;
    GenHasFrequencyEx = 0;
    GenGetFrequencyMin = 0;
    GenGetFrequencyMax = 0;
    GenGetFrequencyMinMax = 0;
    GenGetFrequencyMinMaxEx = 0;
    GenGetFrequency = 0;
    GenSetFrequency = 0;
    GenVerifyFrequency = 0;
    GenVerifyFrequencyEx2 = 0;
    GenHasPhase = 0;
    GenHasPhaseEx = 0;
    GenGetPhaseMin = 0;
    GenGetPhaseMax = 0;
    GenGetPhaseMinMaxEx = 0;
    GenGetPhase = 0;
    GenSetPhase = 0;
    GenVerifyPhase = 0;
    GenVerifyPhaseEx = 0;
    GenHasSymmetry = 0;
    GenHasSymmetryEx = 0;
    GenGetSymmetryMin = 0;
    GenGetSymmetryMax = 0;
    GenGetSymmetryMinMaxEx = 0;
    GenGetSymmetry = 0;
    GenSetSymmetry = 0;
    GenVerifySymmetry = 0;
    GenVerifySymmetryEx = 0;
    GenHasWidth = 0;
    GenHasWidthEx = 0;
    GenGetWidthMin = 0;
    GenGetWidthMax = 0;
    GenGetWidthMinMaxEx = 0;
    GenGetWidth = 0;
    GenSetWidth = 0;
    GenVerifyWidth = 0;
    GenVerifyWidthEx = 0;
    GenHasEdgeTime = 0;
    GenHasEdgeTimeEx = 0;
    GenGetLeadingEdgeTimeMin = 0;
    GenGetLeadingEdgeTimeMax = 0;
    GenGetLeadingEdgeTimeMinMaxEx = 0;
    GenGetLeadingEdgeTime = 0;
    GenSetLeadingEdgeTime = 0;
    GenVerifyLeadingEdgeTime = 0;
    GenVerifyLeadingEdgeTimeEx = 0;
    GenGetTrailingEdgeTimeMin = 0;
    GenGetTrailingEdgeTimeMax = 0;
    GenGetTrailingEdgeTimeMinMaxEx = 0;
    GenGetTrailingEdgeTime = 0;
    GenSetTrailingEdgeTime = 0;
    GenVerifyTrailingEdgeTime = 0;
    GenVerifyTrailingEdgeTimeEx = 0;
    GenHasData = 0;
    GenHasDataEx = 0;
    GenGetDataLengthMin = 0;
    GenGetDataLengthMax = 0;
    GenGetDataLengthMinMaxEx = 0;
    GenGetDataLength = 0;
    GenVerifyDataLength = 0;
    GenVerifyDataLengthEx = 0;
    GenSetData = 0;
    GenSetDataEx = 0;
    GenGetDataRawType = 0;
    GenGetDataRawValueRange = 0;
    GenGetDataRawValueMin = 0;
    GenGetDataRawValueZero = 0;
    GenGetDataRawValueMax = 0;
    GenSetDataRaw = 0;
    GenSetDataRawEx = 0;
    GenGetModes = 0;
    GenGetModesEx = 0;
    GenGetModesNative = 0;
    GenGetMode = 0;
    GenSetMode = 0;
    GenIsBurstActive = 0;
    GenGetBurstCountMin = 0;
    GenGetBurstCountMax = 0;
    GenGetBurstCountMinMaxEx = 0;
    GenGetBurstCount = 0;
    GenSetBurstCount = 0;
    GenGetBurstSampleCountMin = 0;
    GenGetBurstSampleCountMax = 0;
    GenGetBurstSampleCountMinMaxEx = 0;
    GenGetBurstSampleCount = 0;
    GenSetBurstSampleCount = 0;
    GenGetBurstSegmentCountMin = 0;
    GenGetBurstSegmentCountMax = 0;
    GenGetBurstSegmentCountMinMaxEx = 0;
    GenGetBurstSegmentCount = 0;
    GenSetBurstSegmentCount = 0;
    GenVerifyBurstSegmentCount = 0;
    GenVerifyBurstSegmentCountEx = 0;
    GenSetCallbackBurstCompleted = 0;
#ifdef LIBTIEPIE_LINUX
    GenSetEventBurstCompleted = 0;
#endif
#ifdef LIBTIEPIE_WINDOWS
    GenSetEventBurstCompleted = 0;
    GenSetMessageBurstCompleted = 0;
#endif
    GenSetCallbackControllableChanged = 0;
#ifdef LIBTIEPIE_LINUX
    GenSetEventControllableChanged = 0;
#endif
#ifdef LIBTIEPIE_WINDOWS
    GenSetEventControllableChanged = 0;
    GenSetMessageControllableChanged = 0;
#endif
    I2CIsInternalAddress = 0;
    I2CGetInternalAddresses = 0;
    I2CRead = 0;
    I2CReadByte = 0;
    I2CReadWord = 0;
    I2CWrite = 0;
    I2CWriteByte = 0;
    I2CWriteByteByte = 0;
    I2CWriteByteWord = 0;
    I2CWriteWord = 0;
    I2CWriteRead = 0;
    I2CGetSpeedMax = 0;
    I2CGetSpeed = 0;
    I2CSetSpeed = 0;
    I2CVerifySpeed = 0;
    SrvConnect = 0;
    SrvDisconnect = 0;
    SrvRemove = 0;
    SrvGetStatus = 0;
    SrvGetLastError = 0;
    SrvGetURL = 0;
    SrvGetID = 0;
    SrvGetIPv4Address = 0;
    SrvGetIPPort = 0;
    SrvGetName = 0;
    SrvGetDescription = 0;
    SrvGetVersion = 0;
    SrvGetVersionExtra = 0;
    HlpPointerArrayNew = 0;
    HlpPointerArraySet = 0;
    HlpPointerArrayDelete = 0;

    CloseLib( hLibTiePie );

    hLibTiePie = 0;

    return LIBTIEPIESTATUS_SUCCESS;
  }

  return LIBTIEPIESTATUS_UNSUCCESSFUL;
}
