From 422c8291fb04d16aec8df30c952ff374735961c6 Mon Sep 17 00:00:00 2001 From: Dennis Sheirer Date: Sun, 2 Jul 2023 06:13:07 -0400 Subject: [PATCH] #1588 Use JDK20 and Gradle 8.2. Updates SDRPlay API for compatibility with JDK20 Project Panama Foreign Memory/Function changes. --- .github/workflows/gradle.yml | 8 +- .idea/misc.xml | 2 +- .../sdrplay-api-headers/v3_08/sdrplay_api.h | 230 ++++ .../v3_08/sdrplay_api_callback.h | 78 ++ .../v3_08/sdrplay_api_control.h | 55 + .../v3_08/sdrplay_api_dev.h | 51 + .../v3_08/sdrplay_api_rsp1a.h | 22 + .../v3_08/sdrplay_api_rsp2.h | 35 + .../v3_08/sdrplay_api_rspDuo.h | 40 + .../v3_08/sdrplay_api_rspDx.h | 45 + .../v3_08/sdrplay_api_rx_channel.h | 21 + .../v3_08/sdrplay_api_tuner.h | 93 ++ build.gradle | 18 +- gradle/wrapper/gradle-wrapper.properties | 4 +- .../dsheirer/source/tuner/TunerFactory.java | 2 +- .../dsheirer/source/tuner/sdrplay/api/README | 35 +- .../source/tuner/sdrplay/api/SDRplay.java | 53 +- .../api/callback/CallbackFunctions.java | 44 +- .../api/callback/DeviceEventAdapter.java | 19 +- .../api/callback/StreamCallbackAdapter.java | 26 +- .../tuner/sdrplay/api/device/Device.java | 3 +- .../api/device/DeviceStruct_v3_07.java | 3 +- .../api/device/DeviceStruct_v3_08.java | 3 +- .../sdrplay/api/device/IDeviceStruct.java | 3 +- .../composite/CompositeParameters.java | 15 +- .../composite/CompositeParametersFactory.java | 16 +- .../composite/Rsp1CompositeParameters.java | 8 +- .../composite/Rsp1aCompositeParameters.java | 8 +- .../composite/Rsp2CompositeParameters.java | 8 +- .../composite/RspDuoCompositeParameters.java | 13 +- .../composite/RspDxCompositeParameters.java | 8 +- .../sdrplay/api/v3_07/Constants$root.java | 22 +- .../sdrplay/api/v3_07/RuntimeHelper.java | 76 +- .../tuner/sdrplay/api/v3_07/constants$0.java | 60 +- .../tuner/sdrplay/api/v3_07/constants$1.java | 36 +- .../tuner/sdrplay/api/v3_07/constants$10.java | 17 +- .../tuner/sdrplay/api/v3_07/constants$2.java | 46 +- .../tuner/sdrplay/api/v3_07/constants$3.java | 42 +- .../tuner/sdrplay/api/v3_07/constants$4.java | 46 +- .../tuner/sdrplay/api/v3_07/constants$5.java | 60 +- .../tuner/sdrplay/api/v3_07/constants$6.java | 74 +- .../tuner/sdrplay/api/v3_07/constants$7.java | 19 +- .../tuner/sdrplay/api/v3_07/constants$8.java | 17 +- .../tuner/sdrplay/api/v3_07/constants$9.java | 25 +- .../sdrplay/api/v3_07/sdrplay_api_AgcT.java | 129 +- .../api/v3_07/sdrplay_api_ApiVersion_t.java | 24 +- .../api/v3_07/sdrplay_api_CallbackFnsT.java | 111 +- .../api/v3_07/sdrplay_api_Close_t.java | 20 +- .../api/v3_07/sdrplay_api_ControlParamsT.java | 44 +- .../api/v3_07/sdrplay_api_DcOffsetT.java | 48 +- .../api/v3_07/sdrplay_api_DcOffsetTunerT.java | 82 +- .../api/v3_07/sdrplay_api_DebugEnable_t.java | 24 +- .../api/v3_07/sdrplay_api_DecimationT.java | 63 +- .../api/v3_07/sdrplay_api_DevParamsT.java | 82 +- .../api/v3_07/sdrplay_api_DeviceParamsT.java | 99 +- .../api/v3_07/sdrplay_api_DeviceT.java | 110 +- .../v3_07/sdrplay_api_DisableHeartbeat_t.java | 20 +- .../api/v3_07/sdrplay_api_ErrorInfoT.java | 38 +- .../v3_07/sdrplay_api_EventCallback_t.java | 24 +- .../api/v3_07/sdrplay_api_EventParamsT.java | 29 +- .../api/v3_07/sdrplay_api_FsFreqT.java | 63 +- .../api/v3_07/sdrplay_api_GainCbParamT.java | 67 +- .../sdrplay/api/v3_07/sdrplay_api_GainT.java | 83 +- .../api/v3_07/sdrplay_api_GainValuesT.java | 63 +- .../v3_07/sdrplay_api_GetDeviceParams_t.java | 24 +- .../api/v3_07/sdrplay_api_GetDevices_t.java | 24 +- .../v3_07/sdrplay_api_GetErrorString_t.java | 22 +- .../api/v3_07/sdrplay_api_GetLastError_t.java | 24 +- .../sdrplay/api/v3_07/sdrplay_api_Init_t.java | 24 +- .../v3_07/sdrplay_api_LockDeviceApi_t.java | 20 +- .../sdrplay/api/v3_07/sdrplay_api_Open_t.java | 20 +- .../sdrplay_api_PowerOverloadCbParamT.java | 35 +- .../v3_07/sdrplay_api_ReleaseDevice_t.java | 24 +- .../api/v3_07/sdrplay_api_ResetFlagsT.java | 63 +- .../api/v3_07/sdrplay_api_RfFreqT.java | 48 +- .../api/v3_07/sdrplay_api_Rsp1aParamsT.java | 48 +- .../v3_07/sdrplay_api_Rsp1aTunerParamsT.java | 33 +- .../api/v3_07/sdrplay_api_Rsp2ParamsT.java | 33 +- .../v3_07/sdrplay_api_Rsp2TunerParamsT.java | 82 +- .../v3_07/sdrplay_api_RspDuoModeCbParamT.java | 35 +- .../api/v3_07/sdrplay_api_RspDuoParamsT.java | 35 +- .../v3_07/sdrplay_api_RspDuoTunerParamsT.java | 95 +- .../api/v3_07/sdrplay_api_RspDxParamsT.java | 95 +- .../v3_07/sdrplay_api_RspDxTunerParamsT.java | 37 +- .../v3_07/sdrplay_api_RxChannelParamsT.java | 56 +- .../api/v3_07/sdrplay_api_SelectDevice_t.java | 25 +- .../v3_07/sdrplay_api_StreamCallback_t.java | 25 +- .../v3_07/sdrplay_api_StreamCbParamsT.java | 105 +- .../sdrplay_api_SwapRspDuoActiveTuner_t.java | 25 +- ...i_SwapRspDuoDualTunerModeSampleRate_t.java | 25 +- .../v3_07/sdrplay_api_SwapRspDuoMode_t.java | 25 +- .../api/v3_07/sdrplay_api_SyncUpdateT.java | 54 +- .../api/v3_07/sdrplay_api_TunerParamsT.java | 82 +- .../api/v3_07/sdrplay_api_Uninit_t.java | 25 +- .../v3_07/sdrplay_api_UnlockDeviceApi_t.java | 21 +- .../api/v3_07/sdrplay_api_Update_t.java | 25 +- .../sdrplay/api/v3_07/sdrplay_api_h.java | 991 ++++++++++++++- .../sdrplay/api/v3_08/Constants$root.java | 22 +- .../sdrplay/api/v3_08/RuntimeHelper.java | 76 +- .../tuner/sdrplay/api/v3_08/constants$0.java | 60 +- .../tuner/sdrplay/api/v3_08/constants$1.java | 36 +- .../tuner/sdrplay/api/v3_08/constants$10.java | 44 - .../tuner/sdrplay/api/v3_08/constants$2.java | 46 +- .../tuner/sdrplay/api/v3_08/constants$3.java | 42 +- .../tuner/sdrplay/api/v3_08/constants$4.java | 46 +- .../tuner/sdrplay/api/v3_08/constants$5.java | 60 +- .../tuner/sdrplay/api/v3_08/constants$6.java | 76 +- .../tuner/sdrplay/api/v3_08/constants$7.java | 66 - .../tuner/sdrplay/api/v3_08/constants$8.java | 71 -- .../tuner/sdrplay/api/v3_08/constants$9.java | 82 -- .../sdrplay/api/v3_08/sdrplay_api_AgcT.java | 129 +- .../api/v3_08/sdrplay_api_ApiVersion_t.java | 24 +- .../api/v3_08/sdrplay_api_CallbackFnsT.java | 111 +- .../api/v3_08/sdrplay_api_Close_t.java | 20 +- .../api/v3_08/sdrplay_api_ControlParamsT.java | 44 +- .../api/v3_08/sdrplay_api_DcOffsetT.java | 48 +- .../api/v3_08/sdrplay_api_DcOffsetTunerT.java | 82 +- .../api/v3_08/sdrplay_api_DebugEnable_t.java | 24 +- .../api/v3_08/sdrplay_api_DecimationT.java | 63 +- .../api/v3_08/sdrplay_api_DevParamsT.java | 82 +- .../api/v3_08/sdrplay_api_DeviceParamsT.java | 99 +- .../api/v3_08/sdrplay_api_DeviceT.java | 125 +- .../v3_08/sdrplay_api_DisableHeartbeat_t.java | 20 +- .../api/v3_08/sdrplay_api_ErrorInfoT.java | 38 +- .../v3_08/sdrplay_api_EventCallback_t.java | 24 +- .../api/v3_08/sdrplay_api_EventParamsT.java | 29 +- .../api/v3_08/sdrplay_api_FsFreqT.java | 63 +- .../api/v3_08/sdrplay_api_GainCbParamT.java | 67 +- .../sdrplay/api/v3_08/sdrplay_api_GainT.java | 83 +- .../api/v3_08/sdrplay_api_GainValuesT.java | 63 +- .../v3_08/sdrplay_api_GetDeviceParams_t.java | 24 +- .../api/v3_08/sdrplay_api_GetDevices_t.java | 24 +- .../v3_08/sdrplay_api_GetErrorString_t.java | 22 +- .../api/v3_08/sdrplay_api_GetLastError_t.java | 24 +- .../sdrplay/api/v3_08/sdrplay_api_Init_t.java | 24 +- .../v3_08/sdrplay_api_LockDeviceApi_t.java | 20 +- .../sdrplay/api/v3_08/sdrplay_api_Open_t.java | 20 +- .../sdrplay_api_PowerOverloadCbParamT.java | 35 +- .../v3_08/sdrplay_api_ReleaseDevice_t.java | 24 +- .../api/v3_08/sdrplay_api_ResetFlagsT.java | 63 +- .../api/v3_08/sdrplay_api_RfFreqT.java | 48 +- .../api/v3_08/sdrplay_api_Rsp1aParamsT.java | 48 +- .../v3_08/sdrplay_api_Rsp1aTunerParamsT.java | 33 +- .../api/v3_08/sdrplay_api_Rsp2ParamsT.java | 33 +- .../v3_08/sdrplay_api_Rsp2TunerParamsT.java | 82 +- .../v3_08/sdrplay_api_RspDuoModeCbParamT.java | 35 +- .../api/v3_08/sdrplay_api_RspDuoParamsT.java | 35 +- .../v3_08/sdrplay_api_RspDuoTunerParamsT.java | 95 +- .../api/v3_08/sdrplay_api_RspDxParamsT.java | 97 +- .../v3_08/sdrplay_api_RspDxTunerParamsT.java | 37 +- .../v3_08/sdrplay_api_RxChannelParamsT.java | 56 +- .../api/v3_08/sdrplay_api_SelectDevice_t.java | 25 +- .../v3_08/sdrplay_api_StreamCallback_t.java | 25 +- .../v3_08/sdrplay_api_StreamCbParamsT.java | 105 +- .../sdrplay_api_SwapRspDuoActiveTuner_t.java | 25 +- ...i_SwapRspDuoDualTunerModeSampleRate_t.java | 25 +- .../v3_08/sdrplay_api_SwapRspDuoMode_t.java | 25 +- .../api/v3_08/sdrplay_api_SyncUpdateT.java | 54 +- .../api/v3_08/sdrplay_api_TunerParamsT.java | 82 +- .../api/v3_08/sdrplay_api_Uninit_t.java | 25 +- .../v3_08/sdrplay_api_UnlockDeviceApi_t.java | 21 +- .../api/v3_08/sdrplay_api_Update_t.java | 24 +- .../sdrplay/api/v3_08/sdrplay_api_h.java | 1074 +++++++++++++---- 163 files changed, 7229 insertions(+), 2162 deletions(-) create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_callback.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_control.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_dev.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp1a.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp2.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDuo.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDx.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rx_channel.h create mode 100644 artifacts/sdrplay-api-headers/v3_08/sdrplay_api_tuner.h delete mode 100644 src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$10.java delete mode 100644 src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$7.java delete mode 100644 src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$8.java delete mode 100644 src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$9.java diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 76aa1b182..665f0c30a 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -22,13 +22,13 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up JDK 19 - uses: actions/setup-java@v2 + - name: Set up JDK 20 + uses: actions/setup-java@v3 with: - java-version: '19' + java-version: '20' distribution: 'liberica' java-package: 'jdk+fx' - name: Build with Gradle - uses: gradle/gradle-build-action@937999e9cc2425eddc7fd62d1053baf041147db7 + uses: gradle/gradle-build-action@v2 with: arguments: clean build diff --git a/.idea/misc.xml b/.idea/misc.xml index 12974c9ad..29ce38d1d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -4,7 +4,7 @@ - + \ No newline at end of file diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api.h new file mode 100644 index 000000000..3a33b796f --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api.h @@ -0,0 +1,230 @@ +#ifndef SDRPLAY_API_H +#define SDRPLAY_API_H + +#include "sdrplay_api_dev.h" +#include "sdrplay_api_rx_channel.h" +#include "sdrplay_api_callback.h" + +//#if defined(_M_X64) || defined(_M_IX86) +//#include "windows.h" +//#elif defined (__GNUC__) +typedef void *HANDLE; +//#endif +// +//#ifndef _SDRPLAY_DLL_QUALIFIER +//#if !defined(STATIC_LIB) && (defined(_M_X64) || defined(_M_IX86)) +//#define _SDRPLAY_DLL_QUALIFIER __declspec(dllimport) +//#elif defined(STATIC_LIB) || defined(__GNUC__) +//#define _SDRPLAY_DLL_QUALIFIER +//#endif +//#endif // _SDRPLAY_DLL_QUALIFIER + +// Application code should check that it is compiled against the same API version +// sdrplay_api_ApiVersion() returns the API version +#define SDRPLAY_API_VERSION (float)(3.08) + +// API Constants +#define SDRPLAY_MAX_DEVICES (16) +#define SDRPLAY_MAX_TUNERS_PER_DEVICE (2) + +#define SDRPLAY_MAX_SER_NO_LEN (64) +#define SDRPLAY_MAX_ROOT_NM_LEN (32) + +#define SDRPLAY_RSP1_ID (1) +#define SDRPLAY_RSP1A_ID (255) +#define SDRPLAY_RSP2_ID (2) +#define SDRPLAY_RSPduo_ID (3) +#define SDRPLAY_RSPdx_ID (4) + +// Enum types +typedef enum +{ + sdrplay_api_Success = 0, + sdrplay_api_Fail = 1, + sdrplay_api_InvalidParam = 2, + sdrplay_api_OutOfRange = 3, + sdrplay_api_GainUpdateError = 4, + sdrplay_api_RfUpdateError = 5, + sdrplay_api_FsUpdateError = 6, + sdrplay_api_HwError = 7, + sdrplay_api_AliasingError = 8, + sdrplay_api_AlreadyInitialised = 9, + sdrplay_api_NotInitialised = 10, + sdrplay_api_NotEnabled = 11, + sdrplay_api_HwVerError = 12, + sdrplay_api_OutOfMemError = 13, + sdrplay_api_ServiceNotResponding = 14, + sdrplay_api_StartPending = 15, + sdrplay_api_StopPending = 16, + sdrplay_api_InvalidMode = 17, + sdrplay_api_FailedVerification1 = 18, + sdrplay_api_FailedVerification2 = 19, + sdrplay_api_FailedVerification3 = 20, + sdrplay_api_FailedVerification4 = 21, + sdrplay_api_FailedVerification5 = 22, + sdrplay_api_FailedVerification6 = 23, + sdrplay_api_InvalidServiceVersion = 24 +} sdrplay_api_ErrT; + +typedef enum +{ + sdrplay_api_Update_None = 0x00000000, + + // Reasons for master only mode + sdrplay_api_Update_Dev_Fs = 0x00000001, + sdrplay_api_Update_Dev_Ppm = 0x00000002, + sdrplay_api_Update_Dev_SyncUpdate = 0x00000004, + sdrplay_api_Update_Dev_ResetFlags = 0x00000008, + + sdrplay_api_Update_Rsp1a_BiasTControl = 0x00000010, + sdrplay_api_Update_Rsp1a_RfNotchControl = 0x00000020, + sdrplay_api_Update_Rsp1a_RfDabNotchControl = 0x00000040, + + sdrplay_api_Update_Rsp2_BiasTControl = 0x00000080, + sdrplay_api_Update_Rsp2_AmPortSelect = 0x00000100, + sdrplay_api_Update_Rsp2_AntennaControl = 0x00000200, + sdrplay_api_Update_Rsp2_RfNotchControl = 0x00000400, + sdrplay_api_Update_Rsp2_ExtRefControl = 0x00000800, + + sdrplay_api_Update_RspDuo_ExtRefControl = 0x00001000, + + sdrplay_api_Update_Master_Spare_1 = 0x00002000, + sdrplay_api_Update_Master_Spare_2 = 0x00004000, + + // Reasons for master and slave mode + // Note: sdrplay_api_Update_Tuner_Gr MUST be the first value defined in this section! + sdrplay_api_Update_Tuner_Gr = 0x00008000, + sdrplay_api_Update_Tuner_GrLimits = 0x00010000, + sdrplay_api_Update_Tuner_Frf = 0x00020000, + sdrplay_api_Update_Tuner_BwType = 0x00040000, + sdrplay_api_Update_Tuner_IfType = 0x00080000, + sdrplay_api_Update_Tuner_DcOffset = 0x00100000, + sdrplay_api_Update_Tuner_LoMode = 0x00200000, + + sdrplay_api_Update_Ctrl_DCoffsetIQimbalance = 0x00400000, + sdrplay_api_Update_Ctrl_Decimation = 0x00800000, + sdrplay_api_Update_Ctrl_Agc = 0x01000000, + sdrplay_api_Update_Ctrl_AdsbMode = 0x02000000, + sdrplay_api_Update_Ctrl_OverloadMsgAck = 0x04000000, + + sdrplay_api_Update_RspDuo_BiasTControl = 0x08000000, + sdrplay_api_Update_RspDuo_AmPortSelect = 0x10000000, + sdrplay_api_Update_RspDuo_Tuner1AmNotchControl = 0x20000000, + sdrplay_api_Update_RspDuo_RfNotchControl = 0x40000000, + sdrplay_api_Update_RspDuo_RfDabNotchControl = 0x80000000, +} sdrplay_api_ReasonForUpdateT; + +typedef enum +{ + sdrplay_api_Update_Ext1_None = 0x00000000, + + // Reasons for master only mode + sdrplay_api_Update_RspDx_HdrEnable = 0x00000001, + sdrplay_api_Update_RspDx_BiasTControl = 0x00000002, + sdrplay_api_Update_RspDx_AntennaControl = 0x00000004, + sdrplay_api_Update_RspDx_RfNotchControl = 0x00000008, + sdrplay_api_Update_RspDx_RfDabNotchControl = 0x00000010, + sdrplay_api_Update_RspDx_HdrBw = 0x00000020, + + // Reasons for master and slave mode +} sdrplay_api_ReasonForUpdateExtension1T; + +typedef enum +{ + sdrplay_api_DbgLvl_Disable = 0, + sdrplay_api_DbgLvl_Verbose = 1, + sdrplay_api_DbgLvl_Warning = 2, + sdrplay_api_DbgLvl_Error = 3, + sdrplay_api_DbgLvl_Message = 4, +} sdrplay_api_DbgLvl_t; + +// Device structure +typedef struct +{ + char SerNo[SDRPLAY_MAX_SER_NO_LEN]; + unsigned char hwVer; + sdrplay_api_TunerSelectT tuner; + sdrplay_api_RspDuoModeT rspDuoMode; + unsigned char valid; + double rspDuoSampleFreq; + HANDLE dev; +} sdrplay_api_DeviceT; + +// Device parameter structure +typedef struct +{ + sdrplay_api_DevParamsT *devParams; + sdrplay_api_RxChannelParamsT *rxChannelA; + sdrplay_api_RxChannelParamsT *rxChannelB; +} sdrplay_api_DeviceParamsT; + +// Extended error message structure +typedef struct +{ + char file[256]; + char function[256]; + int line; + char message[1024]; +} sdrplay_api_ErrorInfoT; + +// Comman API function types +typedef sdrplay_api_ErrT (*sdrplay_api_Open_t)(void); +typedef sdrplay_api_ErrT (*sdrplay_api_Close_t)(void); +typedef sdrplay_api_ErrT (*sdrplay_api_ApiVersion_t)(float *apiVer); +typedef sdrplay_api_ErrT (*sdrplay_api_LockDeviceApi_t)(void); +typedef sdrplay_api_ErrT (*sdrplay_api_UnlockDeviceApi_t)(void); +typedef sdrplay_api_ErrT (*sdrplay_api_GetDevices_t)(sdrplay_api_DeviceT *devices, unsigned int *numDevs, unsigned int maxDevs); +typedef sdrplay_api_ErrT (*sdrplay_api_SelectDevice_t)(sdrplay_api_DeviceT *device); +typedef sdrplay_api_ErrT (*sdrplay_api_ReleaseDevice_t)(sdrplay_api_DeviceT *device); +typedef const char* (*sdrplay_api_GetErrorString_t)(sdrplay_api_ErrT err); +typedef sdrplay_api_ErrorInfoT* (*sdrplay_api_GetLastError_t)(sdrplay_api_DeviceT *device); +typedef sdrplay_api_ErrT (*sdrplay_api_DisableHeartbeat_t)(void); + +// Device API function types +typedef sdrplay_api_ErrT (*sdrplay_api_DebugEnable_t)(HANDLE dev, sdrplay_api_DbgLvl_t dbgLvl); +typedef sdrplay_api_ErrT (*sdrplay_api_GetDeviceParams_t)(HANDLE dev, sdrplay_api_DeviceParamsT **deviceParams); +typedef sdrplay_api_ErrT (*sdrplay_api_Init_t)(HANDLE dev, sdrplay_api_CallbackFnsT *callbackFns, void *cbContext); +typedef sdrplay_api_ErrT (*sdrplay_api_Uninit_t)(HANDLE dev); +typedef sdrplay_api_ErrT (*sdrplay_api_Update_t)(HANDLE dev, sdrplay_api_TunerSelectT tuner, sdrplay_api_ReasonForUpdateT reasonForUpdate, sdrplay_api_ReasonForUpdateExtension1T reasonForUpdateExt1); +typedef sdrplay_api_ErrT (*sdrplay_api_SwapRspDuoActiveTuner_t)(HANDLE dev, sdrplay_api_TunerSelectT *tuner, sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel); +typedef sdrplay_api_ErrT (*sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t)(double *currentSampleRate, double newSampleRate); +typedef sdrplay_api_ErrT (*sdrplay_api_SwapRspDuoMode_t)(sdrplay_api_DeviceT *currDevice, sdrplay_api_DeviceParamsT **deviceParams, + sdrplay_api_RspDuoModeT rspDuoMode, double sampleRate, sdrplay_api_TunerSelectT tuner, + sdrplay_api_Bw_MHzT bwType, sdrplay_api_If_kHzT ifType, sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel); + +// API function definitions +#ifdef __cplusplus +extern "C" +{ +#endif + +// // Comman API function definitions +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_Open(void); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_Close(void); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_ApiVersion(float *apiVer); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_LockDeviceApi(void); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_UnlockDeviceApi(void); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_GetDevices(sdrplay_api_DeviceT *devices, unsigned int *numDevs, unsigned int maxDevs); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_SelectDevice(sdrplay_api_DeviceT *device); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_ReleaseDevice(sdrplay_api_DeviceT *device); +// _SDRPLAY_DLL_QUALIFIER const char* sdrplay_api_GetErrorString(sdrplay_api_ErrT err); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrorInfoT* sdrplay_api_GetLastError(sdrplay_api_DeviceT *device); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_DisableHeartbeat(void); // Must be called before sdrplay_api_SelectDevice() +// +// // Device API function definitions +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_DebugEnable(HANDLE dev, sdrplay_api_DbgLvl_t enable); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_GetDeviceParams(HANDLE dev, sdrplay_api_DeviceParamsT **deviceParams); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_Init(HANDLE dev, sdrplay_api_CallbackFnsT *callbackFns, void *cbContext); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_Uninit(HANDLE dev); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_Update(HANDLE dev, sdrplay_api_TunerSelectT tuner, sdrplay_api_ReasonForUpdateT reasonForUpdate, sdrplay_api_ReasonForUpdateExtension1T reasonForUpdateExt1); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_SwapRspDuoActiveTuner(HANDLE dev, sdrplay_api_TunerSelectT *currentTuner, sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_SwapRspDuoDualTunerModeSampleRate(HANDLE dev, double *currentSampleRate, double newSampleRate); +// _SDRPLAY_DLL_QUALIFIER sdrplay_api_ErrT sdrplay_api_SwapRspDuoMode(sdrplay_api_DeviceT *currDevice, sdrplay_api_DeviceParamsT **deviceParams, +// sdrplay_api_RspDuoModeT rspDuoMode, double sampleRate, sdrplay_api_TunerSelectT tuner, +// sdrplay_api_Bw_MHzT bwType, sdrplay_api_If_kHzT ifType, sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel); + +#ifdef __cplusplus +} +#endif + +#endif //SDRPLAY_API_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_callback.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_callback.h new file mode 100644 index 000000000..88d560490 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_callback.h @@ -0,0 +1,78 @@ +#ifndef SDRPLAY_API_CALLBACK_H +#define SDRPLAY_API_CALLBACK_H + +// Event callback enums +typedef enum +{ + sdrplay_api_Overload_Detected = 0, + sdrplay_api_Overload_Corrected = 1, +} sdrplay_api_PowerOverloadCbEventIdT; + +typedef enum +{ + sdrplay_api_MasterInitialised = 0, + sdrplay_api_SlaveAttached = 1, + sdrplay_api_SlaveDetached = 2, + sdrplay_api_SlaveInitialised = 3, + sdrplay_api_SlaveUninitialised = 4, + sdrplay_api_MasterDllDisappeared = 5, + sdrplay_api_SlaveDllDisappeared = 6, +} sdrplay_api_RspDuoModeCbEventIdT; + +typedef enum +{ + sdrplay_api_GainChange = 0, + sdrplay_api_PowerOverloadChange = 1, + sdrplay_api_DeviceRemoved = 2, + sdrplay_api_RspDuoModeChange = 3, +} sdrplay_api_EventT; + +// Event callback parameter structs +typedef struct +{ + unsigned int gRdB; + unsigned int lnaGRdB; + double currGain; +} sdrplay_api_GainCbParamT; + +typedef struct +{ + sdrplay_api_PowerOverloadCbEventIdT powerOverloadChangeType; +} sdrplay_api_PowerOverloadCbParamT; + +typedef struct +{ + sdrplay_api_RspDuoModeCbEventIdT modeChangeType; +} sdrplay_api_RspDuoModeCbParamT; + +// Event parameters overlay +typedef union +{ + sdrplay_api_GainCbParamT gainParams; + sdrplay_api_PowerOverloadCbParamT powerOverloadParams; + sdrplay_api_RspDuoModeCbParamT rspDuoModeParams; +} sdrplay_api_EventParamsT; + +// Stream callback parameter structs +typedef struct +{ + unsigned int firstSampleNum; + int grChanged; + int rfChanged; + int fsChanged; + unsigned int numSamples; +} sdrplay_api_StreamCbParamsT; + +// Callback function prototypes +typedef void (*sdrplay_api_StreamCallback_t)(short *xi, short *xq, sdrplay_api_StreamCbParamsT *params, unsigned int numSamples, unsigned int reset, void *cbContext); +typedef void (*sdrplay_api_EventCallback_t)(sdrplay_api_EventT eventId, sdrplay_api_TunerSelectT tuner, sdrplay_api_EventParamsT *params, void *cbContext); + +// Callback function struct +typedef struct +{ + sdrplay_api_StreamCallback_t StreamACbFn; + sdrplay_api_StreamCallback_t StreamBCbFn; + sdrplay_api_EventCallback_t EventCbFn; +} sdrplay_api_CallbackFnsT; + +#endif //SDRPLAY_API_CALLBACK_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_control.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_control.h new file mode 100644 index 000000000..5a52a1046 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_control.h @@ -0,0 +1,55 @@ +#ifndef SDRPLAY_API_CONTROL_H +#define SDRPLAY_API_CONTROL_H + +// Control parameter enums +typedef enum +{ + sdrplay_api_AGC_DISABLE = 0, + sdrplay_api_AGC_100HZ = 1, + sdrplay_api_AGC_50HZ = 2, + sdrplay_api_AGC_5HZ = 3, + sdrplay_api_AGC_CTRL_EN = 4 +} sdrplay_api_AgcControlT; + +typedef enum +{ + sdrplay_api_ADSB_DECIMATION = 0, + sdrplay_api_ADSB_NO_DECIMATION_LOWPASS = 1, + sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_2MHZ = 2, + sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_3MHZ = 3 +} sdrplay_api_AdsbModeT; + +// Control parameter structs +typedef struct +{ + unsigned char DCenable; // default: 1 + unsigned char IQenable; // default: 1 +} sdrplay_api_DcOffsetT; + +typedef struct +{ + unsigned char enable; // default: 0 + unsigned char decimationFactor; // default: 1 + unsigned char wideBandSignal; // default: 0 +} sdrplay_api_DecimationT; + +typedef struct +{ + sdrplay_api_AgcControlT enable; // default: sdrplay_api_AGC_50HZ + int setPoint_dBfs; // default: -60 + unsigned short attack_ms; // default: 0 + unsigned short decay_ms; // default: 0 + unsigned short decay_delay_ms; // default: 0 + unsigned short decay_threshold_dB; // default: 0 + int syncUpdate; // default: 0 +} sdrplay_api_AgcT; + +typedef struct +{ + sdrplay_api_DcOffsetT dcOffset; + sdrplay_api_DecimationT decimation; + sdrplay_api_AgcT agc; + sdrplay_api_AdsbModeT adsbMode; //default: sdrplay_api_ADSB_DECIMATION +} sdrplay_api_ControlParamsT; + +#endif //SDRPLAY_API_CONTROL_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_dev.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_dev.h new file mode 100644 index 000000000..5ac99ae25 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_dev.h @@ -0,0 +1,51 @@ +#ifndef SDRPLAY_API_DEV_H +#define SDRPLAY_API_DEV_H + +#include "sdrplay_api_rsp1a.h" +#include "sdrplay_api_rsp2.h" +#include "sdrplay_api_rspDuo.h" +#include "sdrplay_api_rspDx.h" + +// Dev parameter enums +typedef enum +{ + sdrplay_api_ISOCH = 0, + sdrplay_api_BULK = 1 +} sdrplay_api_TransferModeT; + +// Dev parameter structs +typedef struct +{ + double fsHz; // default: 2000000.0 + unsigned char syncUpdate; // default: 0 + unsigned char reCal; // default: 0 +} sdrplay_api_FsFreqT; + +typedef struct +{ + unsigned int sampleNum; // default: 0 + unsigned int period; // default: 0 +} sdrplay_api_SyncUpdateT; + +typedef struct +{ + unsigned char resetGainUpdate; // default: 0 + unsigned char resetRfUpdate; // default: 0 + unsigned char resetFsUpdate; // default: 0 +} sdrplay_api_ResetFlagsT; + +typedef struct +{ + double ppm; // default: 0.0 + sdrplay_api_FsFreqT fsFreq; + sdrplay_api_SyncUpdateT syncUpdate; + sdrplay_api_ResetFlagsT resetFlags; + sdrplay_api_TransferModeT mode; // default: sdrplay_api_ISOCH + unsigned int samplesPerPkt; // default: 0 (output param) + sdrplay_api_Rsp1aParamsT rsp1aParams; + sdrplay_api_Rsp2ParamsT rsp2Params; + sdrplay_api_RspDuoParamsT rspDuoParams; + sdrplay_api_RspDxParamsT rspDxParams; +} sdrplay_api_DevParamsT; + +#endif //SDRPLAY_API_DEV_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp1a.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp1a.h new file mode 100644 index 000000000..3affbcc3e --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp1a.h @@ -0,0 +1,22 @@ +#ifndef SDRPLAY_API_RSP1A_H +#define SDRPLAY_API_RSP1A_H + +#define RSPIA_NUM_LNA_STATES 10 +#define RSPIA_NUM_LNA_STATES_AM 7 +#define RSPIA_NUM_LNA_STATES_LBAND 9 + +// RSP1A parameter enums + +// RSP1A parameter structs +typedef struct +{ + unsigned char rfNotchEnable; // default: 0 + unsigned char rfDabNotchEnable; // default: 0 +} sdrplay_api_Rsp1aParamsT; + +typedef struct +{ + unsigned char biasTEnable; // default: 0 +} sdrplay_api_Rsp1aTunerParamsT; + +#endif //SDRPLAY_API_RSP1A_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp2.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp2.h new file mode 100644 index 000000000..930d3e956 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rsp2.h @@ -0,0 +1,35 @@ +#ifndef SDRPLAY_API_RSP2_H +#define SDRPLAY_API_RSP2_H + +#define RSPII_NUM_LNA_STATES 9 +#define RSPII_NUM_LNA_STATES_AMPORT 5 +#define RSPII_NUM_LNA_STATES_420MHZ 6 + +// RSP2 parameter enums +typedef enum +{ + sdrplay_api_Rsp2_ANTENNA_A = 5, + sdrplay_api_Rsp2_ANTENNA_B = 6, +} sdrplay_api_Rsp2_AntennaSelectT; + +typedef enum +{ + sdrplay_api_Rsp2_AMPORT_1 = 1, + sdrplay_api_Rsp2_AMPORT_2 = 0, +} sdrplay_api_Rsp2_AmPortSelectT; + +// RSP2 parameter structs +typedef struct +{ + unsigned char extRefOutputEn; // default: 0 +} sdrplay_api_Rsp2ParamsT; + +typedef struct +{ + unsigned char biasTEnable; // default: 0 + sdrplay_api_Rsp2_AmPortSelectT amPortSel; // default: sdrplay_api_Rsp2_AMPORT_2 + sdrplay_api_Rsp2_AntennaSelectT antennaSel; // default: sdrplay_api_Rsp2_ANTENNA_A + unsigned char rfNotchEnable; // default: 0 +} sdrplay_api_Rsp2TunerParamsT; + +#endif //SDRPLAY_API_RSP2_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDuo.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDuo.h new file mode 100644 index 000000000..3c4566350 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDuo.h @@ -0,0 +1,40 @@ +#ifndef SDRPLAY_API_RSPduo_H +#define SDRPLAY_API_RSPduo_H + +#define RSPDUO_NUM_LNA_STATES 10 +#define RSPDUO_NUM_LNA_STATES_AMPORT 5 +#define RSPDUO_NUM_LNA_STATES_AM 7 +#define RSPDUO_NUM_LNA_STATES_LBAND 9 + +// RSPduo parameter enums +typedef enum +{ + sdrplay_api_RspDuoMode_Unknown = 0, + sdrplay_api_RspDuoMode_Single_Tuner = 1, + sdrplay_api_RspDuoMode_Dual_Tuner = 2, + sdrplay_api_RspDuoMode_Master = 4, + sdrplay_api_RspDuoMode_Slave = 8, +} sdrplay_api_RspDuoModeT; + +typedef enum +{ + sdrplay_api_RspDuo_AMPORT_1 = 1, + sdrplay_api_RspDuo_AMPORT_2 = 0, +} sdrplay_api_RspDuo_AmPortSelectT; + +// RSPduo parameter structs +typedef struct +{ + int extRefOutputEn; // default: 0 +} sdrplay_api_RspDuoParamsT; + +typedef struct +{ + unsigned char biasTEnable; // default: 0 + sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel; // default: sdrplay_api_RspDuo_AMPORT_2 + unsigned char tuner1AmNotchEnable; // default: 0 + unsigned char rfNotchEnable; // default: 0 + unsigned char rfDabNotchEnable; // default: 0 +} sdrplay_api_RspDuoTunerParamsT; + +#endif //SDRPLAY_API_RSPduo_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDx.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDx.h new file mode 100644 index 000000000..14cad9dc0 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rspDx.h @@ -0,0 +1,45 @@ +#ifndef SDRPLAY_API_RSPDX_H +#define SDRPLAY_API_RSPDX_H + +#include "sdrplay_api_tuner.h" + +#define RSPDX_NUM_LNA_STATES 28 // Number of LNA states in all bands (except where defined differently below) +#define RSPDX_NUM_LNA_STATES_AMPORT2_0_12 19 // Number of LNA states when using AM Port 2 between 0 and 12MHz +#define RSPDX_NUM_LNA_STATES_AMPORT2_12_60 20 // Number of LNA states when using AM Port 2 between 12 and 60MHz +#define RSPDX_NUM_LNA_STATES_VHF_BAND3 27 // Number of LNA states in VHF and Band3 +#define RSPDX_NUM_LNA_STATES_420MHZ 21 // Number of LNA states in 420MHz band +#define RSPDX_NUM_LNA_STATES_LBAND 19 // Number of LNA states in L-band +#define RSPDX_NUM_LNA_STATES_DX 26 // Number of LNA states in DX path + +// RSPdx parameter enums +typedef enum +{ + sdrplay_api_RspDx_ANTENNA_A = 0, + sdrplay_api_RspDx_ANTENNA_B = 1, + sdrplay_api_RspDx_ANTENNA_C = 2, +} sdrplay_api_RspDx_AntennaSelectT; + +typedef enum +{ + sdrplay_api_RspDx_HDRMODE_BW_0_200 = 0, + sdrplay_api_RspDx_HDRMODE_BW_0_500 = 1, + sdrplay_api_RspDx_HDRMODE_BW_1_200 = 2, + sdrplay_api_RspDx_HDRMODE_BW_1_700 = 3, +} sdrplay_api_RspDx_HdrModeBwT; + +// RSPdx parameter structs +typedef struct +{ + unsigned char hdrEnable; // default: 0 + unsigned char biasTEnable; // default: 0 + sdrplay_api_RspDx_AntennaSelectT antennaSel; // default: sdrplay_api_RspDx_ANTENNA_A + unsigned char rfNotchEnable; // default: 0 + unsigned char rfDabNotchEnable; // default: 0 +} sdrplay_api_RspDxParamsT; + +typedef struct +{ + sdrplay_api_RspDx_HdrModeBwT hdrBw; // default: sdrplay_api_RspDx_HDRMODE_BW_1_700 +} sdrplay_api_RspDxTunerParamsT; + +#endif //SDRPLAY_API_RSPDX_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rx_channel.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rx_channel.h new file mode 100644 index 000000000..010080402 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_rx_channel.h @@ -0,0 +1,21 @@ +#ifndef SDRPLAY_API_RX_CHANNEL_H +#define SDRPLAY_API_RX_CHANNEL_H + +#include "sdrplay_api_tuner.h" +#include "sdrplay_api_control.h" +#include "sdrplay_api_rsp1a.h" +#include "sdrplay_api_rsp2.h" +#include "sdrplay_api_rspDuo.h" +#include "sdrplay_api_rspDx.h" + +typedef struct +{ + sdrplay_api_TunerParamsT tunerParams; + sdrplay_api_ControlParamsT ctrlParams; + sdrplay_api_Rsp1aTunerParamsT rsp1aTunerParams; + sdrplay_api_Rsp2TunerParamsT rsp2TunerParams; + sdrplay_api_RspDuoTunerParamsT rspDuoTunerParams; + sdrplay_api_RspDxTunerParamsT rspDxTunerParams; +} sdrplay_api_RxChannelParamsT; + +#endif //SDRPLAY_API_RX_CHANNEL_H diff --git a/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_tuner.h b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_tuner.h new file mode 100644 index 000000000..a5c446d61 --- /dev/null +++ b/artifacts/sdrplay-api-headers/v3_08/sdrplay_api_tuner.h @@ -0,0 +1,93 @@ +#ifndef SDRPLAY_API_TUNER_H +#define SDRPLAY_API_TUNER_H + +#define MAX_BB_GR (59) + +// Tuner parameter enums +typedef enum +{ + sdrplay_api_BW_Undefined = 0, + sdrplay_api_BW_0_200 = 200, + sdrplay_api_BW_0_300 = 300, + sdrplay_api_BW_0_600 = 600, + sdrplay_api_BW_1_536 = 1536, + sdrplay_api_BW_5_000 = 5000, + sdrplay_api_BW_6_000 = 6000, + sdrplay_api_BW_7_000 = 7000, + sdrplay_api_BW_8_000 = 8000 +} sdrplay_api_Bw_MHzT; + +typedef enum +{ + sdrplay_api_IF_Undefined = -1, + sdrplay_api_IF_Zero = 0, + sdrplay_api_IF_0_450 = 450, + sdrplay_api_IF_1_620 = 1620, + sdrplay_api_IF_2_048 = 2048 +} sdrplay_api_If_kHzT; + +typedef enum +{ + sdrplay_api_LO_Undefined = 0, + sdrplay_api_LO_Auto = 1, + sdrplay_api_LO_120MHz = 2, + sdrplay_api_LO_144MHz = 3, + sdrplay_api_LO_168MHz = 4 +} sdrplay_api_LoModeT; + +typedef enum +{ + sdrplay_api_EXTENDED_MIN_GR = 0, + sdrplay_api_NORMAL_MIN_GR = 20 +} sdrplay_api_MinGainReductionT; + +typedef enum +{ + sdrplay_api_Tuner_Neither = 0, + sdrplay_api_Tuner_A = 1, + sdrplay_api_Tuner_B = 2, + sdrplay_api_Tuner_Both = 3, +} sdrplay_api_TunerSelectT; + +// Tuner parameter structs +typedef struct +{ + float curr; + float max; + float min; +} sdrplay_api_GainValuesT; + +typedef struct +{ + int gRdB; // default: 50 + unsigned char LNAstate; // default: 0 + unsigned char syncUpdate; // default: 0 + sdrplay_api_MinGainReductionT minGr; // default: sdrplay_api_NORMAL_MIN_GR + sdrplay_api_GainValuesT gainVals; // output parameter +} sdrplay_api_GainT; + +typedef struct +{ + double rfHz; // default: 200000000.0 + unsigned char syncUpdate; // default: 0 +} sdrplay_api_RfFreqT; + +typedef struct +{ + unsigned char dcCal; // default: 3 (Periodic mode) + unsigned char speedUp; // default: 0 (No speedup) + int trackTime; // default: 1 (=> time in uSec = (72 * 3 * trackTime) / 24e6 = 9uSec) + int refreshRateTime; // default: 2048 (=> time in uSec = (72 * 3 * refreshRateTime) / 24e6 = 18432uSec) +} sdrplay_api_DcOffsetTunerT; + +typedef struct +{ + sdrplay_api_Bw_MHzT bwType; // default: sdrplay_api_BW_0_200 + sdrplay_api_If_kHzT ifType; // default: sdrplay_api_IF_Zero + sdrplay_api_LoModeT loMode; // default: sdrplay_api_LO_Auto + sdrplay_api_GainT gain; + sdrplay_api_RfFreqT rfFreq; + sdrplay_api_DcOffsetTunerT dcOffsetTuner; +} sdrplay_api_TunerParamsT; + +#endif //SDRPLAY_API_TUNER_H diff --git a/build.gradle b/build.gradle index f2178d731..d5524ce00 100644 --- a/build.gradle +++ b/build.gradle @@ -53,12 +53,12 @@ repositories { maven { url "https://jitpack.io" } } -version = '0.6.0-alpha6' +version = '0.6.0-alpha7' -//Java 19 is required for this version of the Project Panama preview/incubator feature +//Java 20 is required for this version of the Project Panama preview/incubator feature java { toolchain { - languageVersion = JavaLanguageVersion.of(19) + languageVersion = JavaLanguageVersion.of(20) } } @@ -197,16 +197,16 @@ String targetWindowsX86_64 = 'windows-x86_64-v' + version * author's development environment, but can be changed to your environment if you want to use this build pattern. */ String jdk_base = '/home/denny/java_jdks/' -String jdk_linux_aarch64 = jdk_base + 'linux-arm64/jdk-19.0.1-full' -String jdk_linux_x86_64 = jdk_base + 'linux-x64/jdk-19.0.1-full' -String jdk_osx_x86_64 = jdk_base + 'osx-x64/jdk-19.0.1-full.jdk' -String jdk_osx_aarch64 = jdk_base + 'osx-arm64/jdk-19.0.1-full.jdk' -String jdk_windows_x86_64 = jdk_base + 'windows-x64/jdk-19.0.1-full' +String jdk_linux_aarch64 = jdk_base + 'linux-arm64/jdk-20.0.1-full' +String jdk_linux_x86_64 = jdk_base + 'linux-x64/jdk-20.0.1-full' +String jdk_osx_x86_64 = jdk_base + 'osx-x64/jdk-20.0.1-full.jdk' +String jdk_osx_aarch64 = jdk_base + 'osx-arm64/jdk-20.0.1-full.jdk' +String jdk_windows_x86_64 = jdk_base + 'windows-x64/jdk-20.0.1-full' /** * Download URLs to download the JDK as part of the gradle build packaging process */ -def jdk_download_base = "https://download.bell-sw.com/java/19.0.1+11/bellsoft-jdk19.0.1+11-" +def jdk_download_base = "https://download.bell-sw.com/java/20.0.1+10/bellsoft-jdk20.0.1+10-" def jdk_download_suffix = "-full.tar.gz" def jdk_download_linux_aarch64 = jdk_download_base + "linux-aarch64" + jdk_download_suffix def jdk_download_linux_x86_64 = jdk_download_base + "linux-amd64" + jdk_download_suffix diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6bbaddf39..99c3f1d98 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ # # ****************************************************************************** -# Copyright (C) 2014-2022 Dennis Sheirer +# Copyright (C) 2014-2023 Dennis Sheirer # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -19,7 +19,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/io/github/dsheirer/source/tuner/TunerFactory.java b/src/main/java/io/github/dsheirer/source/tuner/TunerFactory.java index c40f7fd9a..d5ae5674c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/TunerFactory.java +++ b/src/main/java/io/github/dsheirer/source/tuner/TunerFactory.java @@ -257,7 +257,7 @@ public static RspTuner getRspTuner(DeviceInfo deviceInfo, ChannelizerType channe } } break; - case default: + default: mLog.warn("Unrecognized SDRplay RSP Device Type: " + device.getDeviceType() + " SER#: " + device.getSerialNumber()); break; } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/README b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/README index 5d61b3ad3..af3321850 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/README +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/README @@ -1,10 +1,37 @@ -SDRplay API 3.07 -Auto-created from sdrplay api header files using JDK 17 jextract tool: +SDRplay API +All source class files are auto-created from sdrplay api header files using JDK 20 jextract tool: + +Version 3.07 is the oldest supported version. Versions 3.08 through 3.11 are all functionally equivalent. + +We use the JDK 20 jextract tool to generate java source files from the API include files that are +located in the /arctifacts directory. + +With each new JDK release where they change something about the Foreign Function api, we have to regenerate +the java source files. My approach is to generate the java files into the source code directories alongside +the existing source files and then delete the existing files and rename the parent version package to the +same as was used by the existing classes so that we don't cause problems in any of the derivative classes. + +If you need to find the SDRPlay API header/include files: 1. Install the sdrplay api 2. On Linux, headers are located here: /usr/local/include/*.h -3. cd into the (project)/jSDRplay/sdrplay-api/src/main/java/ directory -4. Run: jextract -t io.github.dsheirer.sdrplay.api /usr/local/include/sdrplay_api.h -l libsdrplay_api --source +3. On Windows, headers are located here: c:\Program Files\SDRPlay\api + +Generate Source Files from SDRPlay API Headers +- Download latest jextract tool and alias the jextract command. +- cd into the (project)/jSDRplay/sdrplay-api/src/main/java/ directory + +Version 3.07 +- cd into the same folder where the v3.07 header files are lcoated. +- jextract --source -t io.github.dsheirer.source.tuner.sdrplay.api.v3_08_1 -l libsdrplay_api --output ~/IdeaProjects/sdrtrunk/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08_1/ sdrplay_api.h +- In the generated RuntimeHelper class, comment out this line: System.loadLibrary("libsdrplay_api"); + +Version 3.08 +Note: API include files are from a windows 10 installer, with the windows DLL aspects commented out. +- cd into the same folder where the v3.08 header files are located. +- jextract --source -t io.github.dsheirer.source.tuner.sdrplay.api.v3_08_1 -l libsdrplay_api --output ~/IdeaProjects/sdrtrunk/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08_1/ sdrplay_api.h +- In the generated RuntimeHelper class, comment out this line: System.loadLibrary("libsdrplay_api"); + IntelliJ setup 1. Run configuration diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/SDRplay.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/SDRplay.java index 71b44b3c8..b482d032c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/SDRplay.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/SDRplay.java @@ -36,9 +36,8 @@ import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_DeviceT; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_ErrorInfoT; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_h; -import java.lang.foreign.MemoryAddress; +import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.ValueLayout; import java.util.ArrayList; import java.util.Arrays; @@ -71,9 +70,9 @@ public class SDRplay private static final Logger mLog = LoggerFactory.getLogger(SDRplay.class); /** - * Foreign memory allocation resource scope + * Foreign memory arenaallocation resource scope */ - private final MemorySession mGlobalMemorySession = MemorySession.global(); + private final Arena mArena = Arena.openShared(); /** * Indicates if libsdrplay_api.xx library was found and loaded. @@ -89,7 +88,7 @@ public class SDRplay /** * Map of (reusable) callback functions for each device. Key value is the device handle memory address */ - private final Map mDeviceCallbackFunctionsMap = new HashMap<>(); + private final Map mDeviceCallbackFunctionsMap = new HashMap<>(); /** * Detected version of the API installed on the local system. @@ -150,11 +149,11 @@ public SDRplay() throws SDRPlayException } /** - * Global Memory Session for this API instance + * Open Shared Memory Arena for this API instance */ - private MemorySession getGlobalMemorySession() + private Arena getArena() { - return mGlobalMemorySession; + return mArena; } /** @@ -220,9 +219,9 @@ public List getDeviceStructures() throws SDRPlayException List deviceStructs = new ArrayList<>(); //Get a version-correct array of DeviceT structures - MemorySegment devicesArray = DeviceFactory.createDeviceArray(getVersion(), getGlobalMemorySession()); + MemorySegment devicesArray = DeviceFactory.createDeviceArray(getVersion(), getArena()); - MemorySegment deviceCount = getGlobalMemorySession().allocate(ValueLayout.JAVA_INT, 0); + MemorySegment deviceCount = getArena().allocate(ValueLayout.JAVA_INT, 0); Status status = Status.fromValue(sdrplay_api_h.sdrplay_api_GetDevices(devicesArray, deviceCount, sdrplay_api_h.SDRPLAY_MAX_DEVICES())); @@ -355,20 +354,20 @@ public void release(MemorySegment memorySegment) throws SDRPlayException * @param deviceHandle to device * @return constructed device composite paramaters */ - public CompositeParameters getCompositeParameters(DeviceType deviceType, MemoryAddress deviceHandle) throws SDRPlayException + public CompositeParameters getCompositeParameters(DeviceType deviceType, MemorySegment deviceHandle) throws SDRPlayException { //Allocate a pointer that the api will fill with the memory address of the device parameters in memory. - MemorySegment pointer = getGlobalMemorySession().allocate(ValueLayout.ADDRESS); + MemorySegment pointer = getArena().allocate(ValueLayout.ADDRESS); Status status = Status.fromValue(sdrplay_api_h.sdrplay_api_GetDeviceParams(deviceHandle, pointer)); if(status.success()) { //Get the memory address from the pointer's memory segment to where the structure is located - MemoryAddress memoryAddress = pointer.get(ValueLayout.ADDRESS, 0); + MemorySegment memoryAddress = pointer.get(ValueLayout.ADDRESS, 0); //The structure's memory is already allocated ... wrap a memory segment around it - MemorySegment memorySegment = sdrplay_api_DeviceT.ofAddress(memoryAddress, mGlobalMemorySession); - return CompositeParametersFactory.create(deviceType, memorySegment, mGlobalMemorySession); + MemorySegment memorySegment = sdrplay_api_DeviceT.ofAddress(memoryAddress, getArena().scope()); + return CompositeParametersFactory.create(deviceType, memorySegment, getArena()); } else { @@ -383,10 +382,10 @@ public CompositeParameters getCompositeParameters(DeviceType deviceType, MemoryA * @param callbackFunctions to receive stream data from A and (optionally) B channels and events. * @throws SDRPlayException if the device is not selected of if unable to init the device */ - private void init(MemoryAddress deviceHandle, MemorySegment callbackFunctions) throws SDRPlayException + private void init(MemorySegment deviceHandle, MemorySegment callbackFunctions) throws SDRPlayException { //Since we don't need/use the callback context ... setup as a pointer to the callback functions - MemorySegment contextPointer = getGlobalMemorySession().allocate(ValueLayout.ADDRESS, callbackFunctions); + MemorySegment contextPointer = getArena().allocate(ValueLayout.ADDRESS, callbackFunctions); Status status = Status.fromValue(sdrplay_api_h.sdrplay_api_Init(deviceHandle, callbackFunctions, contextPointer)); if(!status.success()) @@ -404,14 +403,14 @@ private void init(MemoryAddress deviceHandle, MemorySegment callbackFunctions) t * @param streamListener to receive samples for stream A * @throws SDRPlayException if the device is not selected of if unable to init the device */ - public void initA(Device device, MemoryAddress deviceHandle, IDeviceEventListener eventListener, + public void initA(Device device, MemorySegment deviceHandle, IDeviceEventListener eventListener, IStreamListener streamListener) throws SDRPlayException { CallbackFunctions callbackFunctions = mDeviceCallbackFunctionsMap.get(deviceHandle); if(callbackFunctions == null) { - callbackFunctions = new CallbackFunctions(getGlobalMemorySession(), eventListener, streamListener, + callbackFunctions = new CallbackFunctions(getArena(), eventListener, streamListener, device.getStreamCallbackListener()); mDeviceCallbackFunctionsMap.put(deviceHandle, callbackFunctions); } @@ -433,14 +432,14 @@ public void initA(Device device, MemoryAddress deviceHandle, IDeviceEventListene * @param streamListener to receive samples for stream B * @throws SDRPlayException if the device is not selected of if unable to init the device */ - public void initB(Device device, MemoryAddress deviceHandle, IDeviceEventListener eventListener, + public void initB(Device device, MemorySegment deviceHandle, IDeviceEventListener eventListener, IStreamListener streamListener) throws SDRPlayException { CallbackFunctions callbackFunctions = mDeviceCallbackFunctionsMap.get(deviceHandle); if(callbackFunctions == null) { - callbackFunctions = new CallbackFunctions(getGlobalMemorySession(), eventListener, streamListener, streamListener, + callbackFunctions = new CallbackFunctions(getArena(), eventListener, streamListener, streamListener, device.getStreamCallbackListener()); mDeviceCallbackFunctionsMap.put(deviceHandle, callbackFunctions); } @@ -459,7 +458,7 @@ public void initB(Device device, MemoryAddress deviceHandle, IDeviceEventListene * @param deviceHandle to the device * @throws SDRPlayException if error during uninit or if device is not selected */ - public void uninit(MemoryAddress deviceHandle) throws SDRPlayException + public void uninit(MemorySegment deviceHandle) throws SDRPlayException { Status status = Status.fromValue(sdrplay_api_h.sdrplay_api_Uninit(deviceHandle)); @@ -482,7 +481,7 @@ public void uninit(MemoryAddress deviceHandle) throws SDRPlayException * @param updateReasons identifying what was updated * @throws SDRPlayException if the device is not selected, or if unable to update the device parameters */ - public synchronized void update(Device device, MemoryAddress deviceHandle, TunerSelect tunerSelect, + public synchronized void update(Device device, MemorySegment deviceHandle, TunerSelect tunerSelect, UpdateReason... updateReasons) throws SDRPlayException { int reasons = UpdateReason.getReasons(updateReasons); @@ -505,8 +504,8 @@ public synchronized void update(Device device, MemoryAddress deviceHandle, Tuner */ private ErrorInformation getLastError(MemorySegment deviceSegment) { - MemoryAddress errorAddress = sdrplay_api_h.sdrplay_api_GetLastError(deviceSegment); - MemorySegment errorSegment = sdrplay_api_ErrorInfoT.ofAddress(errorAddress, mGlobalMemorySession); + MemorySegment errorAddress = sdrplay_api_h.sdrplay_api_GetLastError(deviceSegment); + MemorySegment errorSegment = sdrplay_api_ErrorInfoT.ofAddress(errorAddress, getArena().scope()); return new ErrorInformation(errorSegment); } @@ -517,7 +516,7 @@ private ErrorInformation getLastError(MemorySegment deviceSegment) * @param debugLevel to set * @throws SDRPlayException if the device is not selected or if unable to set/change the debug level. */ - public void setDebugLevel(MemoryAddress deviceHandle, DebugLevel debugLevel) throws SDRPlayException + public void setDebugLevel(MemorySegment deviceHandle, DebugLevel debugLevel) throws SDRPlayException { Status status = Status.UNKNOWN; @@ -603,7 +602,7 @@ public Version getVersion() { if(mSdrplayLibraryLoaded) { - MemorySegment apiVersion = getGlobalMemorySession().allocate(ValueLayout.JAVA_FLOAT, 0); + MemorySegment apiVersion = getArena().allocate(ValueLayout.JAVA_FLOAT, 0); Status status = Status.fromValue(sdrplay_api_h.sdrplay_api_ApiVersion(apiVersion)); if(status.success()) { diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/CallbackFunctions.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/CallbackFunctions.java index 5b699d427..d2645d77c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/CallbackFunctions.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/CallbackFunctions.java @@ -22,8 +22,8 @@ import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_CallbackFnsT; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_EventCallback_t; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_StreamCallback_t; +import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; /** * Callback functions (sdrplay_api_CallbackFnsT) factory @@ -37,57 +37,57 @@ public class CallbackFunctions /** * Constructs a callback functions for single-tuner use. - * @param memorySession for native memory allocation + * @param arena for native memory allocation * @param deviceEventListener for device events * @param streamListener for streaming samples * @param streamCallbackListener for streaming events */ - public CallbackFunctions(MemorySession memorySession, IDeviceEventListener deviceEventListener, + public CallbackFunctions(Arena arena, IDeviceEventListener deviceEventListener, IStreamListener streamListener, IStreamCallbackListener streamCallbackListener) { //Create the event callback function - mDeviceEventAdapter = new DeviceEventAdapter(memorySession, deviceEventListener); - MemorySegment eventFunction = sdrplay_api_EventCallback_t.allocate(mDeviceEventAdapter, memorySession); + mDeviceEventAdapter = new DeviceEventAdapter(arena, deviceEventListener); + MemorySegment eventFunction = sdrplay_api_EventCallback_t.allocate(mDeviceEventAdapter, arena.scope()); //Create the stream A callback function - mStreamACallbackAdapter = new StreamCallbackAdapter(memorySession, streamListener, streamCallbackListener); - MemorySegment streamAFunction = sdrplay_api_StreamCallback_t.allocate(mStreamACallbackAdapter, memorySession); + mStreamACallbackAdapter = new StreamCallbackAdapter(arena, streamListener, streamCallbackListener); + MemorySegment streamAFunction = sdrplay_api_StreamCallback_t.allocate(mStreamACallbackAdapter, arena.scope()); //Create the callback functions union and populate the callback functions - mCallbackFunctionsMemorySegment = sdrplay_api_CallbackFnsT.allocate(memorySession); - sdrplay_api_CallbackFnsT.EventCbFn$set(mCallbackFunctionsMemorySegment, eventFunction.address()); - sdrplay_api_CallbackFnsT.StreamACbFn$set(mCallbackFunctionsMemorySegment, streamAFunction.address()); + mCallbackFunctionsMemorySegment = sdrplay_api_CallbackFnsT.allocate(arena); + sdrplay_api_CallbackFnsT.EventCbFn$set(mCallbackFunctionsMemorySegment, eventFunction); + sdrplay_api_CallbackFnsT.StreamACbFn$set(mCallbackFunctionsMemorySegment, streamAFunction); } /** * Constructs a callback functions for dual-tuner use. - * @param memorySession for native memory allocation + * @param arena for native memory allocation * @param deviceEventListener for device events * @param streamAListener for streaming samples from the master tuner * @param streamBListener for streaming samples from the slave tuner * @param streamCallbackListener for streaming events */ - public CallbackFunctions(MemorySession memorySession, IDeviceEventListener deviceEventListener, + public CallbackFunctions(Arena arena, IDeviceEventListener deviceEventListener, IStreamListener streamAListener, IStreamListener streamBListener, IStreamCallbackListener streamCallbackListener) { //Create the event callback function - mDeviceEventAdapter = new DeviceEventAdapter(memorySession, deviceEventListener); - MemorySegment eventFunction = sdrplay_api_EventCallback_t.allocate(mDeviceEventAdapter, memorySession); + mDeviceEventAdapter = new DeviceEventAdapter(arena, deviceEventListener); + MemorySegment eventFunction = sdrplay_api_EventCallback_t.allocate(mDeviceEventAdapter, arena.scope()); //Create the stream A callback function - mStreamACallbackAdapter = new StreamCallbackAdapter(memorySession, streamAListener, streamCallbackListener); - MemorySegment streamAFunction = sdrplay_api_StreamCallback_t.allocate(mStreamACallbackAdapter, memorySession); + mStreamACallbackAdapter = new StreamCallbackAdapter(arena, streamAListener, streamCallbackListener); + MemorySegment streamAFunction = sdrplay_api_StreamCallback_t.allocate(mStreamACallbackAdapter, arena.scope()); //Create the stream B callback function - mStreamBCallbackAdapter = new StreamCallbackAdapter(memorySession, streamBListener, streamCallbackListener); - MemorySegment streamBFunction = sdrplay_api_StreamCallback_t.allocate(mStreamBCallbackAdapter, memorySession); + mStreamBCallbackAdapter = new StreamCallbackAdapter(arena, streamBListener, streamCallbackListener); + MemorySegment streamBFunction = sdrplay_api_StreamCallback_t.allocate(mStreamBCallbackAdapter, arena.scope()); //Create the callback functions union and populate the callback functions - mCallbackFunctionsMemorySegment = sdrplay_api_CallbackFnsT.allocate(memorySession); - sdrplay_api_CallbackFnsT.EventCbFn$set(mCallbackFunctionsMemorySegment, eventFunction.address()); - sdrplay_api_CallbackFnsT.StreamACbFn$set(mCallbackFunctionsMemorySegment, streamAFunction.address()); - sdrplay_api_CallbackFnsT.StreamBCbFn$set(mCallbackFunctionsMemorySegment, streamBFunction.address()); + mCallbackFunctionsMemorySegment = sdrplay_api_CallbackFnsT.allocate(arena); + sdrplay_api_CallbackFnsT.EventCbFn$set(mCallbackFunctionsMemorySegment, eventFunction); + sdrplay_api_CallbackFnsT.StreamACbFn$set(mCallbackFunctionsMemorySegment, streamAFunction); + sdrplay_api_CallbackFnsT.StreamBCbFn$set(mCallbackFunctionsMemorySegment, streamBFunction); } /** diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/DeviceEventAdapter.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/DeviceEventAdapter.java index fe939c2e8..f82fd4c2f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/DeviceEventAdapter.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/DeviceEventAdapter.java @@ -24,9 +24,8 @@ import io.github.dsheirer.source.tuner.sdrplay.api.parameter.event.EventType; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_EventCallback_t; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_EventParamsT; -import java.lang.foreign.MemoryAddress; +import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,22 +37,22 @@ public class DeviceEventAdapter implements sdrplay_api_EventCallback_t { private static final Logger mLog = LoggerFactory.getLogger(DeviceEventAdapter.class); - private MemorySession mMemorySession; + private Arena mArena; private IDeviceEventListener mDeviceEventListener; /** * Constructs an instance. - * @param memorySession to use in creating foreign memory segments to access foreign structures. + * @param arena to use in creating foreign memory segments to access foreign structures. * @param listener to receive translated device events. */ - public DeviceEventAdapter(MemorySession memorySession, IDeviceEventListener listener) + public DeviceEventAdapter(Arena arena, IDeviceEventListener listener) { - if(memorySession == null) + if(arena == null) { throw new IllegalArgumentException("Resource scope must be non-null"); } - mMemorySession = memorySession; + mArena = arena; setListener(listener); } @@ -73,10 +72,10 @@ public void setListener(IDeviceEventListener listener) } @Override - public void apply(int eventTypeId, int tunerSelectId, MemoryAddress eventParametersPointer, - MemoryAddress callbackContext) + public void apply(int eventTypeId, int tunerSelectId, MemorySegment eventParametersPointer, + MemorySegment callbackContext) { - MemorySegment memorySegment = sdrplay_api_EventParamsT.ofAddress(eventParametersPointer, mMemorySession); + MemorySegment memorySegment = sdrplay_api_EventParamsT.ofAddress(eventParametersPointer, mArena.scope()); EventType eventType = EventType.fromValue(eventTypeId); TunerSelect tunerSelect = TunerSelect.fromValue(tunerSelectId); diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/StreamCallbackAdapter.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/StreamCallbackAdapter.java index ef3c0dce2..8bab1fc25 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/StreamCallbackAdapter.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/callback/StreamCallbackAdapter.java @@ -22,9 +22,8 @@ import io.github.dsheirer.source.tuner.sdrplay.api.util.Flag; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_StreamCallback_t; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_StreamCbParamsT; -import java.lang.foreign.MemoryAddress; +import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.ValueLayout; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -36,25 +35,24 @@ public class StreamCallbackAdapter implements sdrplay_api_StreamCallback_t { private static final Logger mLog = LoggerFactory.getLogger(StreamCallbackAdapter.class); - private MemorySession mMemorySession; + private Arena mArena; private IStreamListener mStreamListener; private IStreamCallbackListener mStreamCallbackListener; /** * Constructs an instance of the callback implementation - * @param memorySession for defining new foreign memory segments + * @param arena for defining new foreign memory segments * @param streamListener to receive transferred I/Q samples and event details * @param listener to receive callback parameters */ - public StreamCallbackAdapter(MemorySession memorySession, IStreamListener streamListener, - IStreamCallbackListener listener) + public StreamCallbackAdapter(Arena arena, IStreamListener streamListener, IStreamCallbackListener listener) { - if(memorySession == null) + if(arena == null) { - throw new IllegalArgumentException("Resource scope must be non-null"); + throw new IllegalArgumentException("Arena must be non-null"); } - mMemorySession = memorySession; + mArena = arena; mStreamCallbackListener = listener; setListener(streamListener); } @@ -78,14 +76,14 @@ public void setListener(IStreamListener listener) * @param deviceContext of the device that sourced the samples */ @Override - public void apply(MemoryAddress iSamplesPointer, MemoryAddress qSamplesPointer, MemoryAddress parametersPointer, - int sampleCount, int reset, MemoryAddress deviceContext) + public void apply(MemorySegment iSamplesPointer, MemorySegment qSamplesPointer, MemorySegment parametersPointer, + int sampleCount, int reset, MemorySegment deviceContext) { if(mStreamListener != null || mStreamCallbackListener != null) { //Translate the callback parameters pointer to a memory segment and re-construct the parameters as a Java object StreamCallbackParameters parameters = new StreamCallbackParameters(sdrplay_api_StreamCbParamsT - .ofAddress(parametersPointer, mMemorySession)); + .ofAddress(parametersPointer, mArena.scope())); if(mStreamCallbackListener != null) { @@ -96,8 +94,8 @@ public void apply(MemoryAddress iSamplesPointer, MemoryAddress qSamplesPointer, { //Allocate memory segments from I/Q pointers, transfer from native to JVM array, and send to listener long arrayByteSize = ValueLayout.JAVA_SHORT.byteSize() * sampleCount; - MemorySegment iSamples = MemorySegment.ofAddress(iSamplesPointer, arrayByteSize, mMemorySession); - MemorySegment qSamples = MemorySegment.ofAddress(qSamplesPointer, arrayByteSize, mMemorySession); + MemorySegment iSamples = MemorySegment.ofAddress(iSamplesPointer.address(), arrayByteSize, mArena.scope()); + MemorySegment qSamples = MemorySegment.ofAddress(qSamplesPointer.address(), arrayByteSize, mArena.scope()); short[] i = iSamples.toArray(ValueLayout.JAVA_SHORT); short[] q = qSamples.toArray(ValueLayout.JAVA_SHORT); mStreamListener.processStream(i, q, parameters, Flag.evaluate(reset)); diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/Device.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/Device.java index 7a4e6c251..ace8215df 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/Device.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/Device.java @@ -33,7 +33,6 @@ import io.github.dsheirer.source.tuner.sdrplay.api.parameter.composite.CompositeParameters; import io.github.dsheirer.source.tuner.sdrplay.api.parameter.tuner.IfMode; import io.github.dsheirer.source.tuner.sdrplay.api.parameter.tuner.LoMode; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; import java.util.Queue; import java.util.concurrent.ConcurrentLinkedQueue; @@ -377,7 +376,7 @@ protected MemorySegment getDeviceMemorySegment() * * @throws SDRPlayException if this method is accessed before the device has been successfully selected */ - MemoryAddress getDeviceHandle() throws SDRPlayException + MemorySegment getDeviceHandle() throws SDRPlayException { if(!selected()) { diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_07.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_07.java index fa4dcfd83..9ede845c8 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_07.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_07.java @@ -20,7 +20,6 @@ package io.github.dsheirer.source.tuner.sdrplay.api.device; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_DeviceT; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; /** @@ -92,7 +91,7 @@ public void setRspDuoSampleFrequency(double frequency) sdrplay_api_DeviceT.rspDuoSampleFreq$set(getDeviceMemorySegment(), frequency); } - @Override public MemoryAddress getDeviceHandle() + @Override public MemorySegment getDeviceHandle() { return sdrplay_api_DeviceT.dev$get(getDeviceMemorySegment()); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_08.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_08.java index 38fe2f666..4de672544 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_08.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/DeviceStruct_v3_08.java @@ -20,7 +20,6 @@ package io.github.dsheirer.source.tuner.sdrplay.api.device; import io.github.dsheirer.source.tuner.sdrplay.api.v3_08.sdrplay_api_DeviceT; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; /** @@ -92,7 +91,7 @@ public void setRspDuoSampleFrequency(double frequency) sdrplay_api_DeviceT.rspDuoSampleFreq$set(getDeviceMemorySegment(), frequency); } - @Override public MemoryAddress getDeviceHandle() + @Override public MemorySegment getDeviceHandle() { return sdrplay_api_DeviceT.dev$get(getDeviceMemorySegment()); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/IDeviceStruct.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/IDeviceStruct.java index 3389e1670..56e45a9f9 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/IDeviceStruct.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/device/IDeviceStruct.java @@ -19,7 +19,6 @@ package io.github.dsheirer.source.tuner.sdrplay.api.device; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; /** @@ -77,5 +76,5 @@ public interface IDeviceStruct /** * Device handle. Note this is only available if the device has been selected. */ - MemoryAddress getDeviceHandle(); + MemorySegment getDeviceHandle(); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/CompositeParameters.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/CompositeParameters.java index a3f60bf38..07fbbf4bf 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/CompositeParameters.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/CompositeParameters.java @@ -28,9 +28,8 @@ import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_DevParamsT; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_DeviceParamsT; import io.github.dsheirer.source.tuner.sdrplay.api.v3_07.sdrplay_api_RxChannelParamsT; -import java.lang.foreign.MemoryAddress; +import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; /** * Composite Device Parameters structure (sdrplay_api_DeviceParamsT) providing access to the device parameters and @@ -50,16 +49,16 @@ public class CompositeParameters { - return new Rsp1CompositeParameters(memorySegment, memorySession); + return new Rsp1CompositeParameters(memorySegment, arena); } case RSP1A -> { - return new Rsp1aCompositeParameters(memorySegment, memorySession); + return new Rsp1aCompositeParameters(memorySegment, arena); } case RSP2 -> { - return new Rsp2CompositeParameters(memorySegment, memorySession); + return new Rsp2CompositeParameters(memorySegment, arena); } case RSPduo -> { - return new RspDuoCompositeParameters(memorySegment, memorySession); + return new RspDuoCompositeParameters(memorySegment, arena); } case RSPdx -> { - return new RspDxCompositeParameters(memorySegment, memorySession); + return new RspDxCompositeParameters(memorySegment, arena); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/Rsp1CompositeParameters.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/Rsp1CompositeParameters.java index 52d364620..aaf1eefff 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/Rsp1CompositeParameters.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/parameter/composite/Rsp1CompositeParameters.java @@ -22,8 +22,8 @@ import io.github.dsheirer.source.tuner.sdrplay.api.device.DeviceType; import io.github.dsheirer.source.tuner.sdrplay.api.parameter.device.Rsp1DeviceParameters; import io.github.dsheirer.source.tuner.sdrplay.api.parameter.tuner.Rsp1TunerParameters; +import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; /** * RSP1 Composite parameters (device and tuner) @@ -34,10 +34,10 @@ public class Rsp1CompositeParameters extends CompositeParameters { throw new AssertionError("should not reach here"); }; final static SegmentAllocator CONSTANT_ALLOCATOR = - (size, align) -> MemorySegment.allocateNative(size, align, MemorySession.openImplicit()); + (size, align) -> MemorySegment.allocateNative(size, align, SegmentScope.auto()); static { // System.loadLibrary("libsdrplay_api"); SymbolLookup loaderLookup = SymbolLookup.loaderLookup(); - SYMBOL_LOOKUP = name -> loaderLookup.lookup(name).or(() -> LINKER.defaultLookup().lookup(name)); + SYMBOL_LOOKUP = name -> loaderLookup.find(name).or(() -> LINKER.defaultLookup().find(name)); } + // Suppresses default constructor, ensuring non-instantiability. + private RuntimeHelper() {} + static T requireNonNull(T obj, String symbolName) { if (obj == null) { throw new UnsatisfiedLinkError("unresolved symbol: " + symbolName); @@ -63,45 +64,50 @@ static T requireNonNull(T obj, String symbolName) { return obj; } - private final static SegmentAllocator THROWING_ALLOCATOR = (x, y) -> { throw new AssertionError("should not reach here"); }; - - static final MemorySegment lookupGlobalVariable(String name, MemoryLayout layout) { - return SYMBOL_LOOKUP.lookup(name).map(symbol -> MemorySegment.ofAddress(symbol.address(), layout.byteSize(), MemorySession.openShared())).orElse(null); + static MemorySegment lookupGlobalVariable(String name, MemoryLayout layout) { + return SYMBOL_LOOKUP.find(name).map(symbol -> MemorySegment.ofAddress(symbol.address(), layout.byteSize(), symbol.scope())).orElse(null); } - static final MethodHandle downcallHandle(String name, FunctionDescriptor fdesc) { - return SYMBOL_LOOKUP.lookup(name). + static MethodHandle downcallHandle(String name, FunctionDescriptor fdesc) { + return SYMBOL_LOOKUP.find(name). map(addr -> LINKER.downcallHandle(addr, fdesc)). orElse(null); } - static final MethodHandle downcallHandle(FunctionDescriptor fdesc) { + static MethodHandle downcallHandle(FunctionDescriptor fdesc) { return LINKER.downcallHandle(fdesc); } - static final MethodHandle downcallHandleVariadic(String name, FunctionDescriptor fdesc) { - return SYMBOL_LOOKUP.lookup(name). + static MethodHandle downcallHandleVariadic(String name, FunctionDescriptor fdesc) { + return SYMBOL_LOOKUP.find(name). map(addr -> VarargsInvoker.make(addr, fdesc)). orElse(null); } - static final MemorySegment upcallStub(Class fi, Z z, FunctionDescriptor fdesc, MemorySession session) { + static MethodHandle upcallHandle(Class fi, String name, FunctionDescriptor fdesc) { try { - MethodHandle handle = MH_LOOKUP.findVirtual(fi, "apply", Linker.upcallType(fdesc)); - handle = handle.bindTo(z); - return LINKER.upcallStub(handle, fdesc, session); + return MH_LOOKUP.findVirtual(fi, name, fdesc.toMethodType()); } catch (Throwable ex) { throw new AssertionError(ex); } } - static MemorySegment asArray(MemoryAddress addr, MemoryLayout layout, int numElements, MemorySession session) { - return MemorySegment.ofAddress(addr, numElements * layout.byteSize(), session); + static MemorySegment upcallStub(MethodHandle fiHandle, Z z, FunctionDescriptor fdesc, SegmentScope scope) { + try { + fiHandle = fiHandle.bindTo(z); + return LINKER.upcallStub(fiHandle, fdesc, scope); + } catch (Throwable ex) { + throw new AssertionError(ex); + } + } + + static MemorySegment asArray(MemorySegment addr, MemoryLayout layout, int numElements, SegmentScope scope) { + return MemorySegment.ofAddress(addr.address(), numElements * layout.byteSize(), scope); } // Internals only below this point - private static class VarargsInvoker { + private static final class VarargsInvoker { private static final MethodHandle INVOKE_MH; private final MemorySegment symbol; private final FunctionDescriptor function; @@ -127,7 +133,9 @@ static MethodHandle make(MemorySegment symbol, FunctionDescriptor function) { mtype = mtype.appendParameterTypes(carrier(layout, false)); } mtype = mtype.appendParameterTypes(Object[].class); - if (mtype.returnType().equals(MemorySegment.class)) { + boolean needsAllocator = function.returnLayout().isPresent() && + function.returnLayout().get() instanceof GroupLayout; + if (needsAllocator) { mtype = mtype.insertParameterTypes(0, SegmentAllocator.class); } else { handle = MethodHandles.insertArguments(handle, 0, THROWING_ALLOCATOR); @@ -137,8 +145,7 @@ static MethodHandle make(MemorySegment symbol, FunctionDescriptor function) { static Class carrier(MemoryLayout layout, boolean ret) { if (layout instanceof ValueLayout valueLayout) { - return (ret || valueLayout.carrier() != MemoryAddress.class) ? - valueLayout.carrier() : Addressable.class; + return valueLayout.carrier(); } else if (layout instanceof GroupLayout) { return MemorySegment.class; } else { @@ -173,7 +180,9 @@ private Object invoke(SegmentAllocator allocator, Object[] args) throws Throwabl FunctionDescriptor.ofVoid(argLayouts) : FunctionDescriptor.of(function.returnLayout().get(), argLayouts); MethodHandle mh = LINKER.downcallHandle(symbol, f); - if (mh.type().returnType() == MemorySegment.class) { + boolean needsAllocator = function.returnLayout().isPresent() && + function.returnLayout().get() instanceof GroupLayout; + if (needsAllocator) { mh = mh.bindTo(allocator); } // flatten argument list so that it can be passed to an asSpreader MH @@ -223,10 +232,7 @@ private Class normalize(Class c) { if (c.isPrimitive()) { return promote(c); } - if (MemoryAddress.class.isAssignableFrom(c)) { - return MemoryAddress.class; - } - if (MemorySegment.class.isAssignableFrom(c)) { + if (c == MemorySegment.class) { return MemorySegment.class; } throw new IllegalArgumentException("Invalid type for ABI: " + c.getTypeName()); @@ -237,7 +243,7 @@ private MemoryLayout variadicLayout(Class c) { return JAVA_LONG; } else if (c == double.class) { return JAVA_DOUBLE; - } else if (MemoryAddress.class.isAssignableFrom(c)) { + } else if (c == MemorySegment.class) { return ADDRESS; } else { throw new IllegalArgumentException("Unhandled variadic argument class: " + c); diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$0.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$0.java index abe5fc822..9e8f22be1 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$0.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$0.java @@ -23,31 +23,67 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$0 { +final class constants$0 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$0() {} static final FunctionDescriptor sdrplay_api_StreamCallback_t$FUNC = FunctionDescriptor.ofVoid( Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_StreamCallback_t$MH = RuntimeHelper.downcallHandle( - constants$0.sdrplay_api_StreamCallback_t$FUNC + static final FunctionDescriptor sdrplay_api_StreamCallback_t_UP$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_StreamCallback_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_StreamCallback_t.class, "apply", constants$0.sdrplay_api_StreamCallback_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_StreamCallback_t_DOWN$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_StreamCallback_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$0.sdrplay_api_StreamCallback_t_DOWN$FUNC ); static final FunctionDescriptor sdrplay_api_EventCallback_t$FUNC = FunctionDescriptor.ofVoid( - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_EventCallback_t_UP$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_EventCallback_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_EventCallback_t.class, "apply", constants$0.sdrplay_api_EventCallback_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_EventCallback_t_DOWN$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_EventCallback_t$MH = RuntimeHelper.downcallHandle( - constants$0.sdrplay_api_EventCallback_t$FUNC + static final MethodHandle sdrplay_api_EventCallback_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$0.sdrplay_api_EventCallback_t_DOWN$FUNC ); - static final FunctionDescriptor sdrplay_api_Open_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_Open_t$MH = RuntimeHelper.downcallHandle( - constants$0.sdrplay_api_Open_t$FUNC + static final FunctionDescriptor sdrplay_api_Open_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_Open_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Open_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Open_t.class, "apply", constants$0.sdrplay_api_Open_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Open_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Open_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$0.sdrplay_api_Open_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$1.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$1.java index 040f4857d..76be23177 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$1.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$1.java @@ -23,21 +23,37 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$1 { - static final FunctionDescriptor sdrplay_api_Close_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_Close_t$MH = RuntimeHelper.downcallHandle( - constants$1.sdrplay_api_Close_t$FUNC +final class constants$1 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$1() {} + static final FunctionDescriptor sdrplay_api_Close_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_Close_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Close_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Close_t.class, "apply", constants$1.sdrplay_api_Close_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Close_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Close_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$1.sdrplay_api_Close_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_ApiVersion_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_ApiVersion_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT ); - static final FunctionDescriptor sdrplay_api_ApiVersion_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_ApiVersion_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_ApiVersion_t.class, "apply", constants$1.sdrplay_api_ApiVersion_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_ApiVersion_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_ApiVersion_t$MH = RuntimeHelper.downcallHandle( - constants$1.sdrplay_api_ApiVersion_t$FUNC + static final MethodHandle sdrplay_api_ApiVersion_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$1.sdrplay_api_ApiVersion_t_DOWN$FUNC ); - static final FunctionDescriptor sdrplay_api_LockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_LockDeviceApi_t$MH = RuntimeHelper.downcallHandle( - constants$1.sdrplay_api_LockDeviceApi_t$FUNC + static final FunctionDescriptor sdrplay_api_LockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_LockDeviceApi_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_LockDeviceApi_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_LockDeviceApi_t.class, "apply", constants$1.sdrplay_api_LockDeviceApi_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_LockDeviceApi_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_LockDeviceApi_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$1.sdrplay_api_LockDeviceApi_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$10.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$10.java index a15f79d54..643d21a4a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$10.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$10.java @@ -23,17 +23,20 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$10 { - static final FunctionDescriptor sdrplay_api_SwapRspDuoMode$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$10 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$10() {} + static final FunctionDescriptor sdrplay_api_SwapRspDuoMode$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, + Constants$root.C_INT$LAYOUT, Constants$root.C_DOUBLE$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); static final MethodHandle sdrplay_api_SwapRspDuoMode$MH = RuntimeHelper.downcallHandle( "sdrplay_api_SwapRspDuoMode", diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$2.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$2.java index f2ac24bf3..c9169c9d2 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$2.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$2.java @@ -23,25 +23,49 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$2 { - static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_UnlockDeviceApi_t$MH = RuntimeHelper.downcallHandle( - constants$2.sdrplay_api_UnlockDeviceApi_t$FUNC +final class constants$2 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$2() {} + static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_UnlockDeviceApi_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_UnlockDeviceApi_t.class, "apply", constants$2.sdrplay_api_UnlockDeviceApi_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_UnlockDeviceApi_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$2.sdrplay_api_UnlockDeviceApi_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_GetDevices_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_GetDevices_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_GetDevices_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_GetDevices_t$MH = RuntimeHelper.downcallHandle( - constants$2.sdrplay_api_GetDevices_t$FUNC + static final MethodHandle sdrplay_api_GetDevices_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetDevices_t.class, "apply", constants$2.sdrplay_api_GetDevices_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetDevices_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_GetDevices_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$2.sdrplay_api_GetDevices_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_SelectDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_SelectDevice_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT ); - static final FunctionDescriptor sdrplay_api_SelectDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_SelectDevice_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SelectDevice_t.class, "apply", constants$2.sdrplay_api_SelectDevice_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SelectDevice_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_SelectDevice_t$MH = RuntimeHelper.downcallHandle( - constants$2.sdrplay_api_SelectDevice_t$FUNC + static final MethodHandle sdrplay_api_SelectDevice_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$2.sdrplay_api_SelectDevice_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$3.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$3.java index d67232faa..3de44f6e5 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$3.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$3.java @@ -23,25 +23,49 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$3 { - static final FunctionDescriptor sdrplay_api_ReleaseDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$3 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$3() {} + static final FunctionDescriptor sdrplay_api_ReleaseDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_ReleaseDevice_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_ReleaseDevice_t$MH = RuntimeHelper.downcallHandle( - constants$3.sdrplay_api_ReleaseDevice_t$FUNC + static final MethodHandle sdrplay_api_ReleaseDevice_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_ReleaseDevice_t.class, "apply", constants$3.sdrplay_api_ReleaseDevice_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_ReleaseDevice_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_ReleaseDevice_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$3.sdrplay_api_ReleaseDevice_t_DOWN$FUNC ); static final FunctionDescriptor sdrplay_api_GetErrorString_t$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_GetErrorString_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_GetErrorString_t$MH = RuntimeHelper.downcallHandle( - constants$3.sdrplay_api_GetErrorString_t$FUNC + static final MethodHandle sdrplay_api_GetErrorString_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetErrorString_t.class, "apply", constants$3.sdrplay_api_GetErrorString_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetErrorString_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_GetErrorString_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$3.sdrplay_api_GetErrorString_t_DOWN$FUNC ); static final FunctionDescriptor sdrplay_api_GetLastError_t$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_GetLastError_t$MH = RuntimeHelper.downcallHandle( - constants$3.sdrplay_api_GetLastError_t$FUNC + static final FunctionDescriptor sdrplay_api_GetLastError_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_GetLastError_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetLastError_t.class, "apply", constants$3.sdrplay_api_GetLastError_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetLastError_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_GetLastError_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$3.sdrplay_api_GetLastError_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$4.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$4.java index 9d9cf5c3c..5c7575d8d 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$4.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$4.java @@ -23,25 +23,49 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$4 { - static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_DisableHeartbeat_t$MH = RuntimeHelper.downcallHandle( - constants$4.sdrplay_api_DisableHeartbeat_t$FUNC +final class constants$4 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$4() {} + static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_DisableHeartbeat_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_DisableHeartbeat_t.class, "apply", constants$4.sdrplay_api_DisableHeartbeat_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_DisableHeartbeat_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$4.sdrplay_api_DisableHeartbeat_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_DebugEnable_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_DebugEnable_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_DebugEnable_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_DebugEnable_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_DebugEnable_t.class, "apply", constants$4.sdrplay_api_DebugEnable_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_DebugEnable_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_DebugEnable_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$4.sdrplay_api_DebugEnable_t_DOWN$FUNC ); - static final MethodHandle sdrplay_api_DebugEnable_t$MH = RuntimeHelper.downcallHandle( - constants$4.sdrplay_api_DebugEnable_t$FUNC + static final FunctionDescriptor sdrplay_api_GetDeviceParams_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_GetDeviceParams_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT ); - static final FunctionDescriptor sdrplay_api_GetDeviceParams_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_GetDeviceParams_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetDeviceParams_t.class, "apply", constants$4.sdrplay_api_GetDeviceParams_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetDeviceParams_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_GetDeviceParams_t$MH = RuntimeHelper.downcallHandle( - constants$4.sdrplay_api_GetDeviceParams_t$FUNC + static final MethodHandle sdrplay_api_GetDeviceParams_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$4.sdrplay_api_GetDeviceParams_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$5.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$5.java index cd3d900e1..80bdf67f4 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$5.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$5.java @@ -23,30 +23,64 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$5 { - static final FunctionDescriptor sdrplay_api_Init_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$5 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$5() {} + static final FunctionDescriptor sdrplay_api_Init_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_Init_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_Init_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Init_t.class, "apply", constants$5.sdrplay_api_Init_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Init_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_Init_t$MH = RuntimeHelper.downcallHandle( - constants$5.sdrplay_api_Init_t$FUNC + static final MethodHandle sdrplay_api_Init_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$5.sdrplay_api_Init_t_DOWN$FUNC ); - static final FunctionDescriptor sdrplay_api_Uninit_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_Uninit_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_Uninit_t$MH = RuntimeHelper.downcallHandle( - constants$5.sdrplay_api_Uninit_t$FUNC + static final FunctionDescriptor sdrplay_api_Uninit_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_Uninit_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Uninit_t.class, "apply", constants$5.sdrplay_api_Uninit_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Uninit_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_Uninit_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$5.sdrplay_api_Uninit_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_Update_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_Update_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_Update_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_Update_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Update_t.class, "apply", constants$5.sdrplay_api_Update_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Update_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_Update_t$MH = RuntimeHelper.downcallHandle( - constants$5.sdrplay_api_Update_t$FUNC + static final MethodHandle sdrplay_api_Update_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$5.sdrplay_api_Update_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$6.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$6.java index 490dc0cc8..7c97f565a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$6.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$6.java @@ -23,34 +23,76 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$6 { - static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$6 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$6() {} + static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SwapRspDuoActiveTuner_t.class, "apply", constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner_t$MH = RuntimeHelper.downcallHandle( - constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$FUNC + static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$FUNC ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$MH = RuntimeHelper.downcallHandle( - constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC + static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.class, "apply", constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_DOUBLE$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_DOUBLE$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_SwapRspDuoMode_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SwapRspDuoMode_t.class, "apply", constants$6.sdrplay_api_SwapRspDuoMode_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, + Constants$root.C_INT$LAYOUT, Constants$root.C_DOUBLE$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_SwapRspDuoMode_t$MH = RuntimeHelper.downcallHandle( - constants$6.sdrplay_api_SwapRspDuoMode_t$FUNC + static final MethodHandle sdrplay_api_SwapRspDuoMode_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$6.sdrplay_api_SwapRspDuoMode_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$7.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$7.java index f95fbddb9..e57dc7314 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$7.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$7.java @@ -23,39 +23,42 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$7 { - static final FunctionDescriptor sdrplay_api_Open$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); +final class constants$7 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$7() {} + static final FunctionDescriptor sdrplay_api_Open$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); static final MethodHandle sdrplay_api_Open$MH = RuntimeHelper.downcallHandle( "sdrplay_api_Open", constants$7.sdrplay_api_Open$FUNC ); - static final FunctionDescriptor sdrplay_api_Close$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); + static final FunctionDescriptor sdrplay_api_Close$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); static final MethodHandle sdrplay_api_Close$MH = RuntimeHelper.downcallHandle( "sdrplay_api_Close", constants$7.sdrplay_api_Close$FUNC ); - static final FunctionDescriptor sdrplay_api_ApiVersion$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_ApiVersion$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); static final MethodHandle sdrplay_api_ApiVersion$MH = RuntimeHelper.downcallHandle( "sdrplay_api_ApiVersion", constants$7.sdrplay_api_ApiVersion$FUNC ); - static final FunctionDescriptor sdrplay_api_LockDeviceApi$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); + static final FunctionDescriptor sdrplay_api_LockDeviceApi$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); static final MethodHandle sdrplay_api_LockDeviceApi$MH = RuntimeHelper.downcallHandle( "sdrplay_api_LockDeviceApi", constants$7.sdrplay_api_LockDeviceApi$FUNC ); - static final FunctionDescriptor sdrplay_api_UnlockDeviceApi$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); + static final FunctionDescriptor sdrplay_api_UnlockDeviceApi$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); static final MethodHandle sdrplay_api_UnlockDeviceApi$MH = RuntimeHelper.downcallHandle( "sdrplay_api_UnlockDeviceApi", constants$7.sdrplay_api_UnlockDeviceApi$FUNC ); - static final FunctionDescriptor sdrplay_api_GetDevices$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_GetDevices$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); static final MethodHandle sdrplay_api_GetDevices$MH = RuntimeHelper.downcallHandle( "sdrplay_api_GetDevices", diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$8.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$8.java index 6adbdcaef..63590973c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$8.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$8.java @@ -23,16 +23,19 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$8 { - static final FunctionDescriptor sdrplay_api_SelectDevice$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$8 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$8() {} + static final FunctionDescriptor sdrplay_api_SelectDevice$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); static final MethodHandle sdrplay_api_SelectDevice$MH = RuntimeHelper.downcallHandle( "sdrplay_api_SelectDevice", constants$8.sdrplay_api_SelectDevice$FUNC ); - static final FunctionDescriptor sdrplay_api_ReleaseDevice$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_ReleaseDevice$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); static final MethodHandle sdrplay_api_ReleaseDevice$MH = RuntimeHelper.downcallHandle( @@ -40,7 +43,7 @@ class constants$8 { constants$8.sdrplay_api_ReleaseDevice$FUNC ); static final FunctionDescriptor sdrplay_api_GetErrorString$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); static final MethodHandle sdrplay_api_GetErrorString$MH = RuntimeHelper.downcallHandle( "sdrplay_api_GetErrorString", @@ -53,14 +56,14 @@ class constants$8 { "sdrplay_api_GetLastError", constants$8.sdrplay_api_GetLastError$FUNC ); - static final FunctionDescriptor sdrplay_api_DisableHeartbeat$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); + static final FunctionDescriptor sdrplay_api_DisableHeartbeat$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); static final MethodHandle sdrplay_api_DisableHeartbeat$MH = RuntimeHelper.downcallHandle( "sdrplay_api_DisableHeartbeat", constants$8.sdrplay_api_DisableHeartbeat$FUNC ); - static final FunctionDescriptor sdrplay_api_DebugEnable$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_DebugEnable$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); static final MethodHandle sdrplay_api_DebugEnable$MH = RuntimeHelper.downcallHandle( "sdrplay_api_DebugEnable", diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$9.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$9.java index 876736b8d..6d3108371 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$9.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/constants$9.java @@ -23,9 +23,12 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$9 { - static final FunctionDescriptor sdrplay_api_GetDeviceParams$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$9 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$9() {} + static final FunctionDescriptor sdrplay_api_GetDeviceParams$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); @@ -33,7 +36,7 @@ class constants$9 { "sdrplay_api_GetDeviceParams", constants$9.sdrplay_api_GetDeviceParams$FUNC ); - static final FunctionDescriptor sdrplay_api_Init$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_Init$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT @@ -42,33 +45,33 @@ class constants$9 { "sdrplay_api_Init", constants$9.sdrplay_api_Init$FUNC ); - static final FunctionDescriptor sdrplay_api_Uninit$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_Uninit$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); static final MethodHandle sdrplay_api_Uninit$MH = RuntimeHelper.downcallHandle( "sdrplay_api_Uninit", constants$9.sdrplay_api_Uninit$FUNC ); - static final FunctionDescriptor sdrplay_api_Update$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_Update$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); static final MethodHandle sdrplay_api_Update$MH = RuntimeHelper.downcallHandle( "sdrplay_api_Update", constants$9.sdrplay_api_Update$FUNC ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner$MH = RuntimeHelper.downcallHandle( "sdrplay_api_SwapRspDuoActiveTuner", constants$9.sdrplay_api_SwapRspDuoActiveTuner$FUNC ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_AgcT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_AgcT.java index 35e669ed5..bc79d8e8f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_AgcT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_AgcT.java @@ -21,23 +21,36 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_AgcControlT enable; + * int setPoint_dBfs; + * unsigned short attack_ms; + * unsigned short decay_ms; + * unsigned short decay_delay_ms; + * unsigned short decay_threshold_dB; + * int syncUpdate; + * }; + * } + */ public class sdrplay_api_AgcT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("enable"), - Constants$root.C_LONG$LAYOUT.withName("setPoint_dBfs"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("enable"), + Constants$root.C_INT$LAYOUT.withName("setPoint_dBfs"), Constants$root.C_SHORT$LAYOUT.withName("attack_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_delay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_threshold_dB"), - Constants$root.C_LONG$LAYOUT.withName("syncUpdate") + Constants$root.C_INT$LAYOUT.withName("syncUpdate") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_AgcT.$struct$LAYOUT; @@ -46,10 +59,22 @@ public class sdrplay_api_AgcT { public static VarHandle enable$VH() { return sdrplay_api_AgcT.enable$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_AgcControlT enable; + * } + */ public static int enable$get(MemorySegment seg) { return (int)sdrplay_api_AgcT.enable$VH.get(seg); } - public static void enable$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_AgcControlT enable; + * } + */ + public static void enable$set(MemorySegment seg, int x) { sdrplay_api_AgcT.enable$VH.set(seg, x); } public static int enable$get(MemorySegment seg, long index) { @@ -62,10 +87,22 @@ public class sdrplay_api_AgcT { public static VarHandle setPoint_dBfs$VH() { return sdrplay_api_AgcT.setPoint_dBfs$VH; } + /** + * Getter for field: + * {@snippet : + * int setPoint_dBfs; + * } + */ public static int setPoint_dBfs$get(MemorySegment seg) { return (int)sdrplay_api_AgcT.setPoint_dBfs$VH.get(seg); } - public static void setPoint_dBfs$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int setPoint_dBfs; + * } + */ + public static void setPoint_dBfs$set(MemorySegment seg, int x) { sdrplay_api_AgcT.setPoint_dBfs$VH.set(seg, x); } public static int setPoint_dBfs$get(MemorySegment seg, long index) { @@ -78,10 +115,22 @@ public class sdrplay_api_AgcT { public static VarHandle attack_ms$VH() { return sdrplay_api_AgcT.attack_ms$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short attack_ms; + * } + */ public static short attack_ms$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.attack_ms$VH.get(seg); } - public static void attack_ms$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short attack_ms; + * } + */ + public static void attack_ms$set(MemorySegment seg, short x) { sdrplay_api_AgcT.attack_ms$VH.set(seg, x); } public static short attack_ms$get(MemorySegment seg, long index) { @@ -94,10 +143,22 @@ public class sdrplay_api_AgcT { public static VarHandle decay_ms$VH() { return sdrplay_api_AgcT.decay_ms$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short decay_ms; + * } + */ public static short decay_ms$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.decay_ms$VH.get(seg); } - public static void decay_ms$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short decay_ms; + * } + */ + public static void decay_ms$set(MemorySegment seg, short x) { sdrplay_api_AgcT.decay_ms$VH.set(seg, x); } public static short decay_ms$get(MemorySegment seg, long index) { @@ -110,10 +171,22 @@ public class sdrplay_api_AgcT { public static VarHandle decay_delay_ms$VH() { return sdrplay_api_AgcT.decay_delay_ms$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short decay_delay_ms; + * } + */ public static short decay_delay_ms$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.decay_delay_ms$VH.get(seg); } - public static void decay_delay_ms$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short decay_delay_ms; + * } + */ + public static void decay_delay_ms$set(MemorySegment seg, short x) { sdrplay_api_AgcT.decay_delay_ms$VH.set(seg, x); } public static short decay_delay_ms$get(MemorySegment seg, long index) { @@ -126,10 +199,22 @@ public class sdrplay_api_AgcT { public static VarHandle decay_threshold_dB$VH() { return sdrplay_api_AgcT.decay_threshold_dB$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short decay_threshold_dB; + * } + */ public static short decay_threshold_dB$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.decay_threshold_dB$VH.get(seg); } - public static void decay_threshold_dB$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short decay_threshold_dB; + * } + */ + public static void decay_threshold_dB$set(MemorySegment seg, short x) { sdrplay_api_AgcT.decay_threshold_dB$VH.set(seg, x); } public static short decay_threshold_dB$get(MemorySegment seg, long index) { @@ -142,10 +227,22 @@ public class sdrplay_api_AgcT { public static VarHandle syncUpdate$VH() { return sdrplay_api_AgcT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * int syncUpdate; + * } + */ public static int syncUpdate$get(MemorySegment seg) { return (int)sdrplay_api_AgcT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, int x) { sdrplay_api_AgcT.syncUpdate$VH.set(seg, x); } public static int syncUpdate$get(MemorySegment seg, long index) { @@ -156,10 +253,10 @@ public class sdrplay_api_AgcT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ApiVersion_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ApiVersion_t.java index 344be5892..d378d6cbb 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ApiVersion_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ApiVersion_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_ApiVersion_t)(float* apiVer); + * } + */ public interface sdrplay_api_ApiVersion_t { - int apply(java.lang.foreign.MemoryAddress apiVer); - static MemorySegment allocate(sdrplay_api_ApiVersion_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_ApiVersion_t.class, fi, constants$1.sdrplay_api_ApiVersion_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currentSampleRate); + static MemorySegment allocate(sdrplay_api_ApiVersion_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$1.sdrplay_api_ApiVersion_t_UP$MH, fi, constants$1.sdrplay_api_ApiVersion_t$FUNC, scope); } - static sdrplay_api_ApiVersion_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _apiVer) -> { + static sdrplay_api_ApiVersion_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currentSampleRate) -> { try { - return (int)constants$1.sdrplay_api_ApiVersion_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_apiVer); + return (int)constants$1.sdrplay_api_ApiVersion_t_DOWN$MH.invokeExact(symbol, _currentSampleRate); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_CallbackFnsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_CallbackFnsT.java index fd2bf045f..341af08d8 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_CallbackFnsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_CallbackFnsT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_StreamCallback_t StreamACbFn; + * sdrplay_api_StreamCallback_t StreamBCbFn; + * sdrplay_api_EventCallback_t EventCbFn; + * }; + * } + */ public class sdrplay_api_CallbackFnsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_POINTER$LAYOUT.withName("StreamACbFn"), Constants$root.C_POINTER$LAYOUT.withName("StreamBCbFn"), Constants$root.C_POINTER$LAYOUT.withName("EventCbFn") @@ -42,65 +51,101 @@ public class sdrplay_api_CallbackFnsT { public static VarHandle StreamACbFn$VH() { return sdrplay_api_CallbackFnsT.StreamACbFn$VH; } - public static MemoryAddress StreamACbFn$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg); - } - public static void StreamACbFn$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamACbFn; + * } + */ + public static MemorySegment StreamACbFn$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamACbFn; + * } + */ + public static void StreamACbFn$set(MemorySegment seg, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamACbFn$VH.set(seg, x); } - public static MemoryAddress StreamACbFn$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment StreamACbFn$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg.asSlice(index*sizeof())); } - public static void StreamACbFn$set(MemorySegment seg, long index, MemoryAddress x) { + public static void StreamACbFn$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamACbFn$VH.set(seg.asSlice(index*sizeof()), x); } - public static sdrplay_api_StreamCallback_t StreamACbFn (MemorySegment segment, MemorySession session) { - return sdrplay_api_StreamCallback_t.ofAddress(StreamACbFn$get(segment), session); + public static sdrplay_api_StreamCallback_t StreamACbFn(MemorySegment segment, SegmentScope scope) { + return sdrplay_api_StreamCallback_t.ofAddress(StreamACbFn$get(segment), scope); } static final VarHandle StreamBCbFn$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("StreamBCbFn")); public static VarHandle StreamBCbFn$VH() { return sdrplay_api_CallbackFnsT.StreamBCbFn$VH; } - public static MemoryAddress StreamBCbFn$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg); - } - public static void StreamBCbFn$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamBCbFn; + * } + */ + public static MemorySegment StreamBCbFn$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamBCbFn; + * } + */ + public static void StreamBCbFn$set(MemorySegment seg, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamBCbFn$VH.set(seg, x); } - public static MemoryAddress StreamBCbFn$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment StreamBCbFn$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg.asSlice(index*sizeof())); } - public static void StreamBCbFn$set(MemorySegment seg, long index, MemoryAddress x) { + public static void StreamBCbFn$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamBCbFn$VH.set(seg.asSlice(index*sizeof()), x); } - public static sdrplay_api_StreamCallback_t StreamBCbFn (MemorySegment segment, MemorySession session) { - return sdrplay_api_StreamCallback_t.ofAddress(StreamBCbFn$get(segment), session); + public static sdrplay_api_StreamCallback_t StreamBCbFn(MemorySegment segment, SegmentScope scope) { + return sdrplay_api_StreamCallback_t.ofAddress(StreamBCbFn$get(segment), scope); } static final VarHandle EventCbFn$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("EventCbFn")); public static VarHandle EventCbFn$VH() { return sdrplay_api_CallbackFnsT.EventCbFn$VH; } - public static MemoryAddress EventCbFn$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg); - } - public static void EventCbFn$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_EventCallback_t EventCbFn; + * } + */ + public static MemorySegment EventCbFn$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_EventCallback_t EventCbFn; + * } + */ + public static void EventCbFn$set(MemorySegment seg, MemorySegment x) { sdrplay_api_CallbackFnsT.EventCbFn$VH.set(seg, x); } - public static MemoryAddress EventCbFn$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment EventCbFn$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg.asSlice(index*sizeof())); } - public static void EventCbFn$set(MemorySegment seg, long index, MemoryAddress x) { + public static void EventCbFn$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_CallbackFnsT.EventCbFn$VH.set(seg.asSlice(index*sizeof()), x); } - public static sdrplay_api_EventCallback_t EventCbFn (MemorySegment segment, MemorySession session) { - return sdrplay_api_EventCallback_t.ofAddress(EventCbFn$get(segment), session); + public static sdrplay_api_EventCallback_t EventCbFn(MemorySegment segment, SegmentScope scope) { + return sdrplay_api_EventCallback_t.ofAddress(EventCbFn$get(segment), scope); } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Close_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Close_t.java index 660ffcd01..f4e9feb85 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Close_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Close_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_Close_t)(); + * } + */ public interface sdrplay_api_Close_t { int apply(); - static MemorySegment allocate(sdrplay_api_Close_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Close_t.class, fi, constants$1.sdrplay_api_Close_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_Close_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$1.sdrplay_api_Close_t_UP$MH, fi, constants$1.sdrplay_api_Close_t$FUNC, scope); } - static sdrplay_api_Close_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_Close_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$1.sdrplay_api_Close_t$MH.invokeExact((Addressable)symbol); + return (int)constants$1.sdrplay_api_Close_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ControlParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ControlParamsT.java index cdd686d7a..9e52f1e51 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ControlParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ControlParamsT.java @@ -21,16 +21,26 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_DcOffsetT dcOffset; + * sdrplay_api_DecimationT decimation; + * sdrplay_api_AgcT agc; + * sdrplay_api_AdsbModeT adsbMode; + * }; + * } + */ public class sdrplay_api_ControlParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("DCenable"), Constants$root.C_CHAR$LAYOUT.withName("IQenable") @@ -42,15 +52,15 @@ public class sdrplay_api_ControlParamsT { ).withName("decimation"), MemoryLayout.paddingLayout(24), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("enable"), - Constants$root.C_LONG$LAYOUT.withName("setPoint_dBfs"), + Constants$root.C_INT$LAYOUT.withName("enable"), + Constants$root.C_INT$LAYOUT.withName("setPoint_dBfs"), Constants$root.C_SHORT$LAYOUT.withName("attack_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_delay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_threshold_dB"), - Constants$root.C_LONG$LAYOUT.withName("syncUpdate") + Constants$root.C_INT$LAYOUT.withName("syncUpdate") ).withName("agc"), - Constants$root.C_LONG$LAYOUT.withName("adsbMode") + Constants$root.C_INT$LAYOUT.withName("adsbMode") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_ControlParamsT.$struct$LAYOUT; @@ -68,10 +78,22 @@ public class sdrplay_api_ControlParamsT { public static VarHandle adsbMode$VH() { return sdrplay_api_ControlParamsT.adsbMode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_AdsbModeT adsbMode; + * } + */ public static int adsbMode$get(MemorySegment seg) { return (int)sdrplay_api_ControlParamsT.adsbMode$VH.get(seg); } - public static void adsbMode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_AdsbModeT adsbMode; + * } + */ + public static void adsbMode$set(MemorySegment seg, int x) { sdrplay_api_ControlParamsT.adsbMode$VH.set(seg, x); } public static int adsbMode$get(MemorySegment seg, long index) { @@ -82,10 +104,10 @@ public class sdrplay_api_ControlParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetT.java index f7b10524f..07d4eb512 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetT.java @@ -21,16 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char DCenable; + * unsigned char IQenable; + * }; + * } + */ public class sdrplay_api_DcOffsetT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("DCenable"), Constants$root.C_CHAR$LAYOUT.withName("IQenable") ); @@ -41,10 +49,22 @@ public class sdrplay_api_DcOffsetT { public static VarHandle DCenable$VH() { return sdrplay_api_DcOffsetT.DCenable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char DCenable; + * } + */ public static byte DCenable$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetT.DCenable$VH.get(seg); } - public static void DCenable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char DCenable; + * } + */ + public static void DCenable$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetT.DCenable$VH.set(seg, x); } public static byte DCenable$get(MemorySegment seg, long index) { @@ -57,10 +77,22 @@ public class sdrplay_api_DcOffsetT { public static VarHandle IQenable$VH() { return sdrplay_api_DcOffsetT.IQenable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char IQenable; + * } + */ public static byte IQenable$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetT.IQenable$VH.get(seg); } - public static void IQenable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char IQenable; + * } + */ + public static void IQenable$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetT.IQenable$VH.set(seg, x); } public static byte IQenable$get(MemorySegment seg, long index) { @@ -71,10 +103,10 @@ public class sdrplay_api_DcOffsetT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetTunerT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetTunerT.java index f93e5df5e..842a7d433 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetTunerT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DcOffsetTunerT.java @@ -21,21 +21,31 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char dcCal; + * unsigned char speedUp; + * int trackTime; + * int refreshRateTime; + * }; + * } + */ public class sdrplay_api_DcOffsetTunerT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("dcCal"), Constants$root.C_CHAR$LAYOUT.withName("speedUp"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("trackTime"), - Constants$root.C_LONG$LAYOUT.withName("refreshRateTime") + Constants$root.C_INT$LAYOUT.withName("trackTime"), + Constants$root.C_INT$LAYOUT.withName("refreshRateTime") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_DcOffsetTunerT.$struct$LAYOUT; @@ -44,10 +54,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle dcCal$VH() { return sdrplay_api_DcOffsetTunerT.dcCal$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char dcCal; + * } + */ public static byte dcCal$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetTunerT.dcCal$VH.get(seg); } - public static void dcCal$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char dcCal; + * } + */ + public static void dcCal$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetTunerT.dcCal$VH.set(seg, x); } public static byte dcCal$get(MemorySegment seg, long index) { @@ -60,10 +82,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle speedUp$VH() { return sdrplay_api_DcOffsetTunerT.speedUp$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char speedUp; + * } + */ public static byte speedUp$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetTunerT.speedUp$VH.get(seg); } - public static void speedUp$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char speedUp; + * } + */ + public static void speedUp$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetTunerT.speedUp$VH.set(seg, x); } public static byte speedUp$get(MemorySegment seg, long index) { @@ -76,10 +110,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle trackTime$VH() { return sdrplay_api_DcOffsetTunerT.trackTime$VH; } + /** + * Getter for field: + * {@snippet : + * int trackTime; + * } + */ public static int trackTime$get(MemorySegment seg) { return (int)sdrplay_api_DcOffsetTunerT.trackTime$VH.get(seg); } - public static void trackTime$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int trackTime; + * } + */ + public static void trackTime$set(MemorySegment seg, int x) { sdrplay_api_DcOffsetTunerT.trackTime$VH.set(seg, x); } public static int trackTime$get(MemorySegment seg, long index) { @@ -92,10 +138,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle refreshRateTime$VH() { return sdrplay_api_DcOffsetTunerT.refreshRateTime$VH; } + /** + * Getter for field: + * {@snippet : + * int refreshRateTime; + * } + */ public static int refreshRateTime$get(MemorySegment seg) { return (int)sdrplay_api_DcOffsetTunerT.refreshRateTime$VH.get(seg); } - public static void refreshRateTime$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int refreshRateTime; + * } + */ + public static void refreshRateTime$set(MemorySegment seg, int x) { sdrplay_api_DcOffsetTunerT.refreshRateTime$VH.set(seg, x); } public static int refreshRateTime$get(MemorySegment seg, long index) { @@ -106,10 +164,10 @@ public class sdrplay_api_DcOffsetTunerT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DebugEnable_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DebugEnable_t.java index 1abffadd9..727fe05d5 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DebugEnable_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DebugEnable_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_DebugEnable_t)(void* dev,enum dbgLvl); + * } + */ public interface sdrplay_api_DebugEnable_t { - int apply(java.lang.foreign.MemoryAddress dev, int dbgLvl); - static MemorySegment allocate(sdrplay_api_DebugEnable_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_DebugEnable_t.class, fi, constants$4.sdrplay_api_DebugEnable_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, int dbgLvl); + static MemorySegment allocate(sdrplay_api_DebugEnable_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$4.sdrplay_api_DebugEnable_t_UP$MH, fi, constants$4.sdrplay_api_DebugEnable_t$FUNC, scope); } - static sdrplay_api_DebugEnable_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, int _dbgLvl) -> { + static sdrplay_api_DebugEnable_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, int _dbgLvl) -> { try { - return (int)constants$4.sdrplay_api_DebugEnable_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, _dbgLvl); + return (int)constants$4.sdrplay_api_DebugEnable_t_DOWN$MH.invokeExact(symbol, _dev, _dbgLvl); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DecimationT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DecimationT.java index 96c3ba429..86c7e78bf 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DecimationT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DecimationT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char enable; + * unsigned char decimationFactor; + * unsigned char wideBandSignal; + * }; + * } + */ public class sdrplay_api_DecimationT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("enable"), Constants$root.C_CHAR$LAYOUT.withName("decimationFactor"), Constants$root.C_CHAR$LAYOUT.withName("wideBandSignal") @@ -42,10 +51,22 @@ public class sdrplay_api_DecimationT { public static VarHandle enable$VH() { return sdrplay_api_DecimationT.enable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char enable; + * } + */ public static byte enable$get(MemorySegment seg) { return (byte)sdrplay_api_DecimationT.enable$VH.get(seg); } - public static void enable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char enable; + * } + */ + public static void enable$set(MemorySegment seg, byte x) { sdrplay_api_DecimationT.enable$VH.set(seg, x); } public static byte enable$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_DecimationT { public static VarHandle decimationFactor$VH() { return sdrplay_api_DecimationT.decimationFactor$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char decimationFactor; + * } + */ public static byte decimationFactor$get(MemorySegment seg) { return (byte)sdrplay_api_DecimationT.decimationFactor$VH.get(seg); } - public static void decimationFactor$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char decimationFactor; + * } + */ + public static void decimationFactor$set(MemorySegment seg, byte x) { sdrplay_api_DecimationT.decimationFactor$VH.set(seg, x); } public static byte decimationFactor$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_DecimationT { public static VarHandle wideBandSignal$VH() { return sdrplay_api_DecimationT.wideBandSignal$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char wideBandSignal; + * } + */ public static byte wideBandSignal$get(MemorySegment seg) { return (byte)sdrplay_api_DecimationT.wideBandSignal$VH.get(seg); } - public static void wideBandSignal$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char wideBandSignal; + * } + */ + public static void wideBandSignal$set(MemorySegment seg, byte x) { sdrplay_api_DecimationT.wideBandSignal$VH.set(seg, x); } public static byte wideBandSignal$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_DecimationT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DevParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DevParamsT.java index 9ce2c8018..83ffe2fd2 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DevParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DevParamsT.java @@ -21,16 +21,32 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * double ppm; + * sdrplay_api_FsFreqT fsFreq; + * sdrplay_api_SyncUpdateT syncUpdate; + * sdrplay_api_ResetFlagsT resetFlags; + * sdrplay_api_TransferModeT mode; + * unsigned int samplesPerPkt; + * sdrplay_api_Rsp1aParamsT rsp1aParams; + * sdrplay_api_Rsp2ParamsT rsp2Params; + * sdrplay_api_RspDuoParamsT rspDuoParams; + * sdrplay_api_RspDxParamsT rspDxParams; + * }; + * } + */ public class sdrplay_api_DevParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("ppm"), MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("fsHz"), @@ -39,8 +55,8 @@ public class sdrplay_api_DevParamsT { MemoryLayout.paddingLayout(48) ).withName("fsFreq"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("sampleNum"), - Constants$root.C_LONG$LAYOUT.withName("period") + Constants$root.C_INT$LAYOUT.withName("sampleNum"), + Constants$root.C_INT$LAYOUT.withName("period") ).withName("syncUpdate"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("resetGainUpdate"), @@ -48,8 +64,8 @@ public class sdrplay_api_DevParamsT { Constants$root.C_CHAR$LAYOUT.withName("resetFsUpdate") ).withName("resetFlags"), MemoryLayout.paddingLayout(8), - Constants$root.C_LONG$LAYOUT.withName("mode"), - Constants$root.C_LONG$LAYOUT.withName("samplesPerPkt"), + Constants$root.C_INT$LAYOUT.withName("mode"), + Constants$root.C_INT$LAYOUT.withName("samplesPerPkt"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable") @@ -59,13 +75,13 @@ public class sdrplay_api_DevParamsT { ).withName("rsp2Params"), MemoryLayout.paddingLayout(8), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("extRefOutputEn") + Constants$root.C_INT$LAYOUT.withName("extRefOutputEn") ).withName("rspDuoParams"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("hdrEnable"), Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), MemoryLayout.paddingLayout(16) @@ -78,10 +94,22 @@ public class sdrplay_api_DevParamsT { public static VarHandle ppm$VH() { return sdrplay_api_DevParamsT.ppm$VH; } + /** + * Getter for field: + * {@snippet : + * double ppm; + * } + */ public static double ppm$get(MemorySegment seg) { return (double)sdrplay_api_DevParamsT.ppm$VH.get(seg); } - public static void ppm$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double ppm; + * } + */ + public static void ppm$set(MemorySegment seg, double x) { sdrplay_api_DevParamsT.ppm$VH.set(seg, x); } public static double ppm$get(MemorySegment seg, long index) { @@ -103,10 +131,22 @@ public class sdrplay_api_DevParamsT { public static VarHandle mode$VH() { return sdrplay_api_DevParamsT.mode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_TransferModeT mode; + * } + */ public static int mode$get(MemorySegment seg) { return (int)sdrplay_api_DevParamsT.mode$VH.get(seg); } - public static void mode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_TransferModeT mode; + * } + */ + public static void mode$set(MemorySegment seg, int x) { sdrplay_api_DevParamsT.mode$VH.set(seg, x); } public static int mode$get(MemorySegment seg, long index) { @@ -119,10 +159,22 @@ public class sdrplay_api_DevParamsT { public static VarHandle samplesPerPkt$VH() { return sdrplay_api_DevParamsT.samplesPerPkt$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int samplesPerPkt; + * } + */ public static int samplesPerPkt$get(MemorySegment seg) { return (int)sdrplay_api_DevParamsT.samplesPerPkt$VH.get(seg); } - public static void samplesPerPkt$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int samplesPerPkt; + * } + */ + public static void samplesPerPkt$set(MemorySegment seg, int x) { sdrplay_api_DevParamsT.samplesPerPkt$VH.set(seg, x); } public static int samplesPerPkt$get(MemorySegment seg, long index) { @@ -145,10 +197,10 @@ public class sdrplay_api_DevParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceParamsT.java index 1f39f7dde..f9e872f5e 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceParamsT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_DevParamsT* devParams; + * sdrplay_api_RxChannelParamsT* rxChannelA; + * sdrplay_api_RxChannelParamsT* rxChannelB; + * }; + * } + */ public class sdrplay_api_DeviceParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_POINTER$LAYOUT.withName("devParams"), Constants$root.C_POINTER$LAYOUT.withName("rxChannelA"), Constants$root.C_POINTER$LAYOUT.withName("rxChannelB") @@ -42,56 +51,92 @@ public class sdrplay_api_DeviceParamsT { public static VarHandle devParams$VH() { return sdrplay_api_DeviceParamsT.devParams$VH; } - public static MemoryAddress devParams$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.devParams$VH.get(seg); - } - public static void devParams$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_DevParamsT* devParams; + * } + */ + public static MemorySegment devParams$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.devParams$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_DevParamsT* devParams; + * } + */ + public static void devParams$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceParamsT.devParams$VH.set(seg, x); } - public static MemoryAddress devParams$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.devParams$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment devParams$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.devParams$VH.get(seg.asSlice(index*sizeof())); } - public static void devParams$set(MemorySegment seg, long index, MemoryAddress x) { + public static void devParams$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceParamsT.devParams$VH.set(seg.asSlice(index*sizeof()), x); } static final VarHandle rxChannelA$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("rxChannelA")); public static VarHandle rxChannelA$VH() { return sdrplay_api_DeviceParamsT.rxChannelA$VH; } - public static MemoryAddress rxChannelA$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg); - } - public static void rxChannelA$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelA; + * } + */ + public static MemorySegment rxChannelA$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelA; + * } + */ + public static void rxChannelA$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelA$VH.set(seg, x); } - public static MemoryAddress rxChannelA$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment rxChannelA$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg.asSlice(index*sizeof())); } - public static void rxChannelA$set(MemorySegment seg, long index, MemoryAddress x) { + public static void rxChannelA$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelA$VH.set(seg.asSlice(index*sizeof()), x); } static final VarHandle rxChannelB$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("rxChannelB")); public static VarHandle rxChannelB$VH() { return sdrplay_api_DeviceParamsT.rxChannelB$VH; } - public static MemoryAddress rxChannelB$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg); - } - public static void rxChannelB$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelB; + * } + */ + public static MemorySegment rxChannelB$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelB; + * } + */ + public static void rxChannelB$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelB$VH.set(seg, x); } - public static MemoryAddress rxChannelB$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment rxChannelB$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg.asSlice(index*sizeof())); } - public static void rxChannelB$set(MemorySegment seg, long index, MemoryAddress x) { + public static void rxChannelB$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelB$VH.set(seg.asSlice(index*sizeof()), x); } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceT.java index 5be5a5c7c..a4d68f06f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DeviceT.java @@ -21,21 +21,33 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * char SerNo[64]; + * unsigned char hwVer; + * sdrplay_api_TunerSelectT tuner; + * sdrplay_api_RspDuoModeT rspDuoMode; + * double rspDuoSampleFreq; + * HANDLE dev; + * }; + * } + */ public class sdrplay_api_DeviceT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.sequenceLayout(64, Constants$root.C_CHAR$LAYOUT).withName("SerNo"), Constants$root.C_CHAR$LAYOUT.withName("hwVer"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("tuner"), - Constants$root.C_LONG$LAYOUT.withName("rspDuoMode"), + Constants$root.C_INT$LAYOUT.withName("tuner"), + Constants$root.C_INT$LAYOUT.withName("rspDuoMode"), MemoryLayout.paddingLayout(32), Constants$root.C_DOUBLE$LAYOUT.withName("rspDuoSampleFreq"), Constants$root.C_POINTER$LAYOUT.withName("dev") @@ -50,10 +62,22 @@ public class sdrplay_api_DeviceT { public static VarHandle hwVer$VH() { return sdrplay_api_DeviceT.hwVer$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char hwVer; + * } + */ public static byte hwVer$get(MemorySegment seg) { return (byte)sdrplay_api_DeviceT.hwVer$VH.get(seg); } - public static void hwVer$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char hwVer; + * } + */ + public static void hwVer$set(MemorySegment seg, byte x) { sdrplay_api_DeviceT.hwVer$VH.set(seg, x); } public static byte hwVer$get(MemorySegment seg, long index) { @@ -66,10 +90,22 @@ public class sdrplay_api_DeviceT { public static VarHandle tuner$VH() { return sdrplay_api_DeviceT.tuner$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_TunerSelectT tuner; + * } + */ public static int tuner$get(MemorySegment seg) { return (int)sdrplay_api_DeviceT.tuner$VH.get(seg); } - public static void tuner$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_TunerSelectT tuner; + * } + */ + public static void tuner$set(MemorySegment seg, int x) { sdrplay_api_DeviceT.tuner$VH.set(seg, x); } public static int tuner$get(MemorySegment seg, long index) { @@ -82,10 +118,22 @@ public class sdrplay_api_DeviceT { public static VarHandle rspDuoMode$VH() { return sdrplay_api_DeviceT.rspDuoMode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDuoModeT rspDuoMode; + * } + */ public static int rspDuoMode$get(MemorySegment seg) { return (int)sdrplay_api_DeviceT.rspDuoMode$VH.get(seg); } - public static void rspDuoMode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDuoModeT rspDuoMode; + * } + */ + public static void rspDuoMode$set(MemorySegment seg, int x) { sdrplay_api_DeviceT.rspDuoMode$VH.set(seg, x); } public static int rspDuoMode$get(MemorySegment seg, long index) { @@ -98,10 +146,22 @@ public class sdrplay_api_DeviceT { public static VarHandle rspDuoSampleFreq$VH() { return sdrplay_api_DeviceT.rspDuoSampleFreq$VH; } + /** + * Getter for field: + * {@snippet : + * double rspDuoSampleFreq; + * } + */ public static double rspDuoSampleFreq$get(MemorySegment seg) { return (double)sdrplay_api_DeviceT.rspDuoSampleFreq$VH.get(seg); } - public static void rspDuoSampleFreq$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double rspDuoSampleFreq; + * } + */ + public static void rspDuoSampleFreq$set(MemorySegment seg, double x) { sdrplay_api_DeviceT.rspDuoSampleFreq$VH.set(seg, x); } public static double rspDuoSampleFreq$get(MemorySegment seg, long index) { @@ -114,24 +174,36 @@ public class sdrplay_api_DeviceT { public static VarHandle dev$VH() { return sdrplay_api_DeviceT.dev$VH; } - public static MemoryAddress dev$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceT.dev$VH.get(seg); - } - public static void dev$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * HANDLE dev; + * } + */ + public static MemorySegment dev$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceT.dev$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * HANDLE dev; + * } + */ + public static void dev$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceT.dev$VH.set(seg, x); } - public static MemoryAddress dev$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceT.dev$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment dev$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceT.dev$VH.get(seg.asSlice(index*sizeof())); } - public static void dev$set(MemorySegment seg, long index, MemoryAddress x) { + public static void dev$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceT.dev$VH.set(seg.asSlice(index*sizeof()), x); } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DisableHeartbeat_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DisableHeartbeat_t.java index 617ec5d60..31c651a22 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DisableHeartbeat_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_DisableHeartbeat_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_DisableHeartbeat_t)(); + * } + */ public interface sdrplay_api_DisableHeartbeat_t { int apply(); - static MemorySegment allocate(sdrplay_api_DisableHeartbeat_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_DisableHeartbeat_t.class, fi, constants$4.sdrplay_api_DisableHeartbeat_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_DisableHeartbeat_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$4.sdrplay_api_DisableHeartbeat_t_UP$MH, fi, constants$4.sdrplay_api_DisableHeartbeat_t$FUNC, scope); } - static sdrplay_api_DisableHeartbeat_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_DisableHeartbeat_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$4.sdrplay_api_DisableHeartbeat_t$MH.invokeExact((Addressable)symbol); + return (int)constants$4.sdrplay_api_DisableHeartbeat_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ErrorInfoT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ErrorInfoT.java index 4c70b4d66..3b15c34db 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ErrorInfoT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ErrorInfoT.java @@ -21,19 +21,29 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * char file[256]; + * char function[256]; + * int line; + * char message[1024]; + * }; + * } + */ public class sdrplay_api_ErrorInfoT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.sequenceLayout(256, Constants$root.C_CHAR$LAYOUT).withName("file"), MemoryLayout.sequenceLayout(256, Constants$root.C_CHAR$LAYOUT).withName("function"), - Constants$root.C_LONG$LAYOUT.withName("line"), + Constants$root.C_INT$LAYOUT.withName("line"), MemoryLayout.sequenceLayout(1024, Constants$root.C_CHAR$LAYOUT).withName("message") ); public static MemoryLayout $LAYOUT() { @@ -49,10 +59,22 @@ public class sdrplay_api_ErrorInfoT { public static VarHandle line$VH() { return sdrplay_api_ErrorInfoT.line$VH; } + /** + * Getter for field: + * {@snippet : + * int line; + * } + */ public static int line$get(MemorySegment seg) { return (int)sdrplay_api_ErrorInfoT.line$VH.get(seg); } - public static void line$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int line; + * } + */ + public static void line$set(MemorySegment seg, int x) { sdrplay_api_ErrorInfoT.line$VH.set(seg, x); } public static int line$get(MemorySegment seg, long index) { @@ -66,10 +88,10 @@ public class sdrplay_api_ErrorInfoT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventCallback_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventCallback_t.java index dba39e27f..f1b924792 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventCallback_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventCallback_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * void (*sdrplay_api_EventCallback_t)(enum eventId,enum tuner,union * params,void* cbContext); + * } + */ public interface sdrplay_api_EventCallback_t { - void apply(int eventId, int tuner, java.lang.foreign.MemoryAddress params, java.lang.foreign.MemoryAddress cbContext); - static MemorySegment allocate(sdrplay_api_EventCallback_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_EventCallback_t.class, fi, constants$0.sdrplay_api_EventCallback_t$FUNC, session); + void apply(int eventId, int tuner, java.lang.foreign.MemorySegment params, java.lang.foreign.MemorySegment cbContext); + static MemorySegment allocate(sdrplay_api_EventCallback_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$0.sdrplay_api_EventCallback_t_UP$MH, fi, constants$0.sdrplay_api_EventCallback_t$FUNC, scope); } - static sdrplay_api_EventCallback_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (int _eventId, int _tuner, java.lang.foreign.MemoryAddress _params, java.lang.foreign.MemoryAddress _cbContext) -> { + static sdrplay_api_EventCallback_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (int _eventId, int _tuner, java.lang.foreign.MemorySegment _params, java.lang.foreign.MemorySegment _cbContext) -> { try { - constants$0.sdrplay_api_EventCallback_t$MH.invokeExact((Addressable)symbol, _eventId, _tuner, (java.lang.foreign.Addressable)_params, (java.lang.foreign.Addressable)_cbContext); + constants$0.sdrplay_api_EventCallback_t_DOWN$MH.invokeExact(symbol, _eventId, _tuner, _params, _cbContext); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventParamsT.java index 5dce65837..2172ce881 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_EventParamsT.java @@ -21,25 +21,34 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.UnionLayout; + +/** + * {@snippet : + * union { + * sdrplay_api_GainCbParamT gainParams; + * sdrplay_api_PowerOverloadCbParamT powerOverloadParams; + * sdrplay_api_RspDuoModeCbParamT rspDuoModeParams; + * }; + * } + */ public class sdrplay_api_EventParamsT { - static final GroupLayout $union$LAYOUT = MemoryLayout.unionLayout( + static final UnionLayout $union$LAYOUT = MemoryLayout.unionLayout( MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), - Constants$root.C_LONG$LAYOUT.withName("lnaGRdB"), + Constants$root.C_INT$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("lnaGRdB"), Constants$root.C_DOUBLE$LAYOUT.withName("currGain") ).withName("gainParams"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("powerOverloadChangeType") + Constants$root.C_INT$LAYOUT.withName("powerOverloadChangeType") ).withName("powerOverloadParams"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("modeChangeType") + Constants$root.C_INT$LAYOUT.withName("modeChangeType") ).withName("rspDuoModeParams") ); public static MemoryLayout $LAYOUT() { @@ -56,10 +65,10 @@ public class sdrplay_api_EventParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_FsFreqT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_FsFreqT.java index b40805465..92ba1bc9a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_FsFreqT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_FsFreqT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * double fsHz; + * unsigned char syncUpdate; + * unsigned char reCal; + * }; + * } + */ public class sdrplay_api_FsFreqT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("fsHz"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), Constants$root.C_CHAR$LAYOUT.withName("reCal"), @@ -43,10 +52,22 @@ public class sdrplay_api_FsFreqT { public static VarHandle fsHz$VH() { return sdrplay_api_FsFreqT.fsHz$VH; } + /** + * Getter for field: + * {@snippet : + * double fsHz; + * } + */ public static double fsHz$get(MemorySegment seg) { return (double)sdrplay_api_FsFreqT.fsHz$VH.get(seg); } - public static void fsHz$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double fsHz; + * } + */ + public static void fsHz$set(MemorySegment seg, double x) { sdrplay_api_FsFreqT.fsHz$VH.set(seg, x); } public static double fsHz$get(MemorySegment seg, long index) { @@ -59,10 +80,22 @@ public class sdrplay_api_FsFreqT { public static VarHandle syncUpdate$VH() { return sdrplay_api_FsFreqT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ public static byte syncUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_FsFreqT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, byte x) { sdrplay_api_FsFreqT.syncUpdate$VH.set(seg, x); } public static byte syncUpdate$get(MemorySegment seg, long index) { @@ -75,10 +108,22 @@ public class sdrplay_api_FsFreqT { public static VarHandle reCal$VH() { return sdrplay_api_FsFreqT.reCal$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char reCal; + * } + */ public static byte reCal$get(MemorySegment seg) { return (byte)sdrplay_api_FsFreqT.reCal$VH.get(seg); } - public static void reCal$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char reCal; + * } + */ + public static void reCal$set(MemorySegment seg, byte x) { sdrplay_api_FsFreqT.reCal$VH.set(seg, x); } public static byte reCal$get(MemorySegment seg, long index) { @@ -89,10 +134,10 @@ public class sdrplay_api_FsFreqT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainCbParamT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainCbParamT.java index ff39a6203..4858d523a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainCbParamT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainCbParamT.java @@ -21,18 +21,27 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned int gRdB; + * unsigned int lnaGRdB; + * double currGain; + * }; + * } + */ public class sdrplay_api_GainCbParamT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), - Constants$root.C_LONG$LAYOUT.withName("lnaGRdB"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("lnaGRdB"), Constants$root.C_DOUBLE$LAYOUT.withName("currGain") ); public static MemoryLayout $LAYOUT() { @@ -42,10 +51,22 @@ public class sdrplay_api_GainCbParamT { public static VarHandle gRdB$VH() { return sdrplay_api_GainCbParamT.gRdB$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int gRdB; + * } + */ public static int gRdB$get(MemorySegment seg) { return (int)sdrplay_api_GainCbParamT.gRdB$VH.get(seg); } - public static void gRdB$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int gRdB; + * } + */ + public static void gRdB$set(MemorySegment seg, int x) { sdrplay_api_GainCbParamT.gRdB$VH.set(seg, x); } public static int gRdB$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_GainCbParamT { public static VarHandle lnaGRdB$VH() { return sdrplay_api_GainCbParamT.lnaGRdB$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int lnaGRdB; + * } + */ public static int lnaGRdB$get(MemorySegment seg) { return (int)sdrplay_api_GainCbParamT.lnaGRdB$VH.get(seg); } - public static void lnaGRdB$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int lnaGRdB; + * } + */ + public static void lnaGRdB$set(MemorySegment seg, int x) { sdrplay_api_GainCbParamT.lnaGRdB$VH.set(seg, x); } public static int lnaGRdB$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_GainCbParamT { public static VarHandle currGain$VH() { return sdrplay_api_GainCbParamT.currGain$VH; } + /** + * Getter for field: + * {@snippet : + * double currGain; + * } + */ public static double currGain$get(MemorySegment seg) { return (double)sdrplay_api_GainCbParamT.currGain$VH.get(seg); } - public static void currGain$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double currGain; + * } + */ + public static void currGain$set(MemorySegment seg, double x) { sdrplay_api_GainCbParamT.currGain$VH.set(seg, x); } public static double currGain$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_GainCbParamT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainT.java index 733d48aa3..7eb4d1192 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainT.java @@ -21,21 +21,32 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * int gRdB; + * unsigned char LNAstate; + * unsigned char syncUpdate; + * sdrplay_api_MinGainReductionT minGr; + * sdrplay_api_GainValuesT gainVals; + * }; + * } + */ public class sdrplay_api_GainT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("gRdB"), Constants$root.C_CHAR$LAYOUT.withName("LNAstate"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("minGr"), + Constants$root.C_INT$LAYOUT.withName("minGr"), MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), @@ -49,10 +60,22 @@ public class sdrplay_api_GainT { public static VarHandle gRdB$VH() { return sdrplay_api_GainT.gRdB$VH; } + /** + * Getter for field: + * {@snippet : + * int gRdB; + * } + */ public static int gRdB$get(MemorySegment seg) { return (int)sdrplay_api_GainT.gRdB$VH.get(seg); } - public static void gRdB$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int gRdB; + * } + */ + public static void gRdB$set(MemorySegment seg, int x) { sdrplay_api_GainT.gRdB$VH.set(seg, x); } public static int gRdB$get(MemorySegment seg, long index) { @@ -65,10 +88,22 @@ public class sdrplay_api_GainT { public static VarHandle LNAstate$VH() { return sdrplay_api_GainT.LNAstate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char LNAstate; + * } + */ public static byte LNAstate$get(MemorySegment seg) { return (byte)sdrplay_api_GainT.LNAstate$VH.get(seg); } - public static void LNAstate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char LNAstate; + * } + */ + public static void LNAstate$set(MemorySegment seg, byte x) { sdrplay_api_GainT.LNAstate$VH.set(seg, x); } public static byte LNAstate$get(MemorySegment seg, long index) { @@ -81,10 +116,22 @@ public class sdrplay_api_GainT { public static VarHandle syncUpdate$VH() { return sdrplay_api_GainT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ public static byte syncUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_GainT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, byte x) { sdrplay_api_GainT.syncUpdate$VH.set(seg, x); } public static byte syncUpdate$get(MemorySegment seg, long index) { @@ -97,10 +144,22 @@ public class sdrplay_api_GainT { public static VarHandle minGr$VH() { return sdrplay_api_GainT.minGr$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_MinGainReductionT minGr; + * } + */ public static int minGr$get(MemorySegment seg) { return (int)sdrplay_api_GainT.minGr$VH.get(seg); } - public static void minGr$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_MinGainReductionT minGr; + * } + */ + public static void minGr$set(MemorySegment seg, int x) { sdrplay_api_GainT.minGr$VH.set(seg, x); } public static int minGr$get(MemorySegment seg, long index) { @@ -114,10 +173,10 @@ public class sdrplay_api_GainT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainValuesT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainValuesT.java index cf095be03..e8a2526d6 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainValuesT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GainValuesT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * float curr; + * float max; + * float min; + * }; + * } + */ public class sdrplay_api_GainValuesT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), Constants$root.C_FLOAT$LAYOUT.withName("min") @@ -42,10 +51,22 @@ public class sdrplay_api_GainValuesT { public static VarHandle curr$VH() { return sdrplay_api_GainValuesT.curr$VH; } + /** + * Getter for field: + * {@snippet : + * float curr; + * } + */ public static float curr$get(MemorySegment seg) { return (float)sdrplay_api_GainValuesT.curr$VH.get(seg); } - public static void curr$set( MemorySegment seg, float x) { + /** + * Setter for field: + * {@snippet : + * float curr; + * } + */ + public static void curr$set(MemorySegment seg, float x) { sdrplay_api_GainValuesT.curr$VH.set(seg, x); } public static float curr$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_GainValuesT { public static VarHandle max$VH() { return sdrplay_api_GainValuesT.max$VH; } + /** + * Getter for field: + * {@snippet : + * float max; + * } + */ public static float max$get(MemorySegment seg) { return (float)sdrplay_api_GainValuesT.max$VH.get(seg); } - public static void max$set( MemorySegment seg, float x) { + /** + * Setter for field: + * {@snippet : + * float max; + * } + */ + public static void max$set(MemorySegment seg, float x) { sdrplay_api_GainValuesT.max$VH.set(seg, x); } public static float max$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_GainValuesT { public static VarHandle min$VH() { return sdrplay_api_GainValuesT.min$VH; } + /** + * Getter for field: + * {@snippet : + * float min; + * } + */ public static float min$get(MemorySegment seg) { return (float)sdrplay_api_GainValuesT.min$VH.get(seg); } - public static void min$set( MemorySegment seg, float x) { + /** + * Setter for field: + * {@snippet : + * float min; + * } + */ + public static void min$set(MemorySegment seg, float x) { sdrplay_api_GainValuesT.min$VH.set(seg, x); } public static float min$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_GainValuesT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDeviceParams_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDeviceParams_t.java index d4f4692e4..3e426d75f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDeviceParams_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDeviceParams_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_GetDeviceParams_t)(void* dev,struct ** deviceParams); + * } + */ public interface sdrplay_api_GetDeviceParams_t { - int apply(java.lang.foreign.MemoryAddress dev, java.lang.foreign.MemoryAddress deviceParams); - static MemorySegment allocate(sdrplay_api_GetDeviceParams_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetDeviceParams_t.class, fi, constants$4.sdrplay_api_GetDeviceParams_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, java.lang.foreign.MemorySegment deviceParams); + static MemorySegment allocate(sdrplay_api_GetDeviceParams_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$4.sdrplay_api_GetDeviceParams_t_UP$MH, fi, constants$4.sdrplay_api_GetDeviceParams_t$FUNC, scope); } - static sdrplay_api_GetDeviceParams_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, java.lang.foreign.MemoryAddress _deviceParams) -> { + static sdrplay_api_GetDeviceParams_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, java.lang.foreign.MemorySegment _deviceParams) -> { try { - return (int)constants$4.sdrplay_api_GetDeviceParams_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, (java.lang.foreign.Addressable)_deviceParams); + return (int)constants$4.sdrplay_api_GetDeviceParams_t_DOWN$MH.invokeExact(symbol, _dev, _deviceParams); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDevices_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDevices_t.java index 4499b0c80..4972d2826 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDevices_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetDevices_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_GetDevices_t)(struct * devices,unsigned int* numDevs,unsigned int maxDevs); + * } + */ public interface sdrplay_api_GetDevices_t { - int apply(java.lang.foreign.MemoryAddress devices, java.lang.foreign.MemoryAddress numDevs, int maxDevs); - static MemorySegment allocate(sdrplay_api_GetDevices_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetDevices_t.class, fi, constants$2.sdrplay_api_GetDevices_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment devices, java.lang.foreign.MemorySegment numDevs, int maxDevs); + static MemorySegment allocate(sdrplay_api_GetDevices_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$2.sdrplay_api_GetDevices_t_UP$MH, fi, constants$2.sdrplay_api_GetDevices_t$FUNC, scope); } - static sdrplay_api_GetDevices_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _devices, java.lang.foreign.MemoryAddress _numDevs, int _maxDevs) -> { + static sdrplay_api_GetDevices_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _devices, java.lang.foreign.MemorySegment _numDevs, int _maxDevs) -> { try { - return (int)constants$2.sdrplay_api_GetDevices_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_devices, (java.lang.foreign.Addressable)_numDevs, _maxDevs); + return (int)constants$2.sdrplay_api_GetDevices_t_DOWN$MH.invokeExact(symbol, _devices, _numDevs, _maxDevs); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetErrorString_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetErrorString_t.java index 6919c716f..dc6889cfc 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetErrorString_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetErrorString_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * char* (*sdrplay_api_GetErrorString_t)(enum err); + * } + */ public interface sdrplay_api_GetErrorString_t { - java.lang.foreign.Addressable apply(int err); - static MemorySegment allocate(sdrplay_api_GetErrorString_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetErrorString_t.class, fi, constants$3.sdrplay_api_GetErrorString_t$FUNC, session); + java.lang.foreign.MemorySegment apply(int err); + static MemorySegment allocate(sdrplay_api_GetErrorString_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$3.sdrplay_api_GetErrorString_t_UP$MH, fi, constants$3.sdrplay_api_GetErrorString_t$FUNC, scope); } - static sdrplay_api_GetErrorString_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_GetErrorString_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return (int _err) -> { try { - return (java.lang.foreign.Addressable)(java.lang.foreign.MemoryAddress)constants$3.sdrplay_api_GetErrorString_t$MH.invokeExact((Addressable)symbol, _err); + return (java.lang.foreign.MemorySegment)constants$3.sdrplay_api_GetErrorString_t_DOWN$MH.invokeExact(symbol, _err); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetLastError_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetLastError_t.java index 0a392940f..1b0d1ac12 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetLastError_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_GetLastError_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * struct * (*sdrplay_api_GetLastError_t)(struct * device); + * } + */ public interface sdrplay_api_GetLastError_t { - java.lang.foreign.Addressable apply(java.lang.foreign.MemoryAddress device); - static MemorySegment allocate(sdrplay_api_GetLastError_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetLastError_t.class, fi, constants$3.sdrplay_api_GetLastError_t$FUNC, session); + java.lang.foreign.MemorySegment apply(java.lang.foreign.MemorySegment device); + static MemorySegment allocate(sdrplay_api_GetLastError_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$3.sdrplay_api_GetLastError_t_UP$MH, fi, constants$3.sdrplay_api_GetLastError_t$FUNC, scope); } - static sdrplay_api_GetLastError_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _device) -> { + static sdrplay_api_GetLastError_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _device) -> { try { - return (java.lang.foreign.Addressable)(java.lang.foreign.MemoryAddress)constants$3.sdrplay_api_GetLastError_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_device); + return (java.lang.foreign.MemorySegment)constants$3.sdrplay_api_GetLastError_t_DOWN$MH.invokeExact(symbol, _device); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Init_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Init_t.java index fc98692ee..90c043b75 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Init_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Init_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_Init_t)(void* dev,struct * callbackFns,void* cbContext); + * } + */ public interface sdrplay_api_Init_t { - int apply(java.lang.foreign.MemoryAddress dev, java.lang.foreign.MemoryAddress callbackFns, java.lang.foreign.MemoryAddress cbContext); - static MemorySegment allocate(sdrplay_api_Init_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Init_t.class, fi, constants$5.sdrplay_api_Init_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, java.lang.foreign.MemorySegment callbackFns, java.lang.foreign.MemorySegment cbContext); + static MemorySegment allocate(sdrplay_api_Init_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$5.sdrplay_api_Init_t_UP$MH, fi, constants$5.sdrplay_api_Init_t$FUNC, scope); } - static sdrplay_api_Init_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, java.lang.foreign.MemoryAddress _callbackFns, java.lang.foreign.MemoryAddress _cbContext) -> { + static sdrplay_api_Init_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, java.lang.foreign.MemorySegment _callbackFns, java.lang.foreign.MemorySegment _cbContext) -> { try { - return (int)constants$5.sdrplay_api_Init_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, (java.lang.foreign.Addressable)_callbackFns, (java.lang.foreign.Addressable)_cbContext); + return (int)constants$5.sdrplay_api_Init_t_DOWN$MH.invokeExact(symbol, _dev, _callbackFns, _cbContext); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_LockDeviceApi_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_LockDeviceApi_t.java index 874a8c256..f2239c61a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_LockDeviceApi_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_LockDeviceApi_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_LockDeviceApi_t)(); + * } + */ public interface sdrplay_api_LockDeviceApi_t { int apply(); - static MemorySegment allocate(sdrplay_api_LockDeviceApi_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_LockDeviceApi_t.class, fi, constants$1.sdrplay_api_LockDeviceApi_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_LockDeviceApi_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$1.sdrplay_api_LockDeviceApi_t_UP$MH, fi, constants$1.sdrplay_api_LockDeviceApi_t$FUNC, scope); } - static sdrplay_api_LockDeviceApi_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_LockDeviceApi_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$1.sdrplay_api_LockDeviceApi_t$MH.invokeExact((Addressable)symbol); + return (int)constants$1.sdrplay_api_LockDeviceApi_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Open_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Open_t.java index 6f1052798..64e2910fc 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Open_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Open_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_Open_t)(); + * } + */ public interface sdrplay_api_Open_t { int apply(); - static MemorySegment allocate(sdrplay_api_Open_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Open_t.class, fi, constants$0.sdrplay_api_Open_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_Open_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$0.sdrplay_api_Open_t_UP$MH, fi, constants$0.sdrplay_api_Open_t$FUNC, scope); } - static sdrplay_api_Open_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_Open_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$0.sdrplay_api_Open_t$MH.invokeExact((Addressable)symbol); + return (int)constants$0.sdrplay_api_Open_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_PowerOverloadCbParamT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_PowerOverloadCbParamT.java index 2f55b8d69..4cb9257e7 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_PowerOverloadCbParamT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_PowerOverloadCbParamT.java @@ -21,17 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_PowerOverloadCbEventIdT powerOverloadChangeType; + * }; + * } + */ public class sdrplay_api_PowerOverloadCbParamT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("powerOverloadChangeType") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("powerOverloadChangeType") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_PowerOverloadCbParamT.$struct$LAYOUT; @@ -40,10 +47,22 @@ public class sdrplay_api_PowerOverloadCbParamT { public static VarHandle powerOverloadChangeType$VH() { return sdrplay_api_PowerOverloadCbParamT.powerOverloadChangeType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_PowerOverloadCbEventIdT powerOverloadChangeType; + * } + */ public static int powerOverloadChangeType$get(MemorySegment seg) { return (int)sdrplay_api_PowerOverloadCbParamT.powerOverloadChangeType$VH.get(seg); } - public static void powerOverloadChangeType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_PowerOverloadCbEventIdT powerOverloadChangeType; + * } + */ + public static void powerOverloadChangeType$set(MemorySegment seg, int x) { sdrplay_api_PowerOverloadCbParamT.powerOverloadChangeType$VH.set(seg, x); } public static int powerOverloadChangeType$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_PowerOverloadCbParamT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ReleaseDevice_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ReleaseDevice_t.java index 4df547aa9..2395afbe0 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ReleaseDevice_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ReleaseDevice_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_ReleaseDevice_t)(struct * device); + * } + */ public interface sdrplay_api_ReleaseDevice_t { - int apply(java.lang.foreign.MemoryAddress device); - static MemorySegment allocate(sdrplay_api_ReleaseDevice_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_ReleaseDevice_t.class, fi, constants$3.sdrplay_api_ReleaseDevice_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currentSampleRate); + static MemorySegment allocate(sdrplay_api_ReleaseDevice_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$3.sdrplay_api_ReleaseDevice_t_UP$MH, fi, constants$3.sdrplay_api_ReleaseDevice_t$FUNC, scope); } - static sdrplay_api_ReleaseDevice_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _device) -> { + static sdrplay_api_ReleaseDevice_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currentSampleRate) -> { try { - return (int)constants$3.sdrplay_api_ReleaseDevice_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_device); + return (int)constants$3.sdrplay_api_ReleaseDevice_t_DOWN$MH.invokeExact(symbol, _currentSampleRate); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ResetFlagsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ResetFlagsT.java index 0f07ab503..4dfad5634 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ResetFlagsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_ResetFlagsT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char resetGainUpdate; + * unsigned char resetRfUpdate; + * unsigned char resetFsUpdate; + * }; + * } + */ public class sdrplay_api_ResetFlagsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("resetGainUpdate"), Constants$root.C_CHAR$LAYOUT.withName("resetRfUpdate"), Constants$root.C_CHAR$LAYOUT.withName("resetFsUpdate") @@ -42,10 +51,22 @@ public class sdrplay_api_ResetFlagsT { public static VarHandle resetGainUpdate$VH() { return sdrplay_api_ResetFlagsT.resetGainUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char resetGainUpdate; + * } + */ public static byte resetGainUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_ResetFlagsT.resetGainUpdate$VH.get(seg); } - public static void resetGainUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char resetGainUpdate; + * } + */ + public static void resetGainUpdate$set(MemorySegment seg, byte x) { sdrplay_api_ResetFlagsT.resetGainUpdate$VH.set(seg, x); } public static byte resetGainUpdate$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_ResetFlagsT { public static VarHandle resetRfUpdate$VH() { return sdrplay_api_ResetFlagsT.resetRfUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char resetRfUpdate; + * } + */ public static byte resetRfUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_ResetFlagsT.resetRfUpdate$VH.get(seg); } - public static void resetRfUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char resetRfUpdate; + * } + */ + public static void resetRfUpdate$set(MemorySegment seg, byte x) { sdrplay_api_ResetFlagsT.resetRfUpdate$VH.set(seg, x); } public static byte resetRfUpdate$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_ResetFlagsT { public static VarHandle resetFsUpdate$VH() { return sdrplay_api_ResetFlagsT.resetFsUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char resetFsUpdate; + * } + */ public static byte resetFsUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_ResetFlagsT.resetFsUpdate$VH.get(seg); } - public static void resetFsUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char resetFsUpdate; + * } + */ + public static void resetFsUpdate$set(MemorySegment seg, byte x) { sdrplay_api_ResetFlagsT.resetFsUpdate$VH.set(seg, x); } public static byte resetFsUpdate$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_ResetFlagsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RfFreqT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RfFreqT.java index b638c774b..97a37772f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RfFreqT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RfFreqT.java @@ -21,16 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * double rfHz; + * unsigned char syncUpdate; + * }; + * } + */ public class sdrplay_api_RfFreqT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("rfHz"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(56) @@ -42,10 +50,22 @@ public class sdrplay_api_RfFreqT { public static VarHandle rfHz$VH() { return sdrplay_api_RfFreqT.rfHz$VH; } + /** + * Getter for field: + * {@snippet : + * double rfHz; + * } + */ public static double rfHz$get(MemorySegment seg) { return (double)sdrplay_api_RfFreqT.rfHz$VH.get(seg); } - public static void rfHz$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double rfHz; + * } + */ + public static void rfHz$set(MemorySegment seg, double x) { sdrplay_api_RfFreqT.rfHz$VH.set(seg, x); } public static double rfHz$get(MemorySegment seg, long index) { @@ -58,10 +78,22 @@ public class sdrplay_api_RfFreqT { public static VarHandle syncUpdate$VH() { return sdrplay_api_RfFreqT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ public static byte syncUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_RfFreqT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, byte x) { sdrplay_api_RfFreqT.syncUpdate$VH.set(seg, x); } public static byte syncUpdate$get(MemorySegment seg, long index) { @@ -72,10 +104,10 @@ public class sdrplay_api_RfFreqT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aParamsT.java index a42ddd9b4..6ba81eaea 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aParamsT.java @@ -21,16 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char rfNotchEnable; + * unsigned char rfDabNotchEnable; + * }; + * } + */ public class sdrplay_api_Rsp1aParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable") ); @@ -41,10 +49,22 @@ public class sdrplay_api_Rsp1aParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_Rsp1aParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp1aParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp1aParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -57,10 +77,22 @@ public class sdrplay_api_Rsp1aParamsT { public static VarHandle rfDabNotchEnable$VH() { return sdrplay_api_Rsp1aParamsT.rfDabNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ public static byte rfDabNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp1aParamsT.rfDabNotchEnable$VH.get(seg); } - public static void rfDabNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ + public static void rfDabNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp1aParamsT.rfDabNotchEnable$VH.set(seg, x); } public static byte rfDabNotchEnable$get(MemorySegment seg, long index) { @@ -71,10 +103,10 @@ public class sdrplay_api_Rsp1aParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aTunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aTunerParamsT.java index e1bf8c443..7f788ae6c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aTunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp1aTunerParamsT.java @@ -21,16 +21,23 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char biasTEnable; + * }; + * } + */ public class sdrplay_api_Rsp1aTunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable") ); public static MemoryLayout $LAYOUT() { @@ -40,10 +47,22 @@ public class sdrplay_api_Rsp1aTunerParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_Rsp1aTunerParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp1aTunerParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp1aTunerParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_Rsp1aTunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2ParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2ParamsT.java index 14212be2b..e5795abbc 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2ParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2ParamsT.java @@ -21,16 +21,23 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char extRefOutputEn; + * }; + * } + */ public class sdrplay_api_Rsp2ParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("extRefOutputEn") ); public static MemoryLayout $LAYOUT() { @@ -40,10 +47,22 @@ public class sdrplay_api_Rsp2ParamsT { public static VarHandle extRefOutputEn$VH() { return sdrplay_api_Rsp2ParamsT.extRefOutputEn$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char extRefOutputEn; + * } + */ public static byte extRefOutputEn$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp2ParamsT.extRefOutputEn$VH.get(seg); } - public static void extRefOutputEn$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char extRefOutputEn; + * } + */ + public static void extRefOutputEn$set(MemorySegment seg, byte x) { sdrplay_api_Rsp2ParamsT.extRefOutputEn$VH.set(seg, x); } public static byte extRefOutputEn$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_Rsp2ParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2TunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2TunerParamsT.java index 0f071fbf9..fa8510655 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2TunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Rsp2TunerParamsT.java @@ -21,20 +21,30 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char biasTEnable; + * sdrplay_api_Rsp2_AmPortSelectT amPortSel; + * sdrplay_api_Rsp2_AntennaSelectT antennaSel; + * unsigned char rfNotchEnable; + * }; + * } + */ public class sdrplay_api_Rsp2TunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("amPortSel"), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("amPortSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), MemoryLayout.paddingLayout(24) ); @@ -45,10 +55,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_Rsp2TunerParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp2TunerParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp2TunerParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -61,10 +83,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle amPortSel$VH() { return sdrplay_api_Rsp2TunerParamsT.amPortSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_Rsp2_AmPortSelectT amPortSel; + * } + */ public static int amPortSel$get(MemorySegment seg) { return (int)sdrplay_api_Rsp2TunerParamsT.amPortSel$VH.get(seg); } - public static void amPortSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_Rsp2_AmPortSelectT amPortSel; + * } + */ + public static void amPortSel$set(MemorySegment seg, int x) { sdrplay_api_Rsp2TunerParamsT.amPortSel$VH.set(seg, x); } public static int amPortSel$get(MemorySegment seg, long index) { @@ -77,10 +111,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle antennaSel$VH() { return sdrplay_api_Rsp2TunerParamsT.antennaSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_Rsp2_AntennaSelectT antennaSel; + * } + */ public static int antennaSel$get(MemorySegment seg) { return (int)sdrplay_api_Rsp2TunerParamsT.antennaSel$VH.get(seg); } - public static void antennaSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_Rsp2_AntennaSelectT antennaSel; + * } + */ + public static void antennaSel$set(MemorySegment seg, int x) { sdrplay_api_Rsp2TunerParamsT.antennaSel$VH.set(seg, x); } public static int antennaSel$get(MemorySegment seg, long index) { @@ -93,10 +139,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_Rsp2TunerParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp2TunerParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp2TunerParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -107,10 +165,10 @@ public class sdrplay_api_Rsp2TunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoModeCbParamT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoModeCbParamT.java index 4f8e35516..eb27e169c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoModeCbParamT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoModeCbParamT.java @@ -21,17 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_RspDuoModeCbEventIdT modeChangeType; + * }; + * } + */ public class sdrplay_api_RspDuoModeCbParamT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("modeChangeType") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("modeChangeType") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_RspDuoModeCbParamT.$struct$LAYOUT; @@ -40,10 +47,22 @@ public class sdrplay_api_RspDuoModeCbParamT { public static VarHandle modeChangeType$VH() { return sdrplay_api_RspDuoModeCbParamT.modeChangeType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDuoModeCbEventIdT modeChangeType; + * } + */ public static int modeChangeType$get(MemorySegment seg) { return (int)sdrplay_api_RspDuoModeCbParamT.modeChangeType$VH.get(seg); } - public static void modeChangeType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDuoModeCbEventIdT modeChangeType; + * } + */ + public static void modeChangeType$set(MemorySegment seg, int x) { sdrplay_api_RspDuoModeCbParamT.modeChangeType$VH.set(seg, x); } public static int modeChangeType$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_RspDuoModeCbParamT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoParamsT.java index b46ff5afb..db8af509f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoParamsT.java @@ -21,17 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * int extRefOutputEn; + * }; + * } + */ public class sdrplay_api_RspDuoParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("extRefOutputEn") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("extRefOutputEn") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_RspDuoParamsT.$struct$LAYOUT; @@ -40,10 +47,22 @@ public class sdrplay_api_RspDuoParamsT { public static VarHandle extRefOutputEn$VH() { return sdrplay_api_RspDuoParamsT.extRefOutputEn$VH; } + /** + * Getter for field: + * {@snippet : + * int extRefOutputEn; + * } + */ public static int extRefOutputEn$get(MemorySegment seg) { return (int)sdrplay_api_RspDuoParamsT.extRefOutputEn$VH.get(seg); } - public static void extRefOutputEn$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int extRefOutputEn; + * } + */ + public static void extRefOutputEn$set(MemorySegment seg, int x) { sdrplay_api_RspDuoParamsT.extRefOutputEn$VH.set(seg, x); } public static int extRefOutputEn$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_RspDuoParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoTunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoTunerParamsT.java index 157d9c376..c07ded903 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoTunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDuoTunerParamsT.java @@ -21,19 +21,30 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char biasTEnable; + * sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel; + * unsigned char tuner1AmNotchEnable; + * unsigned char rfNotchEnable; + * unsigned char rfDabNotchEnable; + * }; + * } + */ public class sdrplay_api_RspDuoTunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("tuner1AmPortSel"), + Constants$root.C_INT$LAYOUT.withName("tuner1AmPortSel"), Constants$root.C_CHAR$LAYOUT.withName("tuner1AmNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), @@ -46,10 +57,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -62,10 +85,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle tuner1AmPortSel$VH() { return sdrplay_api_RspDuoTunerParamsT.tuner1AmPortSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel; + * } + */ public static int tuner1AmPortSel$get(MemorySegment seg) { return (int)sdrplay_api_RspDuoTunerParamsT.tuner1AmPortSel$VH.get(seg); } - public static void tuner1AmPortSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel; + * } + */ + public static void tuner1AmPortSel$set(MemorySegment seg, int x) { sdrplay_api_RspDuoTunerParamsT.tuner1AmPortSel$VH.set(seg, x); } public static int tuner1AmPortSel$get(MemorySegment seg, long index) { @@ -78,10 +113,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle tuner1AmNotchEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.tuner1AmNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char tuner1AmNotchEnable; + * } + */ public static byte tuner1AmNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.tuner1AmNotchEnable$VH.get(seg); } - public static void tuner1AmNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char tuner1AmNotchEnable; + * } + */ + public static void tuner1AmNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.tuner1AmNotchEnable$VH.set(seg, x); } public static byte tuner1AmNotchEnable$get(MemorySegment seg, long index) { @@ -94,10 +141,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -110,10 +169,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle rfDabNotchEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.rfDabNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ public static byte rfDabNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.rfDabNotchEnable$VH.get(seg); } - public static void rfDabNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ + public static void rfDabNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.rfDabNotchEnable$VH.set(seg, x); } public static byte rfDabNotchEnable$get(MemorySegment seg, long index) { @@ -124,10 +195,10 @@ public class sdrplay_api_RspDuoTunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxParamsT.java index b8c2c4f83..b08a6e91f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxParamsT.java @@ -21,20 +21,31 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char hdrEnable; + * unsigned char biasTEnable; + * sdrplay_api_RspDx_AntennaSelectT antennaSel; + * unsigned char rfNotchEnable; + * unsigned char rfDabNotchEnable; + * }; + * } + */ public class sdrplay_api_RspDxParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("hdrEnable"), Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), MemoryLayout.paddingLayout(16) @@ -46,10 +57,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle hdrEnable$VH() { return sdrplay_api_RspDxParamsT.hdrEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char hdrEnable; + * } + */ public static byte hdrEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.hdrEnable$VH.get(seg); } - public static void hdrEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char hdrEnable; + * } + */ + public static void hdrEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.hdrEnable$VH.set(seg, x); } public static byte hdrEnable$get(MemorySegment seg, long index) { @@ -62,10 +85,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_RspDxParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -78,10 +113,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle antennaSel$VH() { return sdrplay_api_RspDxParamsT.antennaSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDx_AntennaSelectT antennaSel; + * } + */ public static int antennaSel$get(MemorySegment seg) { return (int)sdrplay_api_RspDxParamsT.antennaSel$VH.get(seg); } - public static void antennaSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDx_AntennaSelectT antennaSel; + * } + */ + public static void antennaSel$set(MemorySegment seg, int x) { sdrplay_api_RspDxParamsT.antennaSel$VH.set(seg, x); } public static int antennaSel$get(MemorySegment seg, long index) { @@ -94,10 +141,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_RspDxParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -110,10 +169,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle rfDabNotchEnable$VH() { return sdrplay_api_RspDxParamsT.rfDabNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ public static byte rfDabNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.rfDabNotchEnable$VH.get(seg); } - public static void rfDabNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ + public static void rfDabNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.rfDabNotchEnable$VH.set(seg, x); } public static byte rfDabNotchEnable$get(MemorySegment seg, long index) { @@ -124,10 +195,10 @@ public class sdrplay_api_RspDxParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxTunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxTunerParamsT.java index 19bc9d112..cb28007b3 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxTunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RspDxTunerParamsT.java @@ -21,17 +21,20 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * sdrplay_api_RspDx_HdrModeBwT hdrBw; + * }; + * } + */ public class sdrplay_api_RspDxTunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("hdrBw") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("hdrBw") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_RspDxTunerParamsT.$struct$LAYOUT; @@ -40,10 +43,22 @@ public class sdrplay_api_RspDxTunerParamsT { public static VarHandle hdrBw$VH() { return sdrplay_api_RspDxTunerParamsT.hdrBw$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDx_HdrModeBwT hdrBw; + * } + */ public static int hdrBw$get(MemorySegment seg) { return (int)sdrplay_api_RspDxTunerParamsT.hdrBw$VH.get(seg); } - public static void hdrBw$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDx_HdrModeBwT hdrBw; + * } + */ + public static void hdrBw$set(MemorySegment seg, int x) { sdrplay_api_RspDxTunerParamsT.hdrBw$VH.set(seg, x); } public static int hdrBw$get(MemorySegment seg, long index) { @@ -54,10 +69,10 @@ public class sdrplay_api_RspDxTunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RxChannelParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RxChannelParamsT.java index 595e22f6e..77eda0974 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RxChannelParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_RxChannelParamsT.java @@ -21,25 +21,33 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * sdrplay_api_TunerParamsT tunerParams; + * sdrplay_api_ControlParamsT ctrlParams; + * sdrplay_api_Rsp1aTunerParamsT rsp1aTunerParams; + * sdrplay_api_Rsp2TunerParamsT rsp2TunerParams; + * sdrplay_api_RspDuoTunerParamsT rspDuoTunerParams; + * sdrplay_api_RspDxTunerParamsT rspDxTunerParams; + * }; + * } + */ public class sdrplay_api_RxChannelParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("bwType"), - Constants$root.C_LONG$LAYOUT.withName("ifType"), - Constants$root.C_LONG$LAYOUT.withName("loMode"), + Constants$root.C_INT$LAYOUT.withName("bwType"), + Constants$root.C_INT$LAYOUT.withName("ifType"), + Constants$root.C_INT$LAYOUT.withName("loMode"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("gRdB"), Constants$root.C_CHAR$LAYOUT.withName("LNAstate"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("minGr"), + Constants$root.C_INT$LAYOUT.withName("minGr"), MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), @@ -56,8 +64,8 @@ public class sdrplay_api_RxChannelParamsT { Constants$root.C_CHAR$LAYOUT.withName("dcCal"), Constants$root.C_CHAR$LAYOUT.withName("speedUp"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("trackTime"), - Constants$root.C_LONG$LAYOUT.withName("refreshRateTime") + Constants$root.C_INT$LAYOUT.withName("trackTime"), + Constants$root.C_INT$LAYOUT.withName("refreshRateTime") ).withName("dcOffsetTuner"), MemoryLayout.paddingLayout(32) ).withName("tunerParams"), @@ -73,15 +81,15 @@ public class sdrplay_api_RxChannelParamsT { ).withName("decimation"), MemoryLayout.paddingLayout(24), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("enable"), - Constants$root.C_LONG$LAYOUT.withName("setPoint_dBfs"), + Constants$root.C_INT$LAYOUT.withName("enable"), + Constants$root.C_INT$LAYOUT.withName("setPoint_dBfs"), Constants$root.C_SHORT$LAYOUT.withName("attack_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_delay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_threshold_dB"), - Constants$root.C_LONG$LAYOUT.withName("syncUpdate") + Constants$root.C_INT$LAYOUT.withName("syncUpdate") ).withName("agc"), - Constants$root.C_LONG$LAYOUT.withName("adsbMode") + Constants$root.C_INT$LAYOUT.withName("adsbMode") ).withName("ctrlParams"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable") @@ -90,22 +98,22 @@ public class sdrplay_api_RxChannelParamsT { MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("amPortSel"), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("amPortSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), MemoryLayout.paddingLayout(24) ).withName("rsp2TunerParams"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("tuner1AmPortSel"), + Constants$root.C_INT$LAYOUT.withName("tuner1AmPortSel"), Constants$root.C_CHAR$LAYOUT.withName("tuner1AmNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), MemoryLayout.paddingLayout(8) ).withName("rspDuoTunerParams"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("hdrBw") + Constants$root.C_INT$LAYOUT.withName("hdrBw") ).withName("rspDxTunerParams"), MemoryLayout.paddingLayout(32) ); @@ -132,10 +140,10 @@ public class sdrplay_api_RxChannelParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SelectDevice_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SelectDevice_t.java index e44f03d16..a272a0d94 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SelectDevice_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SelectDevice_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SelectDevice_t)(struct * device); + * } + */ public interface sdrplay_api_SelectDevice_t { - int apply(java.lang.foreign.MemoryAddress device); - static MemorySegment allocate(sdrplay_api_SelectDevice_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SelectDevice_t.class, fi, constants$2.sdrplay_api_SelectDevice_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currentSampleRate); + static MemorySegment allocate(sdrplay_api_SelectDevice_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$2.sdrplay_api_SelectDevice_t_UP$MH, fi, constants$2.sdrplay_api_SelectDevice_t$FUNC, scope); } - static sdrplay_api_SelectDevice_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _device) -> { + static sdrplay_api_SelectDevice_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currentSampleRate) -> { try { - return (int)constants$2.sdrplay_api_SelectDevice_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_device); + return (int)constants$2.sdrplay_api_SelectDevice_t_DOWN$MH.invokeExact(symbol, _currentSampleRate); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCallback_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCallback_t.java index fe90e681c..1fb93396c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCallback_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCallback_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * void (*sdrplay_api_StreamCallback_t)(short* xi,short* xq,struct * params,unsigned int numSamples,unsigned int reset,void* cbContext); + * } + */ public interface sdrplay_api_StreamCallback_t { - void apply(java.lang.foreign.MemoryAddress xi, java.lang.foreign.MemoryAddress xq, java.lang.foreign.MemoryAddress params, int numSamples, int reset, java.lang.foreign.MemoryAddress cbContext); - static MemorySegment allocate(sdrplay_api_StreamCallback_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_StreamCallback_t.class, fi, constants$0.sdrplay_api_StreamCallback_t$FUNC, session); + void apply(java.lang.foreign.MemorySegment xi, java.lang.foreign.MemorySegment xq, java.lang.foreign.MemorySegment params, int numSamples, int reset, java.lang.foreign.MemorySegment cbContext); + static MemorySegment allocate(sdrplay_api_StreamCallback_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$0.sdrplay_api_StreamCallback_t_UP$MH, fi, constants$0.sdrplay_api_StreamCallback_t$FUNC, scope); } - static sdrplay_api_StreamCallback_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _xi, java.lang.foreign.MemoryAddress _xq, java.lang.foreign.MemoryAddress _params, int _numSamples, int _reset, java.lang.foreign.MemoryAddress _cbContext) -> { + static sdrplay_api_StreamCallback_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _xi, java.lang.foreign.MemorySegment _xq, java.lang.foreign.MemorySegment _params, int _numSamples, int _reset, java.lang.foreign.MemorySegment _cbContext) -> { try { - constants$0.sdrplay_api_StreamCallback_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_xi, (java.lang.foreign.Addressable)_xq, (java.lang.foreign.Addressable)_params, _numSamples, _reset, (java.lang.foreign.Addressable)_cbContext); + constants$0.sdrplay_api_StreamCallback_t_DOWN$MH.invokeExact(symbol, _xi, _xq, _params, _numSamples, _reset, _cbContext); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCbParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCbParamsT.java index 9853b04b6..71c506980 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCbParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_StreamCbParamsT.java @@ -21,21 +21,28 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * unsigned int firstSampleNum; + * int grChanged; + * int rfChanged; + * int fsChanged; + * unsigned int numSamples; + * }; + * } + */ public class sdrplay_api_StreamCbParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("firstSampleNum"), - Constants$root.C_LONG$LAYOUT.withName("grChanged"), - Constants$root.C_LONG$LAYOUT.withName("rfChanged"), - Constants$root.C_LONG$LAYOUT.withName("fsChanged"), - Constants$root.C_LONG$LAYOUT.withName("numSamples") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("firstSampleNum"), + Constants$root.C_INT$LAYOUT.withName("grChanged"), + Constants$root.C_INT$LAYOUT.withName("rfChanged"), + Constants$root.C_INT$LAYOUT.withName("fsChanged"), + Constants$root.C_INT$LAYOUT.withName("numSamples") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_StreamCbParamsT.$struct$LAYOUT; @@ -44,10 +51,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle firstSampleNum$VH() { return sdrplay_api_StreamCbParamsT.firstSampleNum$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int firstSampleNum; + * } + */ public static int firstSampleNum$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.firstSampleNum$VH.get(seg); } - public static void firstSampleNum$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int firstSampleNum; + * } + */ + public static void firstSampleNum$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.firstSampleNum$VH.set(seg, x); } public static int firstSampleNum$get(MemorySegment seg, long index) { @@ -60,10 +79,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle grChanged$VH() { return sdrplay_api_StreamCbParamsT.grChanged$VH; } + /** + * Getter for field: + * {@snippet : + * int grChanged; + * } + */ public static int grChanged$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.grChanged$VH.get(seg); } - public static void grChanged$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int grChanged; + * } + */ + public static void grChanged$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.grChanged$VH.set(seg, x); } public static int grChanged$get(MemorySegment seg, long index) { @@ -76,10 +107,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle rfChanged$VH() { return sdrplay_api_StreamCbParamsT.rfChanged$VH; } + /** + * Getter for field: + * {@snippet : + * int rfChanged; + * } + */ public static int rfChanged$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.rfChanged$VH.get(seg); } - public static void rfChanged$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int rfChanged; + * } + */ + public static void rfChanged$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.rfChanged$VH.set(seg, x); } public static int rfChanged$get(MemorySegment seg, long index) { @@ -92,10 +135,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle fsChanged$VH() { return sdrplay_api_StreamCbParamsT.fsChanged$VH; } + /** + * Getter for field: + * {@snippet : + * int fsChanged; + * } + */ public static int fsChanged$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.fsChanged$VH.get(seg); } - public static void fsChanged$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int fsChanged; + * } + */ + public static void fsChanged$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.fsChanged$VH.set(seg, x); } public static int fsChanged$get(MemorySegment seg, long index) { @@ -108,10 +163,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle numSamples$VH() { return sdrplay_api_StreamCbParamsT.numSamples$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int numSamples; + * } + */ public static int numSamples$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.numSamples$VH.get(seg); } - public static void numSamples$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int numSamples; + * } + */ + public static void numSamples$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.numSamples$VH.set(seg, x); } public static int numSamples$get(MemorySegment seg, long index) { @@ -122,10 +189,10 @@ public class sdrplay_api_StreamCbParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoActiveTuner_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoActiveTuner_t.java index 8ab183350..0114308be 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoActiveTuner_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoActiveTuner_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SwapRspDuoActiveTuner_t)(void* dev,enum * tuner,enum tuner1AmPortSel); + * } + */ public interface sdrplay_api_SwapRspDuoActiveTuner_t { - int apply(java.lang.foreign.MemoryAddress dev, java.lang.foreign.MemoryAddress tuner, int tuner1AmPortSel); - static MemorySegment allocate(sdrplay_api_SwapRspDuoActiveTuner_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SwapRspDuoActiveTuner_t.class, fi, constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, java.lang.foreign.MemorySegment tuner, int tuner1AmPortSel); + static MemorySegment allocate(sdrplay_api_SwapRspDuoActiveTuner_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_UP$MH, fi, constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$FUNC, scope); } - static sdrplay_api_SwapRspDuoActiveTuner_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, java.lang.foreign.MemoryAddress _tuner, int _tuner1AmPortSel) -> { + static sdrplay_api_SwapRspDuoActiveTuner_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, java.lang.foreign.MemorySegment _tuner, int _tuner1AmPortSel) -> { try { - return (int)constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, (java.lang.foreign.Addressable)_tuner, _tuner1AmPortSel); + return (int)constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$MH.invokeExact(symbol, _dev, _tuner, _tuner1AmPortSel); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java index aecab4fd3..255dddc22 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t)(double* currentSampleRate); + * } + */ public interface sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t { - int apply(java.lang.foreign.MemoryAddress currentSampleRate); - static MemorySegment allocate(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.class, fi, constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currentSampleRate); + static MemorySegment allocate(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$MH, fi, constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC, scope); } - static sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _currentSampleRate) -> { + static sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currentSampleRate) -> { try { - return (int)constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_currentSampleRate); + return (int)constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$MH.invokeExact(symbol, _currentSampleRate); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoMode_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoMode_t.java index 49fcb3d78..af607c17d 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoMode_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SwapRspDuoMode_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SwapRspDuoMode_t)(struct * currDevice,struct ** deviceParams,enum rspDuoMode,double sampleRate,enum tuner,enum bwType,enum ifType,enum tuner1AmPortSel); + * } + */ public interface sdrplay_api_SwapRspDuoMode_t { - int apply(java.lang.foreign.MemoryAddress currDevice, java.lang.foreign.MemoryAddress deviceParams, int rspDuoMode, double sampleRate, int tuner, int bwType, int ifType, int tuner1AmPortSel); - static MemorySegment allocate(sdrplay_api_SwapRspDuoMode_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SwapRspDuoMode_t.class, fi, constants$6.sdrplay_api_SwapRspDuoMode_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currDevice, java.lang.foreign.MemorySegment deviceParams, int rspDuoMode, double sampleRate, int tuner, int bwType, int ifType, int tuner1AmPortSel); + static MemorySegment allocate(sdrplay_api_SwapRspDuoMode_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$6.sdrplay_api_SwapRspDuoMode_t_UP$MH, fi, constants$6.sdrplay_api_SwapRspDuoMode_t$FUNC, scope); } - static sdrplay_api_SwapRspDuoMode_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _currDevice, java.lang.foreign.MemoryAddress _deviceParams, int _rspDuoMode, double _sampleRate, int _tuner, int _bwType, int _ifType, int _tuner1AmPortSel) -> { + static sdrplay_api_SwapRspDuoMode_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currDevice, java.lang.foreign.MemorySegment _deviceParams, int _rspDuoMode, double _sampleRate, int _tuner, int _bwType, int _ifType, int _tuner1AmPortSel) -> { try { - return (int)constants$6.sdrplay_api_SwapRspDuoMode_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_currDevice, (java.lang.foreign.Addressable)_deviceParams, _rspDuoMode, _sampleRate, _tuner, _bwType, _ifType, _tuner1AmPortSel); + return (int)constants$6.sdrplay_api_SwapRspDuoMode_t_DOWN$MH.invokeExact(symbol, _currDevice, _deviceParams, _rspDuoMode, _sampleRate, _tuner, _bwType, _ifType, _tuner1AmPortSel); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SyncUpdateT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SyncUpdateT.java index d92d1d465..46c63a6e1 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SyncUpdateT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_SyncUpdateT.java @@ -21,18 +21,22 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * unsigned int sampleNum; + * unsigned int period; + * }; + * } + */ public class sdrplay_api_SyncUpdateT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("sampleNum"), - Constants$root.C_LONG$LAYOUT.withName("period") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("sampleNum"), + Constants$root.C_INT$LAYOUT.withName("period") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_SyncUpdateT.$struct$LAYOUT; @@ -41,10 +45,22 @@ public class sdrplay_api_SyncUpdateT { public static VarHandle sampleNum$VH() { return sdrplay_api_SyncUpdateT.sampleNum$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int sampleNum; + * } + */ public static int sampleNum$get(MemorySegment seg) { return (int)sdrplay_api_SyncUpdateT.sampleNum$VH.get(seg); } - public static void sampleNum$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int sampleNum; + * } + */ + public static void sampleNum$set(MemorySegment seg, int x) { sdrplay_api_SyncUpdateT.sampleNum$VH.set(seg, x); } public static int sampleNum$get(MemorySegment seg, long index) { @@ -57,10 +73,22 @@ public class sdrplay_api_SyncUpdateT { public static VarHandle period$VH() { return sdrplay_api_SyncUpdateT.period$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int period; + * } + */ public static int period$get(MemorySegment seg) { return (int)sdrplay_api_SyncUpdateT.period$VH.get(seg); } - public static void period$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int period; + * } + */ + public static void period$set(MemorySegment seg, int x) { sdrplay_api_SyncUpdateT.period$VH.set(seg, x); } public static int period$get(MemorySegment seg, long index) { @@ -71,10 +99,10 @@ public class sdrplay_api_SyncUpdateT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_TunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_TunerParamsT.java index 89c54c0cc..f01ce3fa3 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_TunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_TunerParamsT.java @@ -21,25 +21,33 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * sdrplay_api_Bw_MHzT bwType; + * sdrplay_api_If_kHzT ifType; + * sdrplay_api_LoModeT loMode; + * sdrplay_api_GainT gain; + * sdrplay_api_RfFreqT rfFreq; + * sdrplay_api_DcOffsetTunerT dcOffsetTuner; + * }; + * } + */ public class sdrplay_api_TunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("bwType"), - Constants$root.C_LONG$LAYOUT.withName("ifType"), - Constants$root.C_LONG$LAYOUT.withName("loMode"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("bwType"), + Constants$root.C_INT$LAYOUT.withName("ifType"), + Constants$root.C_INT$LAYOUT.withName("loMode"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("gRdB"), Constants$root.C_CHAR$LAYOUT.withName("LNAstate"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("minGr"), + Constants$root.C_INT$LAYOUT.withName("minGr"), MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), @@ -56,8 +64,8 @@ public class sdrplay_api_TunerParamsT { Constants$root.C_CHAR$LAYOUT.withName("dcCal"), Constants$root.C_CHAR$LAYOUT.withName("speedUp"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("trackTime"), - Constants$root.C_LONG$LAYOUT.withName("refreshRateTime") + Constants$root.C_INT$LAYOUT.withName("trackTime"), + Constants$root.C_INT$LAYOUT.withName("refreshRateTime") ).withName("dcOffsetTuner"), MemoryLayout.paddingLayout(32) ); @@ -68,10 +76,22 @@ public class sdrplay_api_TunerParamsT { public static VarHandle bwType$VH() { return sdrplay_api_TunerParamsT.bwType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_Bw_MHzT bwType; + * } + */ public static int bwType$get(MemorySegment seg) { return (int)sdrplay_api_TunerParamsT.bwType$VH.get(seg); } - public static void bwType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_Bw_MHzT bwType; + * } + */ + public static void bwType$set(MemorySegment seg, int x) { sdrplay_api_TunerParamsT.bwType$VH.set(seg, x); } public static int bwType$get(MemorySegment seg, long index) { @@ -84,10 +104,22 @@ public class sdrplay_api_TunerParamsT { public static VarHandle ifType$VH() { return sdrplay_api_TunerParamsT.ifType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_If_kHzT ifType; + * } + */ public static int ifType$get(MemorySegment seg) { return (int)sdrplay_api_TunerParamsT.ifType$VH.get(seg); } - public static void ifType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_If_kHzT ifType; + * } + */ + public static void ifType$set(MemorySegment seg, int x) { sdrplay_api_TunerParamsT.ifType$VH.set(seg, x); } public static int ifType$get(MemorySegment seg, long index) { @@ -100,10 +132,22 @@ public class sdrplay_api_TunerParamsT { public static VarHandle loMode$VH() { return sdrplay_api_TunerParamsT.loMode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_LoModeT loMode; + * } + */ public static int loMode$get(MemorySegment seg) { return (int)sdrplay_api_TunerParamsT.loMode$VH.get(seg); } - public static void loMode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_LoModeT loMode; + * } + */ + public static void loMode$set(MemorySegment seg, int x) { sdrplay_api_TunerParamsT.loMode$VH.set(seg, x); } public static int loMode$get(MemorySegment seg, long index) { @@ -123,10 +167,10 @@ public class sdrplay_api_TunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Uninit_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Uninit_t.java index f0cc53fa6..eb308331d 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Uninit_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Uninit_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_Uninit_t)(void* dev); + * } + */ public interface sdrplay_api_Uninit_t { - int apply(java.lang.foreign.MemoryAddress dev); - static MemorySegment allocate(sdrplay_api_Uninit_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Uninit_t.class, fi, constants$5.sdrplay_api_Uninit_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currentSampleRate); + static MemorySegment allocate(sdrplay_api_Uninit_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$5.sdrplay_api_Uninit_t_UP$MH, fi, constants$5.sdrplay_api_Uninit_t$FUNC, scope); } - static sdrplay_api_Uninit_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev) -> { + static sdrplay_api_Uninit_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currentSampleRate) -> { try { - return (int)constants$5.sdrplay_api_Uninit_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev); + return (int)constants$5.sdrplay_api_Uninit_t_DOWN$MH.invokeExact(symbol, _currentSampleRate); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_UnlockDeviceApi_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_UnlockDeviceApi_t.java index 2cfd43eeb..ef50298d0 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_UnlockDeviceApi_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_UnlockDeviceApi_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_UnlockDeviceApi_t)(); + * } + */ public interface sdrplay_api_UnlockDeviceApi_t { int apply(); - static MemorySegment allocate(sdrplay_api_UnlockDeviceApi_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_UnlockDeviceApi_t.class, fi, constants$2.sdrplay_api_UnlockDeviceApi_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_UnlockDeviceApi_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$2.sdrplay_api_UnlockDeviceApi_t_UP$MH, fi, constants$2.sdrplay_api_UnlockDeviceApi_t$FUNC, scope); } - static sdrplay_api_UnlockDeviceApi_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_UnlockDeviceApi_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$2.sdrplay_api_UnlockDeviceApi_t$MH.invokeExact((Addressable)symbol); + return (int)constants$2.sdrplay_api_UnlockDeviceApi_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Update_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Update_t.java index 14a26337b..6c2f041a4 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Update_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_Update_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_Update_t)(void* dev,enum tuner,enum reasonForUpdate,enum reasonForUpdateExt1); + * } + */ public interface sdrplay_api_Update_t { - int apply(java.lang.foreign.MemoryAddress dev, int tuner, int reasonForUpdate, int reasonForUpdateExt1); - static MemorySegment allocate(sdrplay_api_Update_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Update_t.class, fi, constants$5.sdrplay_api_Update_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, int tuner, int reasonForUpdate, int reasonForUpdateExt1); + static MemorySegment allocate(sdrplay_api_Update_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$5.sdrplay_api_Update_t_UP$MH, fi, constants$5.sdrplay_api_Update_t$FUNC, scope); } - static sdrplay_api_Update_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, int _tuner, int _reasonForUpdate, int _reasonForUpdateExt1) -> { + static sdrplay_api_Update_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, int _tuner, int _reasonForUpdate, int _reasonForUpdateExt1) -> { try { - return (int)constants$5.sdrplay_api_Update_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, _tuner, _reasonForUpdate, _reasonForUpdateExt1); + return (int)constants$5.sdrplay_api_Update_t_DOWN$MH.invokeExact(symbol, _dev, _tuner, _reasonForUpdate, _reasonForUpdateExt1); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_h.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_h.java index 21180c7f7..a5f87acad 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_h.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_07/sdrplay_api_h.java @@ -21,8 +21,7 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_07; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; +import java.lang.foreign.MemorySegment; import java.lang.invoke.MethodHandle; import static java.lang.foreign.ValueLayout.OfAddress; @@ -34,482 +33,1261 @@ import static java.lang.foreign.ValueLayout.OfShort; public class sdrplay_api_h { - /* package-private */ sdrplay_api_h() {} - public static OfByte C_CHAR = Constants$root.C_CHAR$LAYOUT; - public static OfShort C_SHORT = Constants$root.C_SHORT$LAYOUT; - public static OfInt C_INT = Constants$root.C_LONG$LAYOUT; - public static OfInt C_LONG = Constants$root.C_LONG$LAYOUT; - public static OfLong C_LONG_LONG = Constants$root.C_LONG_LONG$LAYOUT; - public static OfFloat C_FLOAT = Constants$root.C_FLOAT$LAYOUT; - public static OfDouble C_DOUBLE = Constants$root.C_DOUBLE$LAYOUT; - public static OfAddress C_POINTER = Constants$root.C_POINTER$LAYOUT; + public static final OfByte C_CHAR = Constants$root.C_CHAR$LAYOUT; + public static final OfShort C_SHORT = Constants$root.C_SHORT$LAYOUT; + public static final OfInt C_INT = Constants$root.C_INT$LAYOUT; + public static final OfLong C_LONG = Constants$root.C_LONG_LONG$LAYOUT; + public static final OfLong C_LONG_LONG = Constants$root.C_LONG_LONG$LAYOUT; + public static final OfFloat C_FLOAT = Constants$root.C_FLOAT$LAYOUT; + public static final OfDouble C_DOUBLE = Constants$root.C_DOUBLE$LAYOUT; + public static final OfAddress C_POINTER = Constants$root.C_POINTER$LAYOUT; + /** + * {@snippet : + * #define RSPIA_NUM_LNA_STATES 10 + * } + */ public static int RSPIA_NUM_LNA_STATES() { return (int)10L; } + /** + * {@snippet : + * #define RSPIA_NUM_LNA_STATES_AM 7 + * } + */ public static int RSPIA_NUM_LNA_STATES_AM() { return (int)7L; } + /** + * {@snippet : + * #define RSPIA_NUM_LNA_STATES_LBAND 9 + * } + */ public static int RSPIA_NUM_LNA_STATES_LBAND() { return (int)9L; } + /** + * {@snippet : + * #define RSPII_NUM_LNA_STATES 9 + * } + */ public static int RSPII_NUM_LNA_STATES() { return (int)9L; } + /** + * {@snippet : + * #define RSPII_NUM_LNA_STATES_AMPORT 5 + * } + */ public static int RSPII_NUM_LNA_STATES_AMPORT() { return (int)5L; } + /** + * {@snippet : + * #define RSPII_NUM_LNA_STATES_420MHZ 6 + * } + */ public static int RSPII_NUM_LNA_STATES_420MHZ() { return (int)6L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES 10 + * } + */ public static int RSPDUO_NUM_LNA_STATES() { return (int)10L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES_AMPORT 5 + * } + */ public static int RSPDUO_NUM_LNA_STATES_AMPORT() { return (int)5L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES_AM 7 + * } + */ public static int RSPDUO_NUM_LNA_STATES_AM() { return (int)7L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES_LBAND 9 + * } + */ public static int RSPDUO_NUM_LNA_STATES_LBAND() { return (int)9L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES 28 + * } + */ public static int RSPDX_NUM_LNA_STATES() { return (int)28L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_AMPORT2_0_12 19 + * } + */ public static int RSPDX_NUM_LNA_STATES_AMPORT2_0_12() { return (int)19L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_AMPORT2_12_60 20 + * } + */ public static int RSPDX_NUM_LNA_STATES_AMPORT2_12_60() { return (int)20L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_VHF_BAND3 27 + * } + */ public static int RSPDX_NUM_LNA_STATES_VHF_BAND3() { return (int)27L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_420MHZ 21 + * } + */ public static int RSPDX_NUM_LNA_STATES_420MHZ() { return (int)21L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_LBAND 19 + * } + */ public static int RSPDX_NUM_LNA_STATES_LBAND() { return (int)19L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_DX 26 + * } + */ public static int RSPDX_NUM_LNA_STATES_DX() { return (int)26L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_ANTENNA_A = 5; + * } + */ public static int sdrplay_api_Rsp2_ANTENNA_A() { return (int)5L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_ANTENNA_B = 6; + * } + */ public static int sdrplay_api_Rsp2_ANTENNA_B() { return (int)6L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_AMPORT_1 = 1; + * } + */ public static int sdrplay_api_Rsp2_AMPORT_1() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_AMPORT_2 = 0; + * } + */ public static int sdrplay_api_Rsp2_AMPORT_2() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Unknown = 0; + * } + */ public static int sdrplay_api_RspDuoMode_Unknown() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Single_Tuner = 1; + * } + */ public static int sdrplay_api_RspDuoMode_Single_Tuner() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Dual_Tuner = 2; + * } + */ public static int sdrplay_api_RspDuoMode_Dual_Tuner() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Master = 4; + * } + */ public static int sdrplay_api_RspDuoMode_Master() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Slave = 8; + * } + */ public static int sdrplay_api_RspDuoMode_Slave() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuo_AMPORT_1 = 1; + * } + */ public static int sdrplay_api_RspDuo_AMPORT_1() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuo_AMPORT_2 = 0; + * } + */ public static int sdrplay_api_RspDuo_AMPORT_2() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_Undefined = 0; + * } + */ public static int sdrplay_api_BW_Undefined() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_0_200 = 200; + * } + */ public static int sdrplay_api_BW_0_200() { return (int)200L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_0_300 = 300; + * } + */ public static int sdrplay_api_BW_0_300() { return (int)300L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_0_600 = 600; + * } + */ public static int sdrplay_api_BW_0_600() { return (int)600L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_1_536 = 1536; + * } + */ public static int sdrplay_api_BW_1_536() { return (int)1536L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_5_000 = 5000; + * } + */ public static int sdrplay_api_BW_5_000() { return (int)5000L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_6_000 = 6000; + * } + */ public static int sdrplay_api_BW_6_000() { return (int)6000L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_7_000 = 7000; + * } + */ public static int sdrplay_api_BW_7_000() { return (int)7000L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_8_000 = 8000; + * } + */ public static int sdrplay_api_BW_8_000() { return (int)8000L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_Undefined = -1; + * } + */ public static int sdrplay_api_IF_Undefined() { return (int)-1L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_Zero = 0; + * } + */ public static int sdrplay_api_IF_Zero() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_0_450 = 450; + * } + */ public static int sdrplay_api_IF_0_450() { return (int)450L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_1_620 = 1620; + * } + */ public static int sdrplay_api_IF_1_620() { return (int)1620L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_2_048 = 2048; + * } + */ public static int sdrplay_api_IF_2_048() { return (int)2048L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_Undefined = 0; + * } + */ public static int sdrplay_api_LO_Undefined() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_Auto = 1; + * } + */ public static int sdrplay_api_LO_Auto() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_120MHz = 2; + * } + */ public static int sdrplay_api_LO_120MHz() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_144MHz = 3; + * } + */ public static int sdrplay_api_LO_144MHz() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_168MHz = 4; + * } + */ public static int sdrplay_api_LO_168MHz() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_EXTENDED_MIN_GR = 0; + * } + */ public static int sdrplay_api_EXTENDED_MIN_GR() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_NORMAL_MIN_GR = 20; + * } + */ public static int sdrplay_api_NORMAL_MIN_GR() { return (int)20L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_Neither = 0; + * } + */ public static int sdrplay_api_Tuner_Neither() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_A = 1; + * } + */ public static int sdrplay_api_Tuner_A() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_B = 2; + * } + */ public static int sdrplay_api_Tuner_B() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_Both = 3; + * } + */ public static int sdrplay_api_Tuner_Both() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_ANTENNA_A = 0; + * } + */ public static int sdrplay_api_RspDx_ANTENNA_A() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_ANTENNA_B = 1; + * } + */ public static int sdrplay_api_RspDx_ANTENNA_B() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_ANTENNA_C = 2; + * } + */ public static int sdrplay_api_RspDx_ANTENNA_C() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_0_200 = 0; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_0_200() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_0_500 = 1; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_0_500() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_1_200 = 2; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_1_200() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_1_700 = 3; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_1_700() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_ISOCH = 0; + * } + */ public static int sdrplay_api_ISOCH() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_BULK = 1; + * } + */ public static int sdrplay_api_BULK() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_DISABLE = 0; + * } + */ public static int sdrplay_api_AGC_DISABLE() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_100HZ = 1; + * } + */ public static int sdrplay_api_AGC_100HZ() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_50HZ = 2; + * } + */ public static int sdrplay_api_AGC_50HZ() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_5HZ = 3; + * } + */ public static int sdrplay_api_AGC_5HZ() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_CTRL_EN = 4; + * } + */ public static int sdrplay_api_AGC_CTRL_EN() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_DECIMATION = 0; + * } + */ public static int sdrplay_api_ADSB_DECIMATION() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_NO_DECIMATION_LOWPASS = 1; + * } + */ public static int sdrplay_api_ADSB_NO_DECIMATION_LOWPASS() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_2MHZ = 2; + * } + */ public static int sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_2MHZ() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_3MHZ = 3; + * } + */ public static int sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_3MHZ() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_Overload_Detected = 0; + * } + */ public static int sdrplay_api_Overload_Detected() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Overload_Corrected = 1; + * } + */ public static int sdrplay_api_Overload_Corrected() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_MasterInitialised = 0; + * } + */ public static int sdrplay_api_MasterInitialised() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveAttached = 1; + * } + */ public static int sdrplay_api_SlaveAttached() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveDetached = 2; + * } + */ public static int sdrplay_api_SlaveDetached() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveInitialised = 3; + * } + */ public static int sdrplay_api_SlaveInitialised() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveUninitialised = 4; + * } + */ public static int sdrplay_api_SlaveUninitialised() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_MasterDllDisappeared = 5; + * } + */ public static int sdrplay_api_MasterDllDisappeared() { return (int)5L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveDllDisappeared = 6; + * } + */ public static int sdrplay_api_SlaveDllDisappeared() { return (int)6L; } + /** + * {@snippet : + * enum .sdrplay_api_GainChange = 0; + * } + */ public static int sdrplay_api_GainChange() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_PowerOverloadChange = 1; + * } + */ public static int sdrplay_api_PowerOverloadChange() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_DeviceRemoved = 2; + * } + */ public static int sdrplay_api_DeviceRemoved() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoModeChange = 3; + * } + */ public static int sdrplay_api_RspDuoModeChange() { return (int)3L; } - public static OfAddress HANDLE = Constants$root.C_POINTER$LAYOUT; + /** + * {@snippet : + * typedef void* HANDLE; + * } + */ + public static final OfAddress HANDLE = Constants$root.C_POINTER$LAYOUT; + /** + * {@snippet : + * enum .sdrplay_api_Success = 0; + * } + */ public static int sdrplay_api_Success() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Fail = 1; + * } + */ public static int sdrplay_api_Fail() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_InvalidParam = 2; + * } + */ public static int sdrplay_api_InvalidParam() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_OutOfRange = 3; + * } + */ public static int sdrplay_api_OutOfRange() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_GainUpdateError = 4; + * } + */ public static int sdrplay_api_GainUpdateError() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_RfUpdateError = 5; + * } + */ public static int sdrplay_api_RfUpdateError() { return (int)5L; } + /** + * {@snippet : + * enum .sdrplay_api_FsUpdateError = 6; + * } + */ public static int sdrplay_api_FsUpdateError() { return (int)6L; } + /** + * {@snippet : + * enum .sdrplay_api_HwError = 7; + * } + */ public static int sdrplay_api_HwError() { return (int)7L; } + /** + * {@snippet : + * enum .sdrplay_api_AliasingError = 8; + * } + */ public static int sdrplay_api_AliasingError() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_AlreadyInitialised = 9; + * } + */ public static int sdrplay_api_AlreadyInitialised() { return (int)9L; } + /** + * {@snippet : + * enum .sdrplay_api_NotInitialised = 10; + * } + */ public static int sdrplay_api_NotInitialised() { return (int)10L; } + /** + * {@snippet : + * enum .sdrplay_api_NotEnabled = 11; + * } + */ public static int sdrplay_api_NotEnabled() { return (int)11L; } + /** + * {@snippet : + * enum .sdrplay_api_HwVerError = 12; + * } + */ public static int sdrplay_api_HwVerError() { return (int)12L; } + /** + * {@snippet : + * enum .sdrplay_api_OutOfMemError = 13; + * } + */ public static int sdrplay_api_OutOfMemError() { return (int)13L; } + /** + * {@snippet : + * enum .sdrplay_api_ServiceNotResponding = 14; + * } + */ public static int sdrplay_api_ServiceNotResponding() { return (int)14L; } + /** + * {@snippet : + * enum .sdrplay_api_StartPending = 15; + * } + */ public static int sdrplay_api_StartPending() { return (int)15L; } + /** + * {@snippet : + * enum .sdrplay_api_StopPending = 16; + * } + */ public static int sdrplay_api_StopPending() { return (int)16L; } + /** + * {@snippet : + * enum .sdrplay_api_InvalidMode = 17; + * } + */ public static int sdrplay_api_InvalidMode() { return (int)17L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification1 = 18; + * } + */ public static int sdrplay_api_FailedVerification1() { return (int)18L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification2 = 19; + * } + */ public static int sdrplay_api_FailedVerification2() { return (int)19L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification3 = 20; + * } + */ public static int sdrplay_api_FailedVerification3() { return (int)20L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification4 = 21; + * } + */ public static int sdrplay_api_FailedVerification4() { return (int)21L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification5 = 22; + * } + */ public static int sdrplay_api_FailedVerification5() { return (int)22L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification6 = 23; + * } + */ public static int sdrplay_api_FailedVerification6() { return (int)23L; } + /** + * {@snippet : + * enum .sdrplay_api_InvalidServiceVersion = 24; + * } + */ public static int sdrplay_api_InvalidServiceVersion() { return (int)24L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_None = 0; + * } + */ public static int sdrplay_api_Update_None() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_Fs = 1; + * } + */ public static int sdrplay_api_Update_Dev_Fs() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_Ppm = 2; + * } + */ public static int sdrplay_api_Update_Dev_Ppm() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_SyncUpdate = 4; + * } + */ public static int sdrplay_api_Update_Dev_SyncUpdate() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_ResetFlags = 8; + * } + */ public static int sdrplay_api_Update_Dev_ResetFlags() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp1a_BiasTControl = 16; + * } + */ public static int sdrplay_api_Update_Rsp1a_BiasTControl() { return (int)16L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp1a_RfNotchControl = 32; + * } + */ public static int sdrplay_api_Update_Rsp1a_RfNotchControl() { return (int)32L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp1a_RfDabNotchControl = 64; + * } + */ public static int sdrplay_api_Update_Rsp1a_RfDabNotchControl() { return (int)64L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_BiasTControl = 128; + * } + */ public static int sdrplay_api_Update_Rsp2_BiasTControl() { return (int)128L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_AmPortSelect = 256; + * } + */ public static int sdrplay_api_Update_Rsp2_AmPortSelect() { return (int)256L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_AntennaControl = 512; + * } + */ public static int sdrplay_api_Update_Rsp2_AntennaControl() { return (int)512L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_RfNotchControl = 1024; + * } + */ public static int sdrplay_api_Update_Rsp2_RfNotchControl() { return (int)1024L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_ExtRefControl = 2048; + * } + */ public static int sdrplay_api_Update_Rsp2_ExtRefControl() { return (int)2048L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_ExtRefControl = 4096; + * } + */ public static int sdrplay_api_Update_RspDuo_ExtRefControl() { return (int)4096L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Master_Spare_1 = 8192; + * } + */ public static int sdrplay_api_Update_Master_Spare_1() { return (int)8192L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Master_Spare_2 = 16384; + * } + */ public static int sdrplay_api_Update_Master_Spare_2() { return (int)16384L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_Gr = 32768; + * } + */ public static int sdrplay_api_Update_Tuner_Gr() { return (int)32768L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_GrLimits = 65536; + * } + */ public static int sdrplay_api_Update_Tuner_GrLimits() { return (int)65536L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_Frf = 131072; + * } + */ public static int sdrplay_api_Update_Tuner_Frf() { return (int)131072L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_BwType = 262144; + * } + */ public static int sdrplay_api_Update_Tuner_BwType() { return (int)262144L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_IfType = 524288; + * } + */ public static int sdrplay_api_Update_Tuner_IfType() { return (int)524288L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_DcOffset = 1048576; + * } + */ public static int sdrplay_api_Update_Tuner_DcOffset() { return (int)1048576L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_LoMode = 2097152; + * } + */ public static int sdrplay_api_Update_Tuner_LoMode() { return (int)2097152L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_DCoffsetIQimbalance = 4194304; + * } + */ public static int sdrplay_api_Update_Ctrl_DCoffsetIQimbalance() { return (int)4194304L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_Decimation = 8388608; + * } + */ public static int sdrplay_api_Update_Ctrl_Decimation() { return (int)8388608L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_Agc = 16777216; + * } + */ public static int sdrplay_api_Update_Ctrl_Agc() { return (int)16777216L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_AdsbMode = 33554432; + * } + */ public static int sdrplay_api_Update_Ctrl_AdsbMode() { return (int)33554432L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_OverloadMsgAck = 67108864; + * } + */ public static int sdrplay_api_Update_Ctrl_OverloadMsgAck() { return (int)67108864L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_BiasTControl = 134217728; + * } + */ public static int sdrplay_api_Update_RspDuo_BiasTControl() { return (int)134217728L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_AmPortSelect = 268435456; + * } + */ public static int sdrplay_api_Update_RspDuo_AmPortSelect() { return (int)268435456L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_Tuner1AmNotchControl = 536870912; + * } + */ public static int sdrplay_api_Update_RspDuo_Tuner1AmNotchControl() { return (int)536870912L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_RfNotchControl = 1073741824; + * } + */ public static int sdrplay_api_Update_RspDuo_RfNotchControl() { return (int)1073741824L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_RfDabNotchControl = -2147483648; + * } + */ public static int sdrplay_api_Update_RspDuo_RfDabNotchControl() { return (int)-2147483648L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ext1_None = 0; + * } + */ public static int sdrplay_api_Update_Ext1_None() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_HdrEnable = 1; + * } + */ public static int sdrplay_api_Update_RspDx_HdrEnable() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_BiasTControl = 2; + * } + */ public static int sdrplay_api_Update_RspDx_BiasTControl() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_AntennaControl = 4; + * } + */ public static int sdrplay_api_Update_RspDx_AntennaControl() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_RfNotchControl = 8; + * } + */ public static int sdrplay_api_Update_RspDx_RfNotchControl() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_RfDabNotchControl = 16; + * } + */ public static int sdrplay_api_Update_RspDx_RfDabNotchControl() { return (int)16L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_HdrBw = 32; + * } + */ public static int sdrplay_api_Update_RspDx_HdrBw() { return (int)32L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Disable = 0; + * } + */ public static int sdrplay_api_DbgLvl_Disable() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Verbose = 1; + * } + */ public static int sdrplay_api_DbgLvl_Verbose() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Warning = 2; + * } + */ public static int sdrplay_api_DbgLvl_Warning() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Error = 3; + * } + */ public static int sdrplay_api_DbgLvl_Error() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Message = 4; + * } + */ public static int sdrplay_api_DbgLvl_Message() { return (int)4L; } public static MethodHandle sdrplay_api_Open$MH() { return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_Open$MH,"sdrplay_api_Open"); } - public static int sdrplay_api_Open () { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_Open(); + * } + */ + public static int sdrplay_api_Open() { var mh$ = sdrplay_api_Open$MH(); try { return (int)mh$.invokeExact(); @@ -520,7 +1298,12 @@ public static int sdrplay_api_Open () { public static MethodHandle sdrplay_api_Close$MH() { return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_Close$MH,"sdrplay_api_Close"); } - public static int sdrplay_api_Close () { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_Close(); + * } + */ + public static int sdrplay_api_Close() { var mh$ = sdrplay_api_Close$MH(); try { return (int)mh$.invokeExact(); @@ -531,7 +1314,12 @@ public static int sdrplay_api_Close () { public static MethodHandle sdrplay_api_ApiVersion$MH() { return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_ApiVersion$MH,"sdrplay_api_ApiVersion"); } - public static int sdrplay_api_ApiVersion ( Addressable apiVer) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_ApiVersion(float* apiVer); + * } + */ + public static int sdrplay_api_ApiVersion(MemorySegment apiVer) { var mh$ = sdrplay_api_ApiVersion$MH(); try { return (int)mh$.invokeExact(apiVer); @@ -542,7 +1330,12 @@ public static int sdrplay_api_ApiVersion ( Addressable apiVer) { public static MethodHandle sdrplay_api_LockDeviceApi$MH() { return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_LockDeviceApi$MH,"sdrplay_api_LockDeviceApi"); } - public static int sdrplay_api_LockDeviceApi () { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_LockDeviceApi(); + * } + */ + public static int sdrplay_api_LockDeviceApi() { var mh$ = sdrplay_api_LockDeviceApi$MH(); try { return (int)mh$.invokeExact(); @@ -553,7 +1346,12 @@ public static int sdrplay_api_LockDeviceApi () { public static MethodHandle sdrplay_api_UnlockDeviceApi$MH() { return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_UnlockDeviceApi$MH,"sdrplay_api_UnlockDeviceApi"); } - public static int sdrplay_api_UnlockDeviceApi () { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_UnlockDeviceApi(); + * } + */ + public static int sdrplay_api_UnlockDeviceApi() { var mh$ = sdrplay_api_UnlockDeviceApi$MH(); try { return (int)mh$.invokeExact(); @@ -564,7 +1362,12 @@ public static int sdrplay_api_UnlockDeviceApi () { public static MethodHandle sdrplay_api_GetDevices$MH() { return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_GetDevices$MH,"sdrplay_api_GetDevices"); } - public static int sdrplay_api_GetDevices ( Addressable devices, Addressable numDevs, int maxDevs) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_GetDevices(sdrplay_api_DeviceT* devices, unsigned int* numDevs, unsigned int maxDevs); + * } + */ + public static int sdrplay_api_GetDevices(MemorySegment devices, MemorySegment numDevs, int maxDevs) { var mh$ = sdrplay_api_GetDevices$MH(); try { return (int)mh$.invokeExact(devices, numDevs, maxDevs); @@ -575,7 +1378,12 @@ public static int sdrplay_api_GetDevices ( Addressable devices, Addressable num public static MethodHandle sdrplay_api_SelectDevice$MH() { return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_SelectDevice$MH,"sdrplay_api_SelectDevice"); } - public static int sdrplay_api_SelectDevice ( Addressable device) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_SelectDevice(sdrplay_api_DeviceT* device); + * } + */ + public static int sdrplay_api_SelectDevice(MemorySegment device) { var mh$ = sdrplay_api_SelectDevice$MH(); try { return (int)mh$.invokeExact(device); @@ -586,7 +1394,12 @@ public static int sdrplay_api_SelectDevice ( Addressable device) { public static MethodHandle sdrplay_api_ReleaseDevice$MH() { return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_ReleaseDevice$MH,"sdrplay_api_ReleaseDevice"); } - public static int sdrplay_api_ReleaseDevice ( Addressable device) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_ReleaseDevice(sdrplay_api_DeviceT* device); + * } + */ + public static int sdrplay_api_ReleaseDevice(MemorySegment device) { var mh$ = sdrplay_api_ReleaseDevice$MH(); try { return (int)mh$.invokeExact(device); @@ -597,10 +1410,15 @@ public static int sdrplay_api_ReleaseDevice ( Addressable device) { public static MethodHandle sdrplay_api_GetErrorString$MH() { return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_GetErrorString$MH,"sdrplay_api_GetErrorString"); } - public static MemoryAddress sdrplay_api_GetErrorString ( int err) { + /** + * {@snippet : + * char* sdrplay_api_GetErrorString(sdrplay_api_ErrT err); + * } + */ + public static MemorySegment sdrplay_api_GetErrorString(int err) { var mh$ = sdrplay_api_GetErrorString$MH(); try { - return (java.lang.foreign.MemoryAddress)mh$.invokeExact(err); + return (java.lang.foreign.MemorySegment)mh$.invokeExact(err); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } @@ -608,10 +1426,15 @@ public static MemoryAddress sdrplay_api_GetErrorString ( int err) { public static MethodHandle sdrplay_api_GetLastError$MH() { return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_GetLastError$MH,"sdrplay_api_GetLastError"); } - public static MemoryAddress sdrplay_api_GetLastError ( Addressable device) { + /** + * {@snippet : + * sdrplay_api_ErrorInfoT* sdrplay_api_GetLastError(sdrplay_api_DeviceT* device); + * } + */ + public static MemorySegment sdrplay_api_GetLastError(MemorySegment device) { var mh$ = sdrplay_api_GetLastError$MH(); try { - return (java.lang.foreign.MemoryAddress)mh$.invokeExact(device); + return (java.lang.foreign.MemorySegment)mh$.invokeExact(device); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } @@ -619,7 +1442,12 @@ public static MemoryAddress sdrplay_api_GetLastError ( Addressable device) { public static MethodHandle sdrplay_api_DisableHeartbeat$MH() { return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_DisableHeartbeat$MH,"sdrplay_api_DisableHeartbeat"); } - public static int sdrplay_api_DisableHeartbeat () { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_DisableHeartbeat(); + * } + */ + public static int sdrplay_api_DisableHeartbeat() { var mh$ = sdrplay_api_DisableHeartbeat$MH(); try { return (int)mh$.invokeExact(); @@ -630,7 +1458,12 @@ public static int sdrplay_api_DisableHeartbeat () { public static MethodHandle sdrplay_api_DebugEnable$MH() { return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_DebugEnable$MH,"sdrplay_api_DebugEnable"); } - public static int sdrplay_api_DebugEnable ( Addressable dev, int enable) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_DebugEnable(HANDLE dev, sdrplay_api_DbgLvl_t enable); + * } + */ + public static int sdrplay_api_DebugEnable(MemorySegment dev, int enable) { var mh$ = sdrplay_api_DebugEnable$MH(); try { return (int)mh$.invokeExact(dev, enable); @@ -641,7 +1474,12 @@ public static int sdrplay_api_DebugEnable ( Addressable dev, int enable) { public static MethodHandle sdrplay_api_GetDeviceParams$MH() { return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_GetDeviceParams$MH,"sdrplay_api_GetDeviceParams"); } - public static int sdrplay_api_GetDeviceParams ( Addressable dev, Addressable deviceParams) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_GetDeviceParams(HANDLE dev, sdrplay_api_DeviceParamsT** deviceParams); + * } + */ + public static int sdrplay_api_GetDeviceParams(MemorySegment dev, MemorySegment deviceParams) { var mh$ = sdrplay_api_GetDeviceParams$MH(); try { return (int)mh$.invokeExact(dev, deviceParams); @@ -652,7 +1490,12 @@ public static int sdrplay_api_GetDeviceParams ( Addressable dev, Addressable de public static MethodHandle sdrplay_api_Init$MH() { return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_Init$MH,"sdrplay_api_Init"); } - public static int sdrplay_api_Init ( Addressable dev, Addressable callbackFns, Addressable cbContext) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_Init(HANDLE dev, sdrplay_api_CallbackFnsT* callbackFns, void* cbContext); + * } + */ + public static int sdrplay_api_Init(MemorySegment dev, MemorySegment callbackFns, MemorySegment cbContext) { var mh$ = sdrplay_api_Init$MH(); try { return (int)mh$.invokeExact(dev, callbackFns, cbContext); @@ -663,7 +1506,12 @@ public static int sdrplay_api_Init ( Addressable dev, Addressable callbackFns, public static MethodHandle sdrplay_api_Uninit$MH() { return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_Uninit$MH,"sdrplay_api_Uninit"); } - public static int sdrplay_api_Uninit ( Addressable dev) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_Uninit(HANDLE dev); + * } + */ + public static int sdrplay_api_Uninit(MemorySegment dev) { var mh$ = sdrplay_api_Uninit$MH(); try { return (int)mh$.invokeExact(dev); @@ -674,7 +1522,12 @@ public static int sdrplay_api_Uninit ( Addressable dev) { public static MethodHandle sdrplay_api_Update$MH() { return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_Update$MH,"sdrplay_api_Update"); } - public static int sdrplay_api_Update ( Addressable dev, int tuner, int reasonForUpdate, int reasonForUpdateExt1) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_Update(HANDLE dev, sdrplay_api_TunerSelectT tuner, sdrplay_api_ReasonForUpdateT reasonForUpdate, sdrplay_api_ReasonForUpdateExtension1T reasonForUpdateExt1); + * } + */ + public static int sdrplay_api_Update(MemorySegment dev, int tuner, int reasonForUpdate, int reasonForUpdateExt1) { var mh$ = sdrplay_api_Update$MH(); try { return (int)mh$.invokeExact(dev, tuner, reasonForUpdate, reasonForUpdateExt1); @@ -685,7 +1538,12 @@ public static int sdrplay_api_Update ( Addressable dev, int tuner, int reasonF public static MethodHandle sdrplay_api_SwapRspDuoActiveTuner$MH() { return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_SwapRspDuoActiveTuner$MH,"sdrplay_api_SwapRspDuoActiveTuner"); } - public static int sdrplay_api_SwapRspDuoActiveTuner ( Addressable dev, Addressable currentTuner, int tuner1AmPortSel) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_SwapRspDuoActiveTuner(HANDLE dev, sdrplay_api_TunerSelectT* currentTuner, sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel); + * } + */ + public static int sdrplay_api_SwapRspDuoActiveTuner(MemorySegment dev, MemorySegment currentTuner, int tuner1AmPortSel) { var mh$ = sdrplay_api_SwapRspDuoActiveTuner$MH(); try { return (int)mh$.invokeExact(dev, currentTuner, tuner1AmPortSel); @@ -696,7 +1554,12 @@ public static int sdrplay_api_SwapRspDuoActiveTuner ( Addressable dev, Addressa public static MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate$MH() { return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_SwapRspDuoDualTunerModeSampleRate$MH,"sdrplay_api_SwapRspDuoDualTunerModeSampleRate"); } - public static int sdrplay_api_SwapRspDuoDualTunerModeSampleRate ( Addressable dev, Addressable currentSampleRate) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_SwapRspDuoDualTunerModeSampleRate(HANDLE dev, double* currentSampleRate); + * } + */ + public static int sdrplay_api_SwapRspDuoDualTunerModeSampleRate(MemorySegment dev, MemorySegment currentSampleRate) { var mh$ = sdrplay_api_SwapRspDuoDualTunerModeSampleRate$MH(); try { return (int)mh$.invokeExact(dev, currentSampleRate); @@ -707,7 +1570,12 @@ public static int sdrplay_api_SwapRspDuoDualTunerModeSampleRate ( Addressable de public static MethodHandle sdrplay_api_SwapRspDuoMode$MH() { return RuntimeHelper.requireNonNull(constants$10.sdrplay_api_SwapRspDuoMode$MH,"sdrplay_api_SwapRspDuoMode"); } - public static int sdrplay_api_SwapRspDuoMode ( Addressable currDevice, Addressable deviceParams, int rspDuoMode, double sampleRate, int tuner, int bwType, int ifType, int tuner1AmPortSel) { + /** + * {@snippet : + * sdrplay_api_ErrT sdrplay_api_SwapRspDuoMode(sdrplay_api_DeviceT* currDevice, sdrplay_api_DeviceParamsT** deviceParams, sdrplay_api_RspDuoModeT rspDuoMode, double sampleRate, sdrplay_api_TunerSelectT tuner, sdrplay_api_Bw_MHzT bwType, sdrplay_api_If_kHzT ifType, sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel); + * } + */ + public static int sdrplay_api_SwapRspDuoMode(MemorySegment currDevice, MemorySegment deviceParams, int rspDuoMode, double sampleRate, int tuner, int bwType, int ifType, int tuner1AmPortSel) { var mh$ = sdrplay_api_SwapRspDuoMode$MH(); try { return (int)mh$.invokeExact(currDevice, deviceParams, rspDuoMode, sampleRate, tuner, bwType, ifType, tuner1AmPortSel); @@ -715,36 +1583,91 @@ public static int sdrplay_api_SwapRspDuoMode ( Addressable currDevice, Addressa throw new AssertionError("should not reach here", ex$); } } + /** + * {@snippet : + * #define MAX_BB_GR 59 + * } + */ public static int MAX_BB_GR() { return (int)59L; } + /** + * {@snippet : + * #define SDRPLAY_API_VERSION 3.069999933242798 + * } + */ public static float SDRPLAY_API_VERSION() { - return 3.07f; + return 3.069999933242798f; } + /** + * {@snippet : + * #define SDRPLAY_MAX_DEVICES 16 + * } + */ public static int SDRPLAY_MAX_DEVICES() { return (int)16L; } + /** + * {@snippet : + * #define SDRPLAY_MAX_TUNERS_PER_DEVICE 2 + * } + */ public static int SDRPLAY_MAX_TUNERS_PER_DEVICE() { return (int)2L; } + /** + * {@snippet : + * #define SDRPLAY_MAX_SER_NO_LEN 64 + * } + */ public static int SDRPLAY_MAX_SER_NO_LEN() { return (int)64L; } + /** + * {@snippet : + * #define SDRPLAY_MAX_ROOT_NM_LEN 32 + * } + */ public static int SDRPLAY_MAX_ROOT_NM_LEN() { return (int)32L; } + /** + * {@snippet : + * #define SDRPLAY_RSP1_ID 1 + * } + */ public static int SDRPLAY_RSP1_ID() { return (int)1L; } + /** + * {@snippet : + * #define SDRPLAY_RSP1A_ID 255 + * } + */ public static int SDRPLAY_RSP1A_ID() { return (int)255L; } + /** + * {@snippet : + * #define SDRPLAY_RSP2_ID 2 + * } + */ public static int SDRPLAY_RSP2_ID() { return (int)2L; } + /** + * {@snippet : + * #define SDRPLAY_RSPduo_ID 3 + * } + */ public static int SDRPLAY_RSPduo_ID() { return (int)3L; } + /** + * {@snippet : + * #define SDRPLAY_RSPdx_ID 4 + * } + */ public static int SDRPLAY_RSPdx_ID() { return (int)4L; } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/Constants$root.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/Constants$root.java index 83f658aa8..b0f33aa21 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/Constants$root.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/Constants$root.java @@ -37,17 +37,19 @@ import static java.lang.foreign.ValueLayout.OfInt; import static java.lang.foreign.ValueLayout.OfLong; import static java.lang.foreign.ValueLayout.OfShort; -public class Constants$root { +final class Constants$root { - static final OfBoolean C_BOOL$LAYOUT = JAVA_BOOLEAN; - static final OfByte C_CHAR$LAYOUT = JAVA_BYTE; - static final OfShort C_SHORT$LAYOUT = JAVA_SHORT.withBitAlignment(16); - static final OfInt C_INT$LAYOUT = JAVA_INT.withBitAlignment(32); - static final OfInt C_LONG$LAYOUT = JAVA_INT.withBitAlignment(32); - static final OfLong C_LONG_LONG$LAYOUT = JAVA_LONG.withBitAlignment(64); - static final OfFloat C_FLOAT$LAYOUT = JAVA_FLOAT.withBitAlignment(32); - static final OfDouble C_DOUBLE$LAYOUT = JAVA_DOUBLE.withBitAlignment(64); - static final OfAddress C_POINTER$LAYOUT = ADDRESS.withBitAlignment(64); + // Suppresses default constructor, ensuring non-instantiability. + private Constants$root() {} + static final OfBoolean C_BOOL$LAYOUT = JAVA_BOOLEAN; + static final OfByte C_CHAR$LAYOUT = JAVA_BYTE; + static final OfShort C_SHORT$LAYOUT = JAVA_SHORT; + static final OfInt C_INT$LAYOUT = JAVA_INT; + static final OfLong C_LONG$LAYOUT = JAVA_LONG; + static final OfLong C_LONG_LONG$LAYOUT = JAVA_LONG; + static final OfFloat C_FLOAT$LAYOUT = JAVA_FLOAT; + static final OfDouble C_DOUBLE$LAYOUT = JAVA_DOUBLE; + static final OfAddress C_POINTER$LAYOUT = ADDRESS.withBitAlignment(64).asUnbounded(); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/RuntimeHelper.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/RuntimeHelper.java index 1d408bf87..4bc8f4e9d 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/RuntimeHelper.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/RuntimeHelper.java @@ -20,15 +20,13 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; // Generated by jextract -import java.lang.foreign.Addressable; import java.lang.foreign.FunctionDescriptor; import java.lang.foreign.GroupLayout; import java.lang.foreign.Linker; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; import java.lang.foreign.SymbolLookup; import java.lang.foreign.ValueLayout; import java.lang.invoke.MethodHandle; @@ -41,21 +39,24 @@ final class RuntimeHelper { - private RuntimeHelper() {} - private final static Linker LINKER = Linker.nativeLinker(); - private final static ClassLoader LOADER = RuntimeHelper.class.getClassLoader(); - private final static MethodHandles.Lookup MH_LOOKUP = MethodHandles.lookup(); - private final static SymbolLookup SYMBOL_LOOKUP; + private static final Linker LINKER = Linker.nativeLinker(); + private static final ClassLoader LOADER = RuntimeHelper.class.getClassLoader(); + private static final MethodHandles.Lookup MH_LOOKUP = MethodHandles.lookup(); + private static final SymbolLookup SYMBOL_LOOKUP; + private static final SegmentAllocator THROWING_ALLOCATOR = (x, y) -> { throw new AssertionError("should not reach here"); }; final static SegmentAllocator CONSTANT_ALLOCATOR = - (size, align) -> MemorySegment.allocateNative(size, align, MemorySession.openImplicit()); + (size, align) -> MemorySegment.allocateNative(size, align, SegmentScope.auto()); static { // System.loadLibrary("libsdrplay_api"); SymbolLookup loaderLookup = SymbolLookup.loaderLookup(); - SYMBOL_LOOKUP = name -> loaderLookup.lookup(name).or(() -> LINKER.defaultLookup().lookup(name)); + SYMBOL_LOOKUP = name -> loaderLookup.find(name).or(() -> LINKER.defaultLookup().find(name)); } + // Suppresses default constructor, ensuring non-instantiability. + private RuntimeHelper() {} + static T requireNonNull(T obj, String symbolName) { if (obj == null) { throw new UnsatisfiedLinkError("unresolved symbol: " + symbolName); @@ -63,45 +64,50 @@ static T requireNonNull(T obj, String symbolName) { return obj; } - private final static SegmentAllocator THROWING_ALLOCATOR = (x, y) -> { throw new AssertionError("should not reach here"); }; - - static final MemorySegment lookupGlobalVariable(String name, MemoryLayout layout) { - return SYMBOL_LOOKUP.lookup(name).map(symbol -> MemorySegment.ofAddress(symbol.address(), layout.byteSize(), MemorySession.openShared())).orElse(null); + static MemorySegment lookupGlobalVariable(String name, MemoryLayout layout) { + return SYMBOL_LOOKUP.find(name).map(symbol -> MemorySegment.ofAddress(symbol.address(), layout.byteSize(), symbol.scope())).orElse(null); } - static final MethodHandle downcallHandle(String name, FunctionDescriptor fdesc) { - return SYMBOL_LOOKUP.lookup(name). + static MethodHandle downcallHandle(String name, FunctionDescriptor fdesc) { + return SYMBOL_LOOKUP.find(name). map(addr -> LINKER.downcallHandle(addr, fdesc)). orElse(null); } - static final MethodHandle downcallHandle(FunctionDescriptor fdesc) { + static MethodHandle downcallHandle(FunctionDescriptor fdesc) { return LINKER.downcallHandle(fdesc); } - static final MethodHandle downcallHandleVariadic(String name, FunctionDescriptor fdesc) { - return SYMBOL_LOOKUP.lookup(name). + static MethodHandle downcallHandleVariadic(String name, FunctionDescriptor fdesc) { + return SYMBOL_LOOKUP.find(name). map(addr -> VarargsInvoker.make(addr, fdesc)). orElse(null); } - static final MemorySegment upcallStub(Class fi, Z z, FunctionDescriptor fdesc, MemorySession session) { + static MethodHandle upcallHandle(Class fi, String name, FunctionDescriptor fdesc) { try { - MethodHandle handle = MH_LOOKUP.findVirtual(fi, "apply", Linker.upcallType(fdesc)); - handle = handle.bindTo(z); - return LINKER.upcallStub(handle, fdesc, session); + return MH_LOOKUP.findVirtual(fi, name, fdesc.toMethodType()); } catch (Throwable ex) { throw new AssertionError(ex); } } - static MemorySegment asArray(MemoryAddress addr, MemoryLayout layout, int numElements, MemorySession session) { - return MemorySegment.ofAddress(addr, numElements * layout.byteSize(), session); + static MemorySegment upcallStub(MethodHandle fiHandle, Z z, FunctionDescriptor fdesc, SegmentScope scope) { + try { + fiHandle = fiHandle.bindTo(z); + return LINKER.upcallStub(fiHandle, fdesc, scope); + } catch (Throwable ex) { + throw new AssertionError(ex); + } + } + + static MemorySegment asArray(MemorySegment addr, MemoryLayout layout, int numElements, SegmentScope scope) { + return MemorySegment.ofAddress(addr.address(), numElements * layout.byteSize(), scope); } // Internals only below this point - private static class VarargsInvoker { + private static final class VarargsInvoker { private static final MethodHandle INVOKE_MH; private final MemorySegment symbol; private final FunctionDescriptor function; @@ -127,7 +133,9 @@ static MethodHandle make(MemorySegment symbol, FunctionDescriptor function) { mtype = mtype.appendParameterTypes(carrier(layout, false)); } mtype = mtype.appendParameterTypes(Object[].class); - if (mtype.returnType().equals(MemorySegment.class)) { + boolean needsAllocator = function.returnLayout().isPresent() && + function.returnLayout().get() instanceof GroupLayout; + if (needsAllocator) { mtype = mtype.insertParameterTypes(0, SegmentAllocator.class); } else { handle = MethodHandles.insertArguments(handle, 0, THROWING_ALLOCATOR); @@ -137,8 +145,7 @@ static MethodHandle make(MemorySegment symbol, FunctionDescriptor function) { static Class carrier(MemoryLayout layout, boolean ret) { if (layout instanceof ValueLayout valueLayout) { - return (ret || valueLayout.carrier() != MemoryAddress.class) ? - valueLayout.carrier() : Addressable.class; + return valueLayout.carrier(); } else if (layout instanceof GroupLayout) { return MemorySegment.class; } else { @@ -173,7 +180,9 @@ private Object invoke(SegmentAllocator allocator, Object[] args) throws Throwabl FunctionDescriptor.ofVoid(argLayouts) : FunctionDescriptor.of(function.returnLayout().get(), argLayouts); MethodHandle mh = LINKER.downcallHandle(symbol, f); - if (mh.type().returnType() == MemorySegment.class) { + boolean needsAllocator = function.returnLayout().isPresent() && + function.returnLayout().get() instanceof GroupLayout; + if (needsAllocator) { mh = mh.bindTo(allocator); } // flatten argument list so that it can be passed to an asSpreader MH @@ -223,10 +232,7 @@ private Class normalize(Class c) { if (c.isPrimitive()) { return promote(c); } - if (MemoryAddress.class.isAssignableFrom(c)) { - return MemoryAddress.class; - } - if (MemorySegment.class.isAssignableFrom(c)) { + if (c == MemorySegment.class) { return MemorySegment.class; } throw new IllegalArgumentException("Invalid type for ABI: " + c.getTypeName()); @@ -237,7 +243,7 @@ private MemoryLayout variadicLayout(Class c) { return JAVA_LONG; } else if (c == double.class) { return JAVA_DOUBLE; - } else if (MemoryAddress.class.isAssignableFrom(c)) { + } else if (c == MemorySegment.class) { return ADDRESS; } else { throw new IllegalArgumentException("Unhandled variadic argument class: " + c); diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$0.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$0.java index 67132dd43..55d951472 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$0.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$0.java @@ -23,31 +23,67 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$0 { +final class constants$0 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$0() {} static final FunctionDescriptor sdrplay_api_StreamCallback_t$FUNC = FunctionDescriptor.ofVoid( Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_StreamCallback_t$MH = RuntimeHelper.downcallHandle( - constants$0.sdrplay_api_StreamCallback_t$FUNC + static final FunctionDescriptor sdrplay_api_StreamCallback_t_UP$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_StreamCallback_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_StreamCallback_t.class, "apply", constants$0.sdrplay_api_StreamCallback_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_StreamCallback_t_DOWN$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_StreamCallback_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$0.sdrplay_api_StreamCallback_t_DOWN$FUNC ); static final FunctionDescriptor sdrplay_api_EventCallback_t$FUNC = FunctionDescriptor.ofVoid( - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_EventCallback_t_UP$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_EventCallback_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_EventCallback_t.class, "apply", constants$0.sdrplay_api_EventCallback_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_EventCallback_t_DOWN$FUNC = FunctionDescriptor.ofVoid( + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_EventCallback_t$MH = RuntimeHelper.downcallHandle( - constants$0.sdrplay_api_EventCallback_t$FUNC + static final MethodHandle sdrplay_api_EventCallback_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$0.sdrplay_api_EventCallback_t_DOWN$FUNC ); - static final FunctionDescriptor sdrplay_api_Open_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_Open_t$MH = RuntimeHelper.downcallHandle( - constants$0.sdrplay_api_Open_t$FUNC + static final FunctionDescriptor sdrplay_api_Open_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_Open_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Open_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Open_t.class, "apply", constants$0.sdrplay_api_Open_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Open_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Open_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$0.sdrplay_api_Open_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$1.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$1.java index 8b5d5debe..ea36af1a8 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$1.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$1.java @@ -23,21 +23,37 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$1 { - static final FunctionDescriptor sdrplay_api_Close_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_Close_t$MH = RuntimeHelper.downcallHandle( - constants$1.sdrplay_api_Close_t$FUNC +final class constants$1 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$1() {} + static final FunctionDescriptor sdrplay_api_Close_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_Close_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Close_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Close_t.class, "apply", constants$1.sdrplay_api_Close_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Close_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_Close_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$1.sdrplay_api_Close_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_ApiVersion_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_ApiVersion_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT ); - static final FunctionDescriptor sdrplay_api_ApiVersion_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_ApiVersion_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_ApiVersion_t.class, "apply", constants$1.sdrplay_api_ApiVersion_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_ApiVersion_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_ApiVersion_t$MH = RuntimeHelper.downcallHandle( - constants$1.sdrplay_api_ApiVersion_t$FUNC + static final MethodHandle sdrplay_api_ApiVersion_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$1.sdrplay_api_ApiVersion_t_DOWN$FUNC ); - static final FunctionDescriptor sdrplay_api_LockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_LockDeviceApi_t$MH = RuntimeHelper.downcallHandle( - constants$1.sdrplay_api_LockDeviceApi_t$FUNC + static final FunctionDescriptor sdrplay_api_LockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_LockDeviceApi_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_LockDeviceApi_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_LockDeviceApi_t.class, "apply", constants$1.sdrplay_api_LockDeviceApi_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_LockDeviceApi_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_LockDeviceApi_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$1.sdrplay_api_LockDeviceApi_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$10.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$10.java deleted file mode 100644 index b333d0620..000000000 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$10.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * ***************************************************************************** - * Copyright (C) 2014-2023 Dennis Sheirer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * **************************************************************************** - */ - -// Generated by jextract - -package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; - -import java.lang.foreign.FunctionDescriptor; -import java.lang.invoke.MethodHandle; -class constants$10 { - - static final FunctionDescriptor sdrplay_api_SwapRspDuoMode$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_DOUBLE$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT - ); - static final MethodHandle sdrplay_api_SwapRspDuoMode$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_SwapRspDuoMode", - constants$10.sdrplay_api_SwapRspDuoMode$FUNC - ); -} - - diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$2.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$2.java index 78401c41a..bc5c0fb52 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$2.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$2.java @@ -23,25 +23,49 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$2 { - static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_UnlockDeviceApi_t$MH = RuntimeHelper.downcallHandle( - constants$2.sdrplay_api_UnlockDeviceApi_t$FUNC +final class constants$2 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$2() {} + static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_UnlockDeviceApi_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_UnlockDeviceApi_t.class, "apply", constants$2.sdrplay_api_UnlockDeviceApi_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_UnlockDeviceApi_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_UnlockDeviceApi_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$2.sdrplay_api_UnlockDeviceApi_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_GetDevices_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_GetDevices_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_GetDevices_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_GetDevices_t$MH = RuntimeHelper.downcallHandle( - constants$2.sdrplay_api_GetDevices_t$FUNC + static final MethodHandle sdrplay_api_GetDevices_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetDevices_t.class, "apply", constants$2.sdrplay_api_GetDevices_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetDevices_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_GetDevices_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$2.sdrplay_api_GetDevices_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_SelectDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_SelectDevice_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT ); - static final FunctionDescriptor sdrplay_api_SelectDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_SelectDevice_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SelectDevice_t.class, "apply", constants$2.sdrplay_api_SelectDevice_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SelectDevice_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_SelectDevice_t$MH = RuntimeHelper.downcallHandle( - constants$2.sdrplay_api_SelectDevice_t$FUNC + static final MethodHandle sdrplay_api_SelectDevice_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$2.sdrplay_api_SelectDevice_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$3.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$3.java index 7fb9c7c80..873be6a65 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$3.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$3.java @@ -23,25 +23,49 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$3 { - static final FunctionDescriptor sdrplay_api_ReleaseDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$3 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$3() {} + static final FunctionDescriptor sdrplay_api_ReleaseDevice_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_ReleaseDevice_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_ReleaseDevice_t$MH = RuntimeHelper.downcallHandle( - constants$3.sdrplay_api_ReleaseDevice_t$FUNC + static final MethodHandle sdrplay_api_ReleaseDevice_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_ReleaseDevice_t.class, "apply", constants$3.sdrplay_api_ReleaseDevice_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_ReleaseDevice_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_ReleaseDevice_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$3.sdrplay_api_ReleaseDevice_t_DOWN$FUNC ); static final FunctionDescriptor sdrplay_api_GetErrorString_t$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_GetErrorString_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_GetErrorString_t$MH = RuntimeHelper.downcallHandle( - constants$3.sdrplay_api_GetErrorString_t$FUNC + static final MethodHandle sdrplay_api_GetErrorString_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetErrorString_t.class, "apply", constants$3.sdrplay_api_GetErrorString_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetErrorString_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_GetErrorString_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$3.sdrplay_api_GetErrorString_t_DOWN$FUNC ); static final FunctionDescriptor sdrplay_api_GetLastError_t$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_GetLastError_t$MH = RuntimeHelper.downcallHandle( - constants$3.sdrplay_api_GetLastError_t$FUNC + static final FunctionDescriptor sdrplay_api_GetLastError_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_GetLastError_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetLastError_t.class, "apply", constants$3.sdrplay_api_GetLastError_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetLastError_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_GetLastError_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$3.sdrplay_api_GetLastError_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$4.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$4.java index 476652d9d..028a9bcda 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$4.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$4.java @@ -23,25 +23,49 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$4 { - static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_DisableHeartbeat_t$MH = RuntimeHelper.downcallHandle( - constants$4.sdrplay_api_DisableHeartbeat_t$FUNC +final class constants$4 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$4() {} + static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_DisableHeartbeat_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_DisableHeartbeat_t.class, "apply", constants$4.sdrplay_api_DisableHeartbeat_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_DisableHeartbeat_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT); + static final MethodHandle sdrplay_api_DisableHeartbeat_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$4.sdrplay_api_DisableHeartbeat_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_DebugEnable_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_DebugEnable_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_DebugEnable_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_DebugEnable_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_DebugEnable_t.class, "apply", constants$4.sdrplay_api_DebugEnable_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_DebugEnable_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_DebugEnable_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$4.sdrplay_api_DebugEnable_t_DOWN$FUNC ); - static final MethodHandle sdrplay_api_DebugEnable_t$MH = RuntimeHelper.downcallHandle( - constants$4.sdrplay_api_DebugEnable_t$FUNC + static final FunctionDescriptor sdrplay_api_GetDeviceParams_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_GetDeviceParams_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT ); - static final FunctionDescriptor sdrplay_api_GetDeviceParams_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_GetDeviceParams_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_GetDeviceParams_t.class, "apply", constants$4.sdrplay_api_GetDeviceParams_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_GetDeviceParams_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_GetDeviceParams_t$MH = RuntimeHelper.downcallHandle( - constants$4.sdrplay_api_GetDeviceParams_t$FUNC + static final MethodHandle sdrplay_api_GetDeviceParams_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$4.sdrplay_api_GetDeviceParams_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$5.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$5.java index 9d5397600..aad648b39 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$5.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$5.java @@ -23,30 +23,64 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$5 { - static final FunctionDescriptor sdrplay_api_Init_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$5 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$5() {} + static final FunctionDescriptor sdrplay_api_Init_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_Init_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_Init_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Init_t.class, "apply", constants$5.sdrplay_api_Init_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Init_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_Init_t$MH = RuntimeHelper.downcallHandle( - constants$5.sdrplay_api_Init_t$FUNC + static final MethodHandle sdrplay_api_Init_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$5.sdrplay_api_Init_t_DOWN$FUNC ); - static final FunctionDescriptor sdrplay_api_Uninit_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final FunctionDescriptor sdrplay_api_Uninit_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT ); - static final MethodHandle sdrplay_api_Uninit_t$MH = RuntimeHelper.downcallHandle( - constants$5.sdrplay_api_Uninit_t$FUNC + static final FunctionDescriptor sdrplay_api_Uninit_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_Uninit_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Uninit_t.class, "apply", constants$5.sdrplay_api_Uninit_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Uninit_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT + ); + static final MethodHandle sdrplay_api_Uninit_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$5.sdrplay_api_Uninit_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_Update_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_Update_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_Update_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_Update_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_Update_t.class, "apply", constants$5.sdrplay_api_Update_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_Update_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_Update_t$MH = RuntimeHelper.downcallHandle( - constants$5.sdrplay_api_Update_t$FUNC + static final MethodHandle sdrplay_api_Update_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$5.sdrplay_api_Update_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$6.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$6.java index 15133782a..3f1fee9a6 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$6.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$6.java @@ -23,35 +23,79 @@ import java.lang.foreign.FunctionDescriptor; import java.lang.invoke.MethodHandle; -class constants$6 { - static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, +final class constants$6 { + + // Suppresses default constructor, ensuring non-instantiability. + private constants$6() {} + static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner_t$MH = RuntimeHelper.downcallHandle( - constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$FUNC + static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SwapRspDuoActiveTuner_t.class, "apply", constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_DOUBLE$LAYOUT ); - static final MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$MH = RuntimeHelper.downcallHandle( - constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC + static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_DOUBLE$LAYOUT + ); + static final MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.class, "apply", constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_DOUBLE$LAYOUT + ); + static final MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$FUNC + ); + static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_DOUBLE$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT + ); + static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t_UP$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_POINTER$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_DOUBLE$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, + static final MethodHandle sdrplay_api_SwapRspDuoMode_t_UP$MH = RuntimeHelper.upcallHandle(sdrplay_api_SwapRspDuoMode_t.class, "apply", constants$6.sdrplay_api_SwapRspDuoMode_t_UP$FUNC); + static final FunctionDescriptor sdrplay_api_SwapRspDuoMode_t_DOWN$FUNC = FunctionDescriptor.of(Constants$root.C_INT$LAYOUT, Constants$root.C_POINTER$LAYOUT, Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, + Constants$root.C_INT$LAYOUT, Constants$root.C_DOUBLE$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT, + Constants$root.C_INT$LAYOUT ); - static final MethodHandle sdrplay_api_SwapRspDuoMode_t$MH = RuntimeHelper.downcallHandle( - constants$6.sdrplay_api_SwapRspDuoMode_t$FUNC + static final MethodHandle sdrplay_api_SwapRspDuoMode_t_DOWN$MH = RuntimeHelper.downcallHandle( + constants$6.sdrplay_api_SwapRspDuoMode_t_DOWN$FUNC ); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$7.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$7.java deleted file mode 100644 index 642291dfd..000000000 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$7.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * ***************************************************************************** - * Copyright (C) 2014-2023 Dennis Sheirer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * **************************************************************************** - */ - -// Generated by jextract - -package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; - -import java.lang.foreign.FunctionDescriptor; -import java.lang.invoke.MethodHandle; -class constants$7 { - - static final FunctionDescriptor sdrplay_api_Open$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_Open$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_Open", - constants$7.sdrplay_api_Open$FUNC - ); - static final FunctionDescriptor sdrplay_api_Close$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_Close$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_Close", - constants$7.sdrplay_api_Close$FUNC - ); - static final FunctionDescriptor sdrplay_api_ApiVersion$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT - ); - static final MethodHandle sdrplay_api_ApiVersion$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_ApiVersion", - constants$7.sdrplay_api_ApiVersion$FUNC - ); - static final FunctionDescriptor sdrplay_api_LockDeviceApi$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_LockDeviceApi$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_LockDeviceApi", - constants$7.sdrplay_api_LockDeviceApi$FUNC - ); - static final FunctionDescriptor sdrplay_api_UnlockDeviceApi$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_UnlockDeviceApi$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_UnlockDeviceApi", - constants$7.sdrplay_api_UnlockDeviceApi$FUNC - ); - static final FunctionDescriptor sdrplay_api_GetDevices$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT - ); - static final MethodHandle sdrplay_api_GetDevices$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_GetDevices", - constants$7.sdrplay_api_GetDevices$FUNC - ); -} - - diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$8.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$8.java deleted file mode 100644 index 7bd7e96a9..000000000 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$8.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * ***************************************************************************** - * Copyright (C) 2014-2023 Dennis Sheirer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * **************************************************************************** - */ - -// Generated by jextract - -package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; - -import java.lang.foreign.FunctionDescriptor; -import java.lang.invoke.MethodHandle; -class constants$8 { - - static final FunctionDescriptor sdrplay_api_SelectDevice$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT - ); - static final MethodHandle sdrplay_api_SelectDevice$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_SelectDevice", - constants$8.sdrplay_api_SelectDevice$FUNC - ); - static final FunctionDescriptor sdrplay_api_ReleaseDevice$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT - ); - static final MethodHandle sdrplay_api_ReleaseDevice$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_ReleaseDevice", - constants$8.sdrplay_api_ReleaseDevice$FUNC - ); - static final FunctionDescriptor sdrplay_api_GetErrorString$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT - ); - static final MethodHandle sdrplay_api_GetErrorString$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_GetErrorString", - constants$8.sdrplay_api_GetErrorString$FUNC - ); - static final FunctionDescriptor sdrplay_api_GetLastError$FUNC = FunctionDescriptor.of(Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT - ); - static final MethodHandle sdrplay_api_GetLastError$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_GetLastError", - constants$8.sdrplay_api_GetLastError$FUNC - ); - static final FunctionDescriptor sdrplay_api_DisableHeartbeat$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT); - static final MethodHandle sdrplay_api_DisableHeartbeat$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_DisableHeartbeat", - constants$8.sdrplay_api_DisableHeartbeat$FUNC - ); - static final FunctionDescriptor sdrplay_api_DebugEnable$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT - ); - static final MethodHandle sdrplay_api_DebugEnable$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_DebugEnable", - constants$8.sdrplay_api_DebugEnable$FUNC - ); -} - - diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$9.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$9.java deleted file mode 100644 index 0a09e958a..000000000 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/constants$9.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * ***************************************************************************** - * Copyright (C) 2014-2023 Dennis Sheirer - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see - * **************************************************************************** - */ - -// Generated by jextract - -package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; - -import java.lang.foreign.FunctionDescriptor; -import java.lang.invoke.MethodHandle; -class constants$9 { - - static final FunctionDescriptor sdrplay_api_GetDeviceParams$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT - ); - static final MethodHandle sdrplay_api_GetDeviceParams$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_GetDeviceParams", - constants$9.sdrplay_api_GetDeviceParams$FUNC - ); - static final FunctionDescriptor sdrplay_api_Init$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT - ); - static final MethodHandle sdrplay_api_Init$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_Init", - constants$9.sdrplay_api_Init$FUNC - ); - static final FunctionDescriptor sdrplay_api_Uninit$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT - ); - static final MethodHandle sdrplay_api_Uninit$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_Uninit", - constants$9.sdrplay_api_Uninit$FUNC - ); - static final FunctionDescriptor sdrplay_api_Update$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT, - Constants$root.C_LONG$LAYOUT - ); - static final MethodHandle sdrplay_api_Update$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_Update", - constants$9.sdrplay_api_Update$FUNC - ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoActiveTuner$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_LONG$LAYOUT - ); - static final MethodHandle sdrplay_api_SwapRspDuoActiveTuner$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_SwapRspDuoActiveTuner", - constants$9.sdrplay_api_SwapRspDuoActiveTuner$FUNC - ); - static final FunctionDescriptor sdrplay_api_SwapRspDuoDualTunerModeSampleRate$FUNC = FunctionDescriptor.of(Constants$root.C_LONG$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_POINTER$LAYOUT, - Constants$root.C_DOUBLE$LAYOUT - ); - static final MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate$MH = RuntimeHelper.downcallHandle( - "sdrplay_api_SwapRspDuoDualTunerModeSampleRate", - constants$9.sdrplay_api_SwapRspDuoDualTunerModeSampleRate$FUNC - ); -} - - diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_AgcT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_AgcT.java index d8fa27caf..2d78e25cf 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_AgcT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_AgcT.java @@ -21,23 +21,36 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_AgcControlT enable; + * int setPoint_dBfs; + * unsigned short attack_ms; + * unsigned short decay_ms; + * unsigned short decay_delay_ms; + * unsigned short decay_threshold_dB; + * int syncUpdate; + * }; + * } + */ public class sdrplay_api_AgcT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("enable"), - Constants$root.C_LONG$LAYOUT.withName("setPoint_dBfs"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("enable"), + Constants$root.C_INT$LAYOUT.withName("setPoint_dBfs"), Constants$root.C_SHORT$LAYOUT.withName("attack_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_delay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_threshold_dB"), - Constants$root.C_LONG$LAYOUT.withName("syncUpdate") + Constants$root.C_INT$LAYOUT.withName("syncUpdate") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_AgcT.$struct$LAYOUT; @@ -46,10 +59,22 @@ public class sdrplay_api_AgcT { public static VarHandle enable$VH() { return sdrplay_api_AgcT.enable$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_AgcControlT enable; + * } + */ public static int enable$get(MemorySegment seg) { return (int)sdrplay_api_AgcT.enable$VH.get(seg); } - public static void enable$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_AgcControlT enable; + * } + */ + public static void enable$set(MemorySegment seg, int x) { sdrplay_api_AgcT.enable$VH.set(seg, x); } public static int enable$get(MemorySegment seg, long index) { @@ -62,10 +87,22 @@ public class sdrplay_api_AgcT { public static VarHandle setPoint_dBfs$VH() { return sdrplay_api_AgcT.setPoint_dBfs$VH; } + /** + * Getter for field: + * {@snippet : + * int setPoint_dBfs; + * } + */ public static int setPoint_dBfs$get(MemorySegment seg) { return (int)sdrplay_api_AgcT.setPoint_dBfs$VH.get(seg); } - public static void setPoint_dBfs$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int setPoint_dBfs; + * } + */ + public static void setPoint_dBfs$set(MemorySegment seg, int x) { sdrplay_api_AgcT.setPoint_dBfs$VH.set(seg, x); } public static int setPoint_dBfs$get(MemorySegment seg, long index) { @@ -78,10 +115,22 @@ public class sdrplay_api_AgcT { public static VarHandle attack_ms$VH() { return sdrplay_api_AgcT.attack_ms$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short attack_ms; + * } + */ public static short attack_ms$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.attack_ms$VH.get(seg); } - public static void attack_ms$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short attack_ms; + * } + */ + public static void attack_ms$set(MemorySegment seg, short x) { sdrplay_api_AgcT.attack_ms$VH.set(seg, x); } public static short attack_ms$get(MemorySegment seg, long index) { @@ -94,10 +143,22 @@ public class sdrplay_api_AgcT { public static VarHandle decay_ms$VH() { return sdrplay_api_AgcT.decay_ms$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short decay_ms; + * } + */ public static short decay_ms$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.decay_ms$VH.get(seg); } - public static void decay_ms$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short decay_ms; + * } + */ + public static void decay_ms$set(MemorySegment seg, short x) { sdrplay_api_AgcT.decay_ms$VH.set(seg, x); } public static short decay_ms$get(MemorySegment seg, long index) { @@ -110,10 +171,22 @@ public class sdrplay_api_AgcT { public static VarHandle decay_delay_ms$VH() { return sdrplay_api_AgcT.decay_delay_ms$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short decay_delay_ms; + * } + */ public static short decay_delay_ms$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.decay_delay_ms$VH.get(seg); } - public static void decay_delay_ms$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short decay_delay_ms; + * } + */ + public static void decay_delay_ms$set(MemorySegment seg, short x) { sdrplay_api_AgcT.decay_delay_ms$VH.set(seg, x); } public static short decay_delay_ms$get(MemorySegment seg, long index) { @@ -126,10 +199,22 @@ public class sdrplay_api_AgcT { public static VarHandle decay_threshold_dB$VH() { return sdrplay_api_AgcT.decay_threshold_dB$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned short decay_threshold_dB; + * } + */ public static short decay_threshold_dB$get(MemorySegment seg) { return (short)sdrplay_api_AgcT.decay_threshold_dB$VH.get(seg); } - public static void decay_threshold_dB$set( MemorySegment seg, short x) { + /** + * Setter for field: + * {@snippet : + * unsigned short decay_threshold_dB; + * } + */ + public static void decay_threshold_dB$set(MemorySegment seg, short x) { sdrplay_api_AgcT.decay_threshold_dB$VH.set(seg, x); } public static short decay_threshold_dB$get(MemorySegment seg, long index) { @@ -142,10 +227,22 @@ public class sdrplay_api_AgcT { public static VarHandle syncUpdate$VH() { return sdrplay_api_AgcT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * int syncUpdate; + * } + */ public static int syncUpdate$get(MemorySegment seg) { return (int)sdrplay_api_AgcT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, int x) { sdrplay_api_AgcT.syncUpdate$VH.set(seg, x); } public static int syncUpdate$get(MemorySegment seg, long index) { @@ -156,10 +253,10 @@ public class sdrplay_api_AgcT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ApiVersion_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ApiVersion_t.java index f0d8f13ec..2512382e1 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ApiVersion_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ApiVersion_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_ApiVersion_t)(float* apiVer); + * } + */ public interface sdrplay_api_ApiVersion_t { - int apply(java.lang.foreign.MemoryAddress apiVer); - static MemorySegment allocate(sdrplay_api_ApiVersion_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_ApiVersion_t.class, fi, constants$1.sdrplay_api_ApiVersion_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev); + static MemorySegment allocate(sdrplay_api_ApiVersion_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$1.sdrplay_api_ApiVersion_t_UP$MH, fi, constants$1.sdrplay_api_ApiVersion_t$FUNC, scope); } - static sdrplay_api_ApiVersion_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _apiVer) -> { + static sdrplay_api_ApiVersion_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev) -> { try { - return (int)constants$1.sdrplay_api_ApiVersion_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_apiVer); + return (int)constants$1.sdrplay_api_ApiVersion_t_DOWN$MH.invokeExact(symbol, _dev); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_CallbackFnsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_CallbackFnsT.java index e53b77109..4e8ef243e 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_CallbackFnsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_CallbackFnsT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_StreamCallback_t StreamACbFn; + * sdrplay_api_StreamCallback_t StreamBCbFn; + * sdrplay_api_EventCallback_t EventCbFn; + * }; + * } + */ public class sdrplay_api_CallbackFnsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_POINTER$LAYOUT.withName("StreamACbFn"), Constants$root.C_POINTER$LAYOUT.withName("StreamBCbFn"), Constants$root.C_POINTER$LAYOUT.withName("EventCbFn") @@ -42,65 +51,101 @@ public class sdrplay_api_CallbackFnsT { public static VarHandle StreamACbFn$VH() { return sdrplay_api_CallbackFnsT.StreamACbFn$VH; } - public static MemoryAddress StreamACbFn$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg); - } - public static void StreamACbFn$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamACbFn; + * } + */ + public static MemorySegment StreamACbFn$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamACbFn; + * } + */ + public static void StreamACbFn$set(MemorySegment seg, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamACbFn$VH.set(seg, x); } - public static MemoryAddress StreamACbFn$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment StreamACbFn$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamACbFn$VH.get(seg.asSlice(index*sizeof())); } - public static void StreamACbFn$set(MemorySegment seg, long index, MemoryAddress x) { + public static void StreamACbFn$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamACbFn$VH.set(seg.asSlice(index*sizeof()), x); } - public static sdrplay_api_StreamCallback_t StreamACbFn (MemorySegment segment, MemorySession session) { - return sdrplay_api_StreamCallback_t.ofAddress(StreamACbFn$get(segment), session); + public static sdrplay_api_StreamCallback_t StreamACbFn(MemorySegment segment, SegmentScope scope) { + return sdrplay_api_StreamCallback_t.ofAddress(StreamACbFn$get(segment), scope); } static final VarHandle StreamBCbFn$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("StreamBCbFn")); public static VarHandle StreamBCbFn$VH() { return sdrplay_api_CallbackFnsT.StreamBCbFn$VH; } - public static MemoryAddress StreamBCbFn$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg); - } - public static void StreamBCbFn$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamBCbFn; + * } + */ + public static MemorySegment StreamBCbFn$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_StreamCallback_t StreamBCbFn; + * } + */ + public static void StreamBCbFn$set(MemorySegment seg, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamBCbFn$VH.set(seg, x); } - public static MemoryAddress StreamBCbFn$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment StreamBCbFn$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.StreamBCbFn$VH.get(seg.asSlice(index*sizeof())); } - public static void StreamBCbFn$set(MemorySegment seg, long index, MemoryAddress x) { + public static void StreamBCbFn$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_CallbackFnsT.StreamBCbFn$VH.set(seg.asSlice(index*sizeof()), x); } - public static sdrplay_api_StreamCallback_t StreamBCbFn (MemorySegment segment, MemorySession session) { - return sdrplay_api_StreamCallback_t.ofAddress(StreamBCbFn$get(segment), session); + public static sdrplay_api_StreamCallback_t StreamBCbFn(MemorySegment segment, SegmentScope scope) { + return sdrplay_api_StreamCallback_t.ofAddress(StreamBCbFn$get(segment), scope); } static final VarHandle EventCbFn$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("EventCbFn")); public static VarHandle EventCbFn$VH() { return sdrplay_api_CallbackFnsT.EventCbFn$VH; } - public static MemoryAddress EventCbFn$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg); - } - public static void EventCbFn$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_EventCallback_t EventCbFn; + * } + */ + public static MemorySegment EventCbFn$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_EventCallback_t EventCbFn; + * } + */ + public static void EventCbFn$set(MemorySegment seg, MemorySegment x) { sdrplay_api_CallbackFnsT.EventCbFn$VH.set(seg, x); } - public static MemoryAddress EventCbFn$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment EventCbFn$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_CallbackFnsT.EventCbFn$VH.get(seg.asSlice(index*sizeof())); } - public static void EventCbFn$set(MemorySegment seg, long index, MemoryAddress x) { + public static void EventCbFn$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_CallbackFnsT.EventCbFn$VH.set(seg.asSlice(index*sizeof()), x); } - public static sdrplay_api_EventCallback_t EventCbFn (MemorySegment segment, MemorySession session) { - return sdrplay_api_EventCallback_t.ofAddress(EventCbFn$get(segment), session); + public static sdrplay_api_EventCallback_t EventCbFn(MemorySegment segment, SegmentScope scope) { + return sdrplay_api_EventCallback_t.ofAddress(EventCbFn$get(segment), scope); } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Close_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Close_t.java index 5812e05f7..660e0c289 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Close_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Close_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_Close_t)(); + * } + */ public interface sdrplay_api_Close_t { int apply(); - static MemorySegment allocate(sdrplay_api_Close_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Close_t.class, fi, constants$1.sdrplay_api_Close_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_Close_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$1.sdrplay_api_Close_t_UP$MH, fi, constants$1.sdrplay_api_Close_t$FUNC, scope); } - static sdrplay_api_Close_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_Close_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$1.sdrplay_api_Close_t$MH.invokeExact((Addressable)symbol); + return (int)constants$1.sdrplay_api_Close_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ControlParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ControlParamsT.java index 007480b7b..9485f9030 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ControlParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ControlParamsT.java @@ -21,16 +21,26 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_DcOffsetT dcOffset; + * sdrplay_api_DecimationT decimation; + * sdrplay_api_AgcT agc; + * sdrplay_api_AdsbModeT adsbMode; + * }; + * } + */ public class sdrplay_api_ControlParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("DCenable"), Constants$root.C_CHAR$LAYOUT.withName("IQenable") @@ -42,15 +52,15 @@ public class sdrplay_api_ControlParamsT { ).withName("decimation"), MemoryLayout.paddingLayout(24), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("enable"), - Constants$root.C_LONG$LAYOUT.withName("setPoint_dBfs"), + Constants$root.C_INT$LAYOUT.withName("enable"), + Constants$root.C_INT$LAYOUT.withName("setPoint_dBfs"), Constants$root.C_SHORT$LAYOUT.withName("attack_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_delay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_threshold_dB"), - Constants$root.C_LONG$LAYOUT.withName("syncUpdate") + Constants$root.C_INT$LAYOUT.withName("syncUpdate") ).withName("agc"), - Constants$root.C_LONG$LAYOUT.withName("adsbMode") + Constants$root.C_INT$LAYOUT.withName("adsbMode") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_ControlParamsT.$struct$LAYOUT; @@ -68,10 +78,22 @@ public class sdrplay_api_ControlParamsT { public static VarHandle adsbMode$VH() { return sdrplay_api_ControlParamsT.adsbMode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_AdsbModeT adsbMode; + * } + */ public static int adsbMode$get(MemorySegment seg) { return (int)sdrplay_api_ControlParamsT.adsbMode$VH.get(seg); } - public static void adsbMode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_AdsbModeT adsbMode; + * } + */ + public static void adsbMode$set(MemorySegment seg, int x) { sdrplay_api_ControlParamsT.adsbMode$VH.set(seg, x); } public static int adsbMode$get(MemorySegment seg, long index) { @@ -82,10 +104,10 @@ public class sdrplay_api_ControlParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetT.java index af6faabea..b0c6cd089 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetT.java @@ -21,16 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char DCenable; + * unsigned char IQenable; + * }; + * } + */ public class sdrplay_api_DcOffsetT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("DCenable"), Constants$root.C_CHAR$LAYOUT.withName("IQenable") ); @@ -41,10 +49,22 @@ public class sdrplay_api_DcOffsetT { public static VarHandle DCenable$VH() { return sdrplay_api_DcOffsetT.DCenable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char DCenable; + * } + */ public static byte DCenable$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetT.DCenable$VH.get(seg); } - public static void DCenable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char DCenable; + * } + */ + public static void DCenable$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetT.DCenable$VH.set(seg, x); } public static byte DCenable$get(MemorySegment seg, long index) { @@ -57,10 +77,22 @@ public class sdrplay_api_DcOffsetT { public static VarHandle IQenable$VH() { return sdrplay_api_DcOffsetT.IQenable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char IQenable; + * } + */ public static byte IQenable$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetT.IQenable$VH.get(seg); } - public static void IQenable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char IQenable; + * } + */ + public static void IQenable$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetT.IQenable$VH.set(seg, x); } public static byte IQenable$get(MemorySegment seg, long index) { @@ -71,10 +103,10 @@ public class sdrplay_api_DcOffsetT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetTunerT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetTunerT.java index 53f6dd49d..6ab30f805 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetTunerT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DcOffsetTunerT.java @@ -21,21 +21,31 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char dcCal; + * unsigned char speedUp; + * int trackTime; + * int refreshRateTime; + * }; + * } + */ public class sdrplay_api_DcOffsetTunerT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("dcCal"), Constants$root.C_CHAR$LAYOUT.withName("speedUp"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("trackTime"), - Constants$root.C_LONG$LAYOUT.withName("refreshRateTime") + Constants$root.C_INT$LAYOUT.withName("trackTime"), + Constants$root.C_INT$LAYOUT.withName("refreshRateTime") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_DcOffsetTunerT.$struct$LAYOUT; @@ -44,10 +54,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle dcCal$VH() { return sdrplay_api_DcOffsetTunerT.dcCal$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char dcCal; + * } + */ public static byte dcCal$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetTunerT.dcCal$VH.get(seg); } - public static void dcCal$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char dcCal; + * } + */ + public static void dcCal$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetTunerT.dcCal$VH.set(seg, x); } public static byte dcCal$get(MemorySegment seg, long index) { @@ -60,10 +82,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle speedUp$VH() { return sdrplay_api_DcOffsetTunerT.speedUp$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char speedUp; + * } + */ public static byte speedUp$get(MemorySegment seg) { return (byte)sdrplay_api_DcOffsetTunerT.speedUp$VH.get(seg); } - public static void speedUp$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char speedUp; + * } + */ + public static void speedUp$set(MemorySegment seg, byte x) { sdrplay_api_DcOffsetTunerT.speedUp$VH.set(seg, x); } public static byte speedUp$get(MemorySegment seg, long index) { @@ -76,10 +110,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle trackTime$VH() { return sdrplay_api_DcOffsetTunerT.trackTime$VH; } + /** + * Getter for field: + * {@snippet : + * int trackTime; + * } + */ public static int trackTime$get(MemorySegment seg) { return (int)sdrplay_api_DcOffsetTunerT.trackTime$VH.get(seg); } - public static void trackTime$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int trackTime; + * } + */ + public static void trackTime$set(MemorySegment seg, int x) { sdrplay_api_DcOffsetTunerT.trackTime$VH.set(seg, x); } public static int trackTime$get(MemorySegment seg, long index) { @@ -92,10 +138,22 @@ public class sdrplay_api_DcOffsetTunerT { public static VarHandle refreshRateTime$VH() { return sdrplay_api_DcOffsetTunerT.refreshRateTime$VH; } + /** + * Getter for field: + * {@snippet : + * int refreshRateTime; + * } + */ public static int refreshRateTime$get(MemorySegment seg) { return (int)sdrplay_api_DcOffsetTunerT.refreshRateTime$VH.get(seg); } - public static void refreshRateTime$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int refreshRateTime; + * } + */ + public static void refreshRateTime$set(MemorySegment seg, int x) { sdrplay_api_DcOffsetTunerT.refreshRateTime$VH.set(seg, x); } public static int refreshRateTime$get(MemorySegment seg, long index) { @@ -106,10 +164,10 @@ public class sdrplay_api_DcOffsetTunerT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DebugEnable_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DebugEnable_t.java index 8c03cc661..0d75683c3 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DebugEnable_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DebugEnable_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_DebugEnable_t)(void* dev,enum dbgLvl); + * } + */ public interface sdrplay_api_DebugEnable_t { - int apply(java.lang.foreign.MemoryAddress dev, int dbgLvl); - static MemorySegment allocate(sdrplay_api_DebugEnable_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_DebugEnable_t.class, fi, constants$4.sdrplay_api_DebugEnable_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, int dbgLvl); + static MemorySegment allocate(sdrplay_api_DebugEnable_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$4.sdrplay_api_DebugEnable_t_UP$MH, fi, constants$4.sdrplay_api_DebugEnable_t$FUNC, scope); } - static sdrplay_api_DebugEnable_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, int _dbgLvl) -> { + static sdrplay_api_DebugEnable_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, int _dbgLvl) -> { try { - return (int)constants$4.sdrplay_api_DebugEnable_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, _dbgLvl); + return (int)constants$4.sdrplay_api_DebugEnable_t_DOWN$MH.invokeExact(symbol, _dev, _dbgLvl); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DecimationT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DecimationT.java index be05323a0..e58fca3c6 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DecimationT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DecimationT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char enable; + * unsigned char decimationFactor; + * unsigned char wideBandSignal; + * }; + * } + */ public class sdrplay_api_DecimationT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("enable"), Constants$root.C_CHAR$LAYOUT.withName("decimationFactor"), Constants$root.C_CHAR$LAYOUT.withName("wideBandSignal") @@ -42,10 +51,22 @@ public class sdrplay_api_DecimationT { public static VarHandle enable$VH() { return sdrplay_api_DecimationT.enable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char enable; + * } + */ public static byte enable$get(MemorySegment seg) { return (byte)sdrplay_api_DecimationT.enable$VH.get(seg); } - public static void enable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char enable; + * } + */ + public static void enable$set(MemorySegment seg, byte x) { sdrplay_api_DecimationT.enable$VH.set(seg, x); } public static byte enable$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_DecimationT { public static VarHandle decimationFactor$VH() { return sdrplay_api_DecimationT.decimationFactor$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char decimationFactor; + * } + */ public static byte decimationFactor$get(MemorySegment seg) { return (byte)sdrplay_api_DecimationT.decimationFactor$VH.get(seg); } - public static void decimationFactor$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char decimationFactor; + * } + */ + public static void decimationFactor$set(MemorySegment seg, byte x) { sdrplay_api_DecimationT.decimationFactor$VH.set(seg, x); } public static byte decimationFactor$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_DecimationT { public static VarHandle wideBandSignal$VH() { return sdrplay_api_DecimationT.wideBandSignal$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char wideBandSignal; + * } + */ public static byte wideBandSignal$get(MemorySegment seg) { return (byte)sdrplay_api_DecimationT.wideBandSignal$VH.get(seg); } - public static void wideBandSignal$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char wideBandSignal; + * } + */ + public static void wideBandSignal$set(MemorySegment seg, byte x) { sdrplay_api_DecimationT.wideBandSignal$VH.set(seg, x); } public static byte wideBandSignal$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_DecimationT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DevParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DevParamsT.java index 42a75b3ef..8579b3767 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DevParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DevParamsT.java @@ -21,16 +21,32 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * double ppm; + * sdrplay_api_FsFreqT fsFreq; + * sdrplay_api_SyncUpdateT syncUpdate; + * sdrplay_api_ResetFlagsT resetFlags; + * sdrplay_api_TransferModeT mode; + * unsigned int samplesPerPkt; + * sdrplay_api_Rsp1aParamsT rsp1aParams; + * sdrplay_api_Rsp2ParamsT rsp2Params; + * sdrplay_api_RspDuoParamsT rspDuoParams; + * sdrplay_api_RspDxParamsT rspDxParams; + * }; + * } + */ public class sdrplay_api_DevParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("ppm"), MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("fsHz"), @@ -39,8 +55,8 @@ public class sdrplay_api_DevParamsT { MemoryLayout.paddingLayout(48) ).withName("fsFreq"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("sampleNum"), - Constants$root.C_LONG$LAYOUT.withName("period") + Constants$root.C_INT$LAYOUT.withName("sampleNum"), + Constants$root.C_INT$LAYOUT.withName("period") ).withName("syncUpdate"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("resetGainUpdate"), @@ -48,8 +64,8 @@ public class sdrplay_api_DevParamsT { Constants$root.C_CHAR$LAYOUT.withName("resetFsUpdate") ).withName("resetFlags"), MemoryLayout.paddingLayout(8), - Constants$root.C_LONG$LAYOUT.withName("mode"), - Constants$root.C_LONG$LAYOUT.withName("samplesPerPkt"), + Constants$root.C_INT$LAYOUT.withName("mode"), + Constants$root.C_INT$LAYOUT.withName("samplesPerPkt"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable") @@ -59,13 +75,13 @@ public class sdrplay_api_DevParamsT { ).withName("rsp2Params"), MemoryLayout.paddingLayout(8), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("extRefOutputEn") + Constants$root.C_INT$LAYOUT.withName("extRefOutputEn") ).withName("rspDuoParams"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("hdrEnable"), Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), MemoryLayout.paddingLayout(16) @@ -78,10 +94,22 @@ public class sdrplay_api_DevParamsT { public static VarHandle ppm$VH() { return sdrplay_api_DevParamsT.ppm$VH; } + /** + * Getter for field: + * {@snippet : + * double ppm; + * } + */ public static double ppm$get(MemorySegment seg) { return (double)sdrplay_api_DevParamsT.ppm$VH.get(seg); } - public static void ppm$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double ppm; + * } + */ + public static void ppm$set(MemorySegment seg, double x) { sdrplay_api_DevParamsT.ppm$VH.set(seg, x); } public static double ppm$get(MemorySegment seg, long index) { @@ -103,10 +131,22 @@ public class sdrplay_api_DevParamsT { public static VarHandle mode$VH() { return sdrplay_api_DevParamsT.mode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_TransferModeT mode; + * } + */ public static int mode$get(MemorySegment seg) { return (int)sdrplay_api_DevParamsT.mode$VH.get(seg); } - public static void mode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_TransferModeT mode; + * } + */ + public static void mode$set(MemorySegment seg, int x) { sdrplay_api_DevParamsT.mode$VH.set(seg, x); } public static int mode$get(MemorySegment seg, long index) { @@ -119,10 +159,22 @@ public class sdrplay_api_DevParamsT { public static VarHandle samplesPerPkt$VH() { return sdrplay_api_DevParamsT.samplesPerPkt$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int samplesPerPkt; + * } + */ public static int samplesPerPkt$get(MemorySegment seg) { return (int)sdrplay_api_DevParamsT.samplesPerPkt$VH.get(seg); } - public static void samplesPerPkt$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int samplesPerPkt; + * } + */ + public static void samplesPerPkt$set(MemorySegment seg, int x) { sdrplay_api_DevParamsT.samplesPerPkt$VH.set(seg, x); } public static int samplesPerPkt$get(MemorySegment seg, long index) { @@ -145,10 +197,10 @@ public class sdrplay_api_DevParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceParamsT.java index 6cbd5b9f4..b5e09bd2c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceParamsT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_DevParamsT* devParams; + * sdrplay_api_RxChannelParamsT* rxChannelA; + * sdrplay_api_RxChannelParamsT* rxChannelB; + * }; + * } + */ public class sdrplay_api_DeviceParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_POINTER$LAYOUT.withName("devParams"), Constants$root.C_POINTER$LAYOUT.withName("rxChannelA"), Constants$root.C_POINTER$LAYOUT.withName("rxChannelB") @@ -42,56 +51,92 @@ public class sdrplay_api_DeviceParamsT { public static VarHandle devParams$VH() { return sdrplay_api_DeviceParamsT.devParams$VH; } - public static MemoryAddress devParams$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.devParams$VH.get(seg); - } - public static void devParams$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_DevParamsT* devParams; + * } + */ + public static MemorySegment devParams$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.devParams$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_DevParamsT* devParams; + * } + */ + public static void devParams$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceParamsT.devParams$VH.set(seg, x); } - public static MemoryAddress devParams$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.devParams$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment devParams$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.devParams$VH.get(seg.asSlice(index*sizeof())); } - public static void devParams$set(MemorySegment seg, long index, MemoryAddress x) { + public static void devParams$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceParamsT.devParams$VH.set(seg.asSlice(index*sizeof()), x); } static final VarHandle rxChannelA$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("rxChannelA")); public static VarHandle rxChannelA$VH() { return sdrplay_api_DeviceParamsT.rxChannelA$VH; } - public static MemoryAddress rxChannelA$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg); - } - public static void rxChannelA$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelA; + * } + */ + public static MemorySegment rxChannelA$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelA; + * } + */ + public static void rxChannelA$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelA$VH.set(seg, x); } - public static MemoryAddress rxChannelA$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment rxChannelA$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelA$VH.get(seg.asSlice(index*sizeof())); } - public static void rxChannelA$set(MemorySegment seg, long index, MemoryAddress x) { + public static void rxChannelA$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelA$VH.set(seg.asSlice(index*sizeof()), x); } static final VarHandle rxChannelB$VH = $struct$LAYOUT.varHandle(MemoryLayout.PathElement.groupElement("rxChannelB")); public static VarHandle rxChannelB$VH() { return sdrplay_api_DeviceParamsT.rxChannelB$VH; } - public static MemoryAddress rxChannelB$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg); - } - public static void rxChannelB$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelB; + * } + */ + public static MemorySegment rxChannelB$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RxChannelParamsT* rxChannelB; + * } + */ + public static void rxChannelB$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelB$VH.set(seg, x); } - public static MemoryAddress rxChannelB$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment rxChannelB$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceParamsT.rxChannelB$VH.get(seg.asSlice(index*sizeof())); } - public static void rxChannelB$set(MemorySegment seg, long index, MemoryAddress x) { + public static void rxChannelB$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceParamsT.rxChannelB$VH.set(seg.asSlice(index*sizeof()), x); } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceT.java index b58f6e3c2..8de869d1d 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DeviceT.java @@ -21,21 +21,34 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * char SerNo[64]; + * unsigned char hwVer; + * sdrplay_api_TunerSelectT tuner; + * sdrplay_api_RspDuoModeT rspDuoMode; + * unsigned char valid; + * double rspDuoSampleFreq; + * HANDLE dev; + * }; + * } + */ public class sdrplay_api_DeviceT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.sequenceLayout(64, Constants$root.C_CHAR$LAYOUT).withName("SerNo"), Constants$root.C_CHAR$LAYOUT.withName("hwVer"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("tuner"), - Constants$root.C_LONG$LAYOUT.withName("rspDuoMode"), + Constants$root.C_INT$LAYOUT.withName("tuner"), + Constants$root.C_INT$LAYOUT.withName("rspDuoMode"), Constants$root.C_CHAR$LAYOUT.withName("valid"), MemoryLayout.paddingLayout(24), Constants$root.C_DOUBLE$LAYOUT.withName("rspDuoSampleFreq"), @@ -51,10 +64,22 @@ public class sdrplay_api_DeviceT { public static VarHandle hwVer$VH() { return sdrplay_api_DeviceT.hwVer$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char hwVer; + * } + */ public static byte hwVer$get(MemorySegment seg) { return (byte)sdrplay_api_DeviceT.hwVer$VH.get(seg); } - public static void hwVer$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char hwVer; + * } + */ + public static void hwVer$set(MemorySegment seg, byte x) { sdrplay_api_DeviceT.hwVer$VH.set(seg, x); } public static byte hwVer$get(MemorySegment seg, long index) { @@ -67,10 +92,22 @@ public class sdrplay_api_DeviceT { public static VarHandle tuner$VH() { return sdrplay_api_DeviceT.tuner$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_TunerSelectT tuner; + * } + */ public static int tuner$get(MemorySegment seg) { return (int)sdrplay_api_DeviceT.tuner$VH.get(seg); } - public static void tuner$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_TunerSelectT tuner; + * } + */ + public static void tuner$set(MemorySegment seg, int x) { sdrplay_api_DeviceT.tuner$VH.set(seg, x); } public static int tuner$get(MemorySegment seg, long index) { @@ -83,10 +120,22 @@ public class sdrplay_api_DeviceT { public static VarHandle rspDuoMode$VH() { return sdrplay_api_DeviceT.rspDuoMode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDuoModeT rspDuoMode; + * } + */ public static int rspDuoMode$get(MemorySegment seg) { return (int)sdrplay_api_DeviceT.rspDuoMode$VH.get(seg); } - public static void rspDuoMode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDuoModeT rspDuoMode; + * } + */ + public static void rspDuoMode$set(MemorySegment seg, int x) { sdrplay_api_DeviceT.rspDuoMode$VH.set(seg, x); } public static int rspDuoMode$get(MemorySegment seg, long index) { @@ -99,10 +148,22 @@ public class sdrplay_api_DeviceT { public static VarHandle valid$VH() { return sdrplay_api_DeviceT.valid$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char valid; + * } + */ public static byte valid$get(MemorySegment seg) { return (byte)sdrplay_api_DeviceT.valid$VH.get(seg); } - public static void valid$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char valid; + * } + */ + public static void valid$set(MemorySegment seg, byte x) { sdrplay_api_DeviceT.valid$VH.set(seg, x); } public static byte valid$get(MemorySegment seg, long index) { @@ -115,10 +176,22 @@ public class sdrplay_api_DeviceT { public static VarHandle rspDuoSampleFreq$VH() { return sdrplay_api_DeviceT.rspDuoSampleFreq$VH; } + /** + * Getter for field: + * {@snippet : + * double rspDuoSampleFreq; + * } + */ public static double rspDuoSampleFreq$get(MemorySegment seg) { return (double)sdrplay_api_DeviceT.rspDuoSampleFreq$VH.get(seg); } - public static void rspDuoSampleFreq$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double rspDuoSampleFreq; + * } + */ + public static void rspDuoSampleFreq$set(MemorySegment seg, double x) { sdrplay_api_DeviceT.rspDuoSampleFreq$VH.set(seg, x); } public static double rspDuoSampleFreq$get(MemorySegment seg, long index) { @@ -131,24 +204,36 @@ public class sdrplay_api_DeviceT { public static VarHandle dev$VH() { return sdrplay_api_DeviceT.dev$VH; } - public static MemoryAddress dev$get(MemorySegment seg) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceT.dev$VH.get(seg); - } - public static void dev$set( MemorySegment seg, MemoryAddress x) { + /** + * Getter for field: + * {@snippet : + * HANDLE dev; + * } + */ + public static MemorySegment dev$get(MemorySegment seg) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceT.dev$VH.get(seg); + } + /** + * Setter for field: + * {@snippet : + * HANDLE dev; + * } + */ + public static void dev$set(MemorySegment seg, MemorySegment x) { sdrplay_api_DeviceT.dev$VH.set(seg, x); } - public static MemoryAddress dev$get(MemorySegment seg, long index) { - return (java.lang.foreign.MemoryAddress)sdrplay_api_DeviceT.dev$VH.get(seg.asSlice(index*sizeof())); + public static MemorySegment dev$get(MemorySegment seg, long index) { + return (java.lang.foreign.MemorySegment)sdrplay_api_DeviceT.dev$VH.get(seg.asSlice(index*sizeof())); } - public static void dev$set(MemorySegment seg, long index, MemoryAddress x) { + public static void dev$set(MemorySegment seg, long index, MemorySegment x) { sdrplay_api_DeviceT.dev$VH.set(seg.asSlice(index*sizeof()), x); } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DisableHeartbeat_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DisableHeartbeat_t.java index 41a271d16..b4b49f5a2 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DisableHeartbeat_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_DisableHeartbeat_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_DisableHeartbeat_t)(); + * } + */ public interface sdrplay_api_DisableHeartbeat_t { int apply(); - static MemorySegment allocate(sdrplay_api_DisableHeartbeat_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_DisableHeartbeat_t.class, fi, constants$4.sdrplay_api_DisableHeartbeat_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_DisableHeartbeat_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$4.sdrplay_api_DisableHeartbeat_t_UP$MH, fi, constants$4.sdrplay_api_DisableHeartbeat_t$FUNC, scope); } - static sdrplay_api_DisableHeartbeat_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_DisableHeartbeat_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$4.sdrplay_api_DisableHeartbeat_t$MH.invokeExact((Addressable)symbol); + return (int)constants$4.sdrplay_api_DisableHeartbeat_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ErrorInfoT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ErrorInfoT.java index 599c15784..3717d2156 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ErrorInfoT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ErrorInfoT.java @@ -21,19 +21,29 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * char file[256]; + * char function[256]; + * int line; + * char message[1024]; + * }; + * } + */ public class sdrplay_api_ErrorInfoT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.sequenceLayout(256, Constants$root.C_CHAR$LAYOUT).withName("file"), MemoryLayout.sequenceLayout(256, Constants$root.C_CHAR$LAYOUT).withName("function"), - Constants$root.C_LONG$LAYOUT.withName("line"), + Constants$root.C_INT$LAYOUT.withName("line"), MemoryLayout.sequenceLayout(1024, Constants$root.C_CHAR$LAYOUT).withName("message") ); public static MemoryLayout $LAYOUT() { @@ -49,10 +59,22 @@ public class sdrplay_api_ErrorInfoT { public static VarHandle line$VH() { return sdrplay_api_ErrorInfoT.line$VH; } + /** + * Getter for field: + * {@snippet : + * int line; + * } + */ public static int line$get(MemorySegment seg) { return (int)sdrplay_api_ErrorInfoT.line$VH.get(seg); } - public static void line$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int line; + * } + */ + public static void line$set(MemorySegment seg, int x) { sdrplay_api_ErrorInfoT.line$VH.set(seg, x); } public static int line$get(MemorySegment seg, long index) { @@ -66,10 +88,10 @@ public class sdrplay_api_ErrorInfoT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventCallback_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventCallback_t.java index 91764bb2b..ced870c07 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventCallback_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventCallback_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * void (*sdrplay_api_EventCallback_t)(enum eventId,enum tuner,union * params,void* cbContext); + * } + */ public interface sdrplay_api_EventCallback_t { - void apply(int eventId, int tuner, java.lang.foreign.MemoryAddress params, java.lang.foreign.MemoryAddress cbContext); - static MemorySegment allocate(sdrplay_api_EventCallback_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_EventCallback_t.class, fi, constants$0.sdrplay_api_EventCallback_t$FUNC, session); + void apply(int eventId, int tuner, java.lang.foreign.MemorySegment params, java.lang.foreign.MemorySegment cbContext); + static MemorySegment allocate(sdrplay_api_EventCallback_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$0.sdrplay_api_EventCallback_t_UP$MH, fi, constants$0.sdrplay_api_EventCallback_t$FUNC, scope); } - static sdrplay_api_EventCallback_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (int _eventId, int _tuner, java.lang.foreign.MemoryAddress _params, java.lang.foreign.MemoryAddress _cbContext) -> { + static sdrplay_api_EventCallback_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (int _eventId, int _tuner, java.lang.foreign.MemorySegment _params, java.lang.foreign.MemorySegment _cbContext) -> { try { - constants$0.sdrplay_api_EventCallback_t$MH.invokeExact((Addressable)symbol, _eventId, _tuner, (java.lang.foreign.Addressable)_params, (java.lang.foreign.Addressable)_cbContext); + constants$0.sdrplay_api_EventCallback_t_DOWN$MH.invokeExact(symbol, _eventId, _tuner, _params, _cbContext); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventParamsT.java index c0e0e26ec..2782c15a5 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_EventParamsT.java @@ -21,25 +21,34 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.UnionLayout; + +/** + * {@snippet : + * union { + * sdrplay_api_GainCbParamT gainParams; + * sdrplay_api_PowerOverloadCbParamT powerOverloadParams; + * sdrplay_api_RspDuoModeCbParamT rspDuoModeParams; + * }; + * } + */ public class sdrplay_api_EventParamsT { - static final GroupLayout $union$LAYOUT = MemoryLayout.unionLayout( + static final UnionLayout $union$LAYOUT = MemoryLayout.unionLayout( MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), - Constants$root.C_LONG$LAYOUT.withName("lnaGRdB"), + Constants$root.C_INT$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("lnaGRdB"), Constants$root.C_DOUBLE$LAYOUT.withName("currGain") ).withName("gainParams"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("powerOverloadChangeType") + Constants$root.C_INT$LAYOUT.withName("powerOverloadChangeType") ).withName("powerOverloadParams"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("modeChangeType") + Constants$root.C_INT$LAYOUT.withName("modeChangeType") ).withName("rspDuoModeParams") ); public static MemoryLayout $LAYOUT() { @@ -56,10 +65,10 @@ public class sdrplay_api_EventParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_FsFreqT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_FsFreqT.java index bf053c7ea..7f71a65cd 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_FsFreqT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_FsFreqT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * double fsHz; + * unsigned char syncUpdate; + * unsigned char reCal; + * }; + * } + */ public class sdrplay_api_FsFreqT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("fsHz"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), Constants$root.C_CHAR$LAYOUT.withName("reCal"), @@ -43,10 +52,22 @@ public class sdrplay_api_FsFreqT { public static VarHandle fsHz$VH() { return sdrplay_api_FsFreqT.fsHz$VH; } + /** + * Getter for field: + * {@snippet : + * double fsHz; + * } + */ public static double fsHz$get(MemorySegment seg) { return (double)sdrplay_api_FsFreqT.fsHz$VH.get(seg); } - public static void fsHz$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double fsHz; + * } + */ + public static void fsHz$set(MemorySegment seg, double x) { sdrplay_api_FsFreqT.fsHz$VH.set(seg, x); } public static double fsHz$get(MemorySegment seg, long index) { @@ -59,10 +80,22 @@ public class sdrplay_api_FsFreqT { public static VarHandle syncUpdate$VH() { return sdrplay_api_FsFreqT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ public static byte syncUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_FsFreqT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, byte x) { sdrplay_api_FsFreqT.syncUpdate$VH.set(seg, x); } public static byte syncUpdate$get(MemorySegment seg, long index) { @@ -75,10 +108,22 @@ public class sdrplay_api_FsFreqT { public static VarHandle reCal$VH() { return sdrplay_api_FsFreqT.reCal$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char reCal; + * } + */ public static byte reCal$get(MemorySegment seg) { return (byte)sdrplay_api_FsFreqT.reCal$VH.get(seg); } - public static void reCal$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char reCal; + * } + */ + public static void reCal$set(MemorySegment seg, byte x) { sdrplay_api_FsFreqT.reCal$VH.set(seg, x); } public static byte reCal$get(MemorySegment seg, long index) { @@ -89,10 +134,10 @@ public class sdrplay_api_FsFreqT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainCbParamT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainCbParamT.java index fd5849a82..cfbf28bd2 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainCbParamT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainCbParamT.java @@ -21,18 +21,27 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned int gRdB; + * unsigned int lnaGRdB; + * double currGain; + * }; + * } + */ public class sdrplay_api_GainCbParamT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), - Constants$root.C_LONG$LAYOUT.withName("lnaGRdB"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("lnaGRdB"), Constants$root.C_DOUBLE$LAYOUT.withName("currGain") ); public static MemoryLayout $LAYOUT() { @@ -42,10 +51,22 @@ public class sdrplay_api_GainCbParamT { public static VarHandle gRdB$VH() { return sdrplay_api_GainCbParamT.gRdB$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int gRdB; + * } + */ public static int gRdB$get(MemorySegment seg) { return (int)sdrplay_api_GainCbParamT.gRdB$VH.get(seg); } - public static void gRdB$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int gRdB; + * } + */ + public static void gRdB$set(MemorySegment seg, int x) { sdrplay_api_GainCbParamT.gRdB$VH.set(seg, x); } public static int gRdB$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_GainCbParamT { public static VarHandle lnaGRdB$VH() { return sdrplay_api_GainCbParamT.lnaGRdB$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int lnaGRdB; + * } + */ public static int lnaGRdB$get(MemorySegment seg) { return (int)sdrplay_api_GainCbParamT.lnaGRdB$VH.get(seg); } - public static void lnaGRdB$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int lnaGRdB; + * } + */ + public static void lnaGRdB$set(MemorySegment seg, int x) { sdrplay_api_GainCbParamT.lnaGRdB$VH.set(seg, x); } public static int lnaGRdB$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_GainCbParamT { public static VarHandle currGain$VH() { return sdrplay_api_GainCbParamT.currGain$VH; } + /** + * Getter for field: + * {@snippet : + * double currGain; + * } + */ public static double currGain$get(MemorySegment seg) { return (double)sdrplay_api_GainCbParamT.currGain$VH.get(seg); } - public static void currGain$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double currGain; + * } + */ + public static void currGain$set(MemorySegment seg, double x) { sdrplay_api_GainCbParamT.currGain$VH.set(seg, x); } public static double currGain$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_GainCbParamT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainT.java index e6abf89e1..252dc2e73 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainT.java @@ -21,21 +21,32 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * int gRdB; + * unsigned char LNAstate; + * unsigned char syncUpdate; + * sdrplay_api_MinGainReductionT minGr; + * sdrplay_api_GainValuesT gainVals; + * }; + * } + */ public class sdrplay_api_GainT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("gRdB"), Constants$root.C_CHAR$LAYOUT.withName("LNAstate"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("minGr"), + Constants$root.C_INT$LAYOUT.withName("minGr"), MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), @@ -49,10 +60,22 @@ public class sdrplay_api_GainT { public static VarHandle gRdB$VH() { return sdrplay_api_GainT.gRdB$VH; } + /** + * Getter for field: + * {@snippet : + * int gRdB; + * } + */ public static int gRdB$get(MemorySegment seg) { return (int)sdrplay_api_GainT.gRdB$VH.get(seg); } - public static void gRdB$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int gRdB; + * } + */ + public static void gRdB$set(MemorySegment seg, int x) { sdrplay_api_GainT.gRdB$VH.set(seg, x); } public static int gRdB$get(MemorySegment seg, long index) { @@ -65,10 +88,22 @@ public class sdrplay_api_GainT { public static VarHandle LNAstate$VH() { return sdrplay_api_GainT.LNAstate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char LNAstate; + * } + */ public static byte LNAstate$get(MemorySegment seg) { return (byte)sdrplay_api_GainT.LNAstate$VH.get(seg); } - public static void LNAstate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char LNAstate; + * } + */ + public static void LNAstate$set(MemorySegment seg, byte x) { sdrplay_api_GainT.LNAstate$VH.set(seg, x); } public static byte LNAstate$get(MemorySegment seg, long index) { @@ -81,10 +116,22 @@ public class sdrplay_api_GainT { public static VarHandle syncUpdate$VH() { return sdrplay_api_GainT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ public static byte syncUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_GainT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, byte x) { sdrplay_api_GainT.syncUpdate$VH.set(seg, x); } public static byte syncUpdate$get(MemorySegment seg, long index) { @@ -97,10 +144,22 @@ public class sdrplay_api_GainT { public static VarHandle minGr$VH() { return sdrplay_api_GainT.minGr$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_MinGainReductionT minGr; + * } + */ public static int minGr$get(MemorySegment seg) { return (int)sdrplay_api_GainT.minGr$VH.get(seg); } - public static void minGr$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_MinGainReductionT minGr; + * } + */ + public static void minGr$set(MemorySegment seg, int x) { sdrplay_api_GainT.minGr$VH.set(seg, x); } public static int minGr$get(MemorySegment seg, long index) { @@ -114,10 +173,10 @@ public class sdrplay_api_GainT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainValuesT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainValuesT.java index 549519b68..b5e10d6cd 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainValuesT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GainValuesT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * float curr; + * float max; + * float min; + * }; + * } + */ public class sdrplay_api_GainValuesT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), Constants$root.C_FLOAT$LAYOUT.withName("min") @@ -42,10 +51,22 @@ public class sdrplay_api_GainValuesT { public static VarHandle curr$VH() { return sdrplay_api_GainValuesT.curr$VH; } + /** + * Getter for field: + * {@snippet : + * float curr; + * } + */ public static float curr$get(MemorySegment seg) { return (float)sdrplay_api_GainValuesT.curr$VH.get(seg); } - public static void curr$set( MemorySegment seg, float x) { + /** + * Setter for field: + * {@snippet : + * float curr; + * } + */ + public static void curr$set(MemorySegment seg, float x) { sdrplay_api_GainValuesT.curr$VH.set(seg, x); } public static float curr$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_GainValuesT { public static VarHandle max$VH() { return sdrplay_api_GainValuesT.max$VH; } + /** + * Getter for field: + * {@snippet : + * float max; + * } + */ public static float max$get(MemorySegment seg) { return (float)sdrplay_api_GainValuesT.max$VH.get(seg); } - public static void max$set( MemorySegment seg, float x) { + /** + * Setter for field: + * {@snippet : + * float max; + * } + */ + public static void max$set(MemorySegment seg, float x) { sdrplay_api_GainValuesT.max$VH.set(seg, x); } public static float max$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_GainValuesT { public static VarHandle min$VH() { return sdrplay_api_GainValuesT.min$VH; } + /** + * Getter for field: + * {@snippet : + * float min; + * } + */ public static float min$get(MemorySegment seg) { return (float)sdrplay_api_GainValuesT.min$VH.get(seg); } - public static void min$set( MemorySegment seg, float x) { + /** + * Setter for field: + * {@snippet : + * float min; + * } + */ + public static void min$set(MemorySegment seg, float x) { sdrplay_api_GainValuesT.min$VH.set(seg, x); } public static float min$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_GainValuesT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDeviceParams_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDeviceParams_t.java index c7ef0a6a3..31abe2ff8 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDeviceParams_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDeviceParams_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_GetDeviceParams_t)(void* dev,struct ** deviceParams); + * } + */ public interface sdrplay_api_GetDeviceParams_t { - int apply(java.lang.foreign.MemoryAddress dev, java.lang.foreign.MemoryAddress deviceParams); - static MemorySegment allocate(sdrplay_api_GetDeviceParams_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetDeviceParams_t.class, fi, constants$4.sdrplay_api_GetDeviceParams_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, java.lang.foreign.MemorySegment deviceParams); + static MemorySegment allocate(sdrplay_api_GetDeviceParams_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$4.sdrplay_api_GetDeviceParams_t_UP$MH, fi, constants$4.sdrplay_api_GetDeviceParams_t$FUNC, scope); } - static sdrplay_api_GetDeviceParams_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, java.lang.foreign.MemoryAddress _deviceParams) -> { + static sdrplay_api_GetDeviceParams_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, java.lang.foreign.MemorySegment _deviceParams) -> { try { - return (int)constants$4.sdrplay_api_GetDeviceParams_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, (java.lang.foreign.Addressable)_deviceParams); + return (int)constants$4.sdrplay_api_GetDeviceParams_t_DOWN$MH.invokeExact(symbol, _dev, _deviceParams); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDevices_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDevices_t.java index f1f837d4d..b60265196 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDevices_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetDevices_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_GetDevices_t)(struct * devices,unsigned int* numDevs,unsigned int maxDevs); + * } + */ public interface sdrplay_api_GetDevices_t { - int apply(java.lang.foreign.MemoryAddress devices, java.lang.foreign.MemoryAddress numDevs, int maxDevs); - static MemorySegment allocate(sdrplay_api_GetDevices_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetDevices_t.class, fi, constants$2.sdrplay_api_GetDevices_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment devices, java.lang.foreign.MemorySegment numDevs, int maxDevs); + static MemorySegment allocate(sdrplay_api_GetDevices_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$2.sdrplay_api_GetDevices_t_UP$MH, fi, constants$2.sdrplay_api_GetDevices_t$FUNC, scope); } - static sdrplay_api_GetDevices_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _devices, java.lang.foreign.MemoryAddress _numDevs, int _maxDevs) -> { + static sdrplay_api_GetDevices_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _devices, java.lang.foreign.MemorySegment _numDevs, int _maxDevs) -> { try { - return (int)constants$2.sdrplay_api_GetDevices_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_devices, (java.lang.foreign.Addressable)_numDevs, _maxDevs); + return (int)constants$2.sdrplay_api_GetDevices_t_DOWN$MH.invokeExact(symbol, _devices, _numDevs, _maxDevs); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetErrorString_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetErrorString_t.java index 7783ca234..a59e1e0c4 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetErrorString_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetErrorString_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * char* (*sdrplay_api_GetErrorString_t)(enum err); + * } + */ public interface sdrplay_api_GetErrorString_t { - java.lang.foreign.Addressable apply(int err); - static MemorySegment allocate(sdrplay_api_GetErrorString_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetErrorString_t.class, fi, constants$3.sdrplay_api_GetErrorString_t$FUNC, session); + java.lang.foreign.MemorySegment apply(int err); + static MemorySegment allocate(sdrplay_api_GetErrorString_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$3.sdrplay_api_GetErrorString_t_UP$MH, fi, constants$3.sdrplay_api_GetErrorString_t$FUNC, scope); } - static sdrplay_api_GetErrorString_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_GetErrorString_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return (int _err) -> { try { - return (java.lang.foreign.Addressable)(java.lang.foreign.MemoryAddress)constants$3.sdrplay_api_GetErrorString_t$MH.invokeExact((Addressable)symbol, _err); + return (java.lang.foreign.MemorySegment)constants$3.sdrplay_api_GetErrorString_t_DOWN$MH.invokeExact(symbol, _err); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetLastError_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetLastError_t.java index 29fb41c19..6ca3c03da 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetLastError_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_GetLastError_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * struct * (*sdrplay_api_GetLastError_t)(struct * device); + * } + */ public interface sdrplay_api_GetLastError_t { - java.lang.foreign.Addressable apply(java.lang.foreign.MemoryAddress device); - static MemorySegment allocate(sdrplay_api_GetLastError_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_GetLastError_t.class, fi, constants$3.sdrplay_api_GetLastError_t$FUNC, session); + java.lang.foreign.MemorySegment apply(java.lang.foreign.MemorySegment device); + static MemorySegment allocate(sdrplay_api_GetLastError_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$3.sdrplay_api_GetLastError_t_UP$MH, fi, constants$3.sdrplay_api_GetLastError_t$FUNC, scope); } - static sdrplay_api_GetLastError_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _device) -> { + static sdrplay_api_GetLastError_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _device) -> { try { - return (java.lang.foreign.Addressable)(java.lang.foreign.MemoryAddress)constants$3.sdrplay_api_GetLastError_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_device); + return (java.lang.foreign.MemorySegment)constants$3.sdrplay_api_GetLastError_t_DOWN$MH.invokeExact(symbol, _device); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Init_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Init_t.java index 7f72de393..930b6d42e 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Init_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Init_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_Init_t)(void* dev,struct * callbackFns,void* cbContext); + * } + */ public interface sdrplay_api_Init_t { - int apply(java.lang.foreign.MemoryAddress dev, java.lang.foreign.MemoryAddress callbackFns, java.lang.foreign.MemoryAddress cbContext); - static MemorySegment allocate(sdrplay_api_Init_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Init_t.class, fi, constants$5.sdrplay_api_Init_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, java.lang.foreign.MemorySegment callbackFns, java.lang.foreign.MemorySegment cbContext); + static MemorySegment allocate(sdrplay_api_Init_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$5.sdrplay_api_Init_t_UP$MH, fi, constants$5.sdrplay_api_Init_t$FUNC, scope); } - static sdrplay_api_Init_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, java.lang.foreign.MemoryAddress _callbackFns, java.lang.foreign.MemoryAddress _cbContext) -> { + static sdrplay_api_Init_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, java.lang.foreign.MemorySegment _callbackFns, java.lang.foreign.MemorySegment _cbContext) -> { try { - return (int)constants$5.sdrplay_api_Init_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, (java.lang.foreign.Addressable)_callbackFns, (java.lang.foreign.Addressable)_cbContext); + return (int)constants$5.sdrplay_api_Init_t_DOWN$MH.invokeExact(symbol, _dev, _callbackFns, _cbContext); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_LockDeviceApi_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_LockDeviceApi_t.java index c71b74210..e17cced78 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_LockDeviceApi_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_LockDeviceApi_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_LockDeviceApi_t)(); + * } + */ public interface sdrplay_api_LockDeviceApi_t { int apply(); - static MemorySegment allocate(sdrplay_api_LockDeviceApi_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_LockDeviceApi_t.class, fi, constants$1.sdrplay_api_LockDeviceApi_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_LockDeviceApi_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$1.sdrplay_api_LockDeviceApi_t_UP$MH, fi, constants$1.sdrplay_api_LockDeviceApi_t$FUNC, scope); } - static sdrplay_api_LockDeviceApi_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_LockDeviceApi_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$1.sdrplay_api_LockDeviceApi_t$MH.invokeExact((Addressable)symbol); + return (int)constants$1.sdrplay_api_LockDeviceApi_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Open_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Open_t.java index 33f491543..7a69321e6 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Open_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Open_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_Open_t)(); + * } + */ public interface sdrplay_api_Open_t { int apply(); - static MemorySegment allocate(sdrplay_api_Open_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Open_t.class, fi, constants$0.sdrplay_api_Open_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_Open_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$0.sdrplay_api_Open_t_UP$MH, fi, constants$0.sdrplay_api_Open_t$FUNC, scope); } - static sdrplay_api_Open_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_Open_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$0.sdrplay_api_Open_t$MH.invokeExact((Addressable)symbol); + return (int)constants$0.sdrplay_api_Open_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_PowerOverloadCbParamT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_PowerOverloadCbParamT.java index bc9cf56cf..089b45acd 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_PowerOverloadCbParamT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_PowerOverloadCbParamT.java @@ -21,17 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_PowerOverloadCbEventIdT powerOverloadChangeType; + * }; + * } + */ public class sdrplay_api_PowerOverloadCbParamT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("powerOverloadChangeType") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("powerOverloadChangeType") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_PowerOverloadCbParamT.$struct$LAYOUT; @@ -40,10 +47,22 @@ public class sdrplay_api_PowerOverloadCbParamT { public static VarHandle powerOverloadChangeType$VH() { return sdrplay_api_PowerOverloadCbParamT.powerOverloadChangeType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_PowerOverloadCbEventIdT powerOverloadChangeType; + * } + */ public static int powerOverloadChangeType$get(MemorySegment seg) { return (int)sdrplay_api_PowerOverloadCbParamT.powerOverloadChangeType$VH.get(seg); } - public static void powerOverloadChangeType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_PowerOverloadCbEventIdT powerOverloadChangeType; + * } + */ + public static void powerOverloadChangeType$set(MemorySegment seg, int x) { sdrplay_api_PowerOverloadCbParamT.powerOverloadChangeType$VH.set(seg, x); } public static int powerOverloadChangeType$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_PowerOverloadCbParamT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ReleaseDevice_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ReleaseDevice_t.java index 693c3e602..e3b15377e 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ReleaseDevice_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ReleaseDevice_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_ReleaseDevice_t)(struct * device); + * } + */ public interface sdrplay_api_ReleaseDevice_t { - int apply(java.lang.foreign.MemoryAddress device); - static MemorySegment allocate(sdrplay_api_ReleaseDevice_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_ReleaseDevice_t.class, fi, constants$3.sdrplay_api_ReleaseDevice_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev); + static MemorySegment allocate(sdrplay_api_ReleaseDevice_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$3.sdrplay_api_ReleaseDevice_t_UP$MH, fi, constants$3.sdrplay_api_ReleaseDevice_t$FUNC, scope); } - static sdrplay_api_ReleaseDevice_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _device) -> { + static sdrplay_api_ReleaseDevice_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev) -> { try { - return (int)constants$3.sdrplay_api_ReleaseDevice_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_device); + return (int)constants$3.sdrplay_api_ReleaseDevice_t_DOWN$MH.invokeExact(symbol, _dev); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ResetFlagsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ResetFlagsT.java index 4d3d9f5c6..024c77e35 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ResetFlagsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_ResetFlagsT.java @@ -21,16 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char resetGainUpdate; + * unsigned char resetRfUpdate; + * unsigned char resetFsUpdate; + * }; + * } + */ public class sdrplay_api_ResetFlagsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("resetGainUpdate"), Constants$root.C_CHAR$LAYOUT.withName("resetRfUpdate"), Constants$root.C_CHAR$LAYOUT.withName("resetFsUpdate") @@ -42,10 +51,22 @@ public class sdrplay_api_ResetFlagsT { public static VarHandle resetGainUpdate$VH() { return sdrplay_api_ResetFlagsT.resetGainUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char resetGainUpdate; + * } + */ public static byte resetGainUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_ResetFlagsT.resetGainUpdate$VH.get(seg); } - public static void resetGainUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char resetGainUpdate; + * } + */ + public static void resetGainUpdate$set(MemorySegment seg, byte x) { sdrplay_api_ResetFlagsT.resetGainUpdate$VH.set(seg, x); } public static byte resetGainUpdate$get(MemorySegment seg, long index) { @@ -58,10 +79,22 @@ public class sdrplay_api_ResetFlagsT { public static VarHandle resetRfUpdate$VH() { return sdrplay_api_ResetFlagsT.resetRfUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char resetRfUpdate; + * } + */ public static byte resetRfUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_ResetFlagsT.resetRfUpdate$VH.get(seg); } - public static void resetRfUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char resetRfUpdate; + * } + */ + public static void resetRfUpdate$set(MemorySegment seg, byte x) { sdrplay_api_ResetFlagsT.resetRfUpdate$VH.set(seg, x); } public static byte resetRfUpdate$get(MemorySegment seg, long index) { @@ -74,10 +107,22 @@ public class sdrplay_api_ResetFlagsT { public static VarHandle resetFsUpdate$VH() { return sdrplay_api_ResetFlagsT.resetFsUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char resetFsUpdate; + * } + */ public static byte resetFsUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_ResetFlagsT.resetFsUpdate$VH.get(seg); } - public static void resetFsUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char resetFsUpdate; + * } + */ + public static void resetFsUpdate$set(MemorySegment seg, byte x) { sdrplay_api_ResetFlagsT.resetFsUpdate$VH.set(seg, x); } public static byte resetFsUpdate$get(MemorySegment seg, long index) { @@ -88,10 +133,10 @@ public class sdrplay_api_ResetFlagsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RfFreqT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RfFreqT.java index 8db73ef7d..4560e9c42 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RfFreqT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RfFreqT.java @@ -21,16 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * double rfHz; + * unsigned char syncUpdate; + * }; + * } + */ public class sdrplay_api_RfFreqT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_DOUBLE$LAYOUT.withName("rfHz"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(56) @@ -42,10 +50,22 @@ public class sdrplay_api_RfFreqT { public static VarHandle rfHz$VH() { return sdrplay_api_RfFreqT.rfHz$VH; } + /** + * Getter for field: + * {@snippet : + * double rfHz; + * } + */ public static double rfHz$get(MemorySegment seg) { return (double)sdrplay_api_RfFreqT.rfHz$VH.get(seg); } - public static void rfHz$set( MemorySegment seg, double x) { + /** + * Setter for field: + * {@snippet : + * double rfHz; + * } + */ + public static void rfHz$set(MemorySegment seg, double x) { sdrplay_api_RfFreqT.rfHz$VH.set(seg, x); } public static double rfHz$get(MemorySegment seg, long index) { @@ -58,10 +78,22 @@ public class sdrplay_api_RfFreqT { public static VarHandle syncUpdate$VH() { return sdrplay_api_RfFreqT.syncUpdate$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ public static byte syncUpdate$get(MemorySegment seg) { return (byte)sdrplay_api_RfFreqT.syncUpdate$VH.get(seg); } - public static void syncUpdate$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char syncUpdate; + * } + */ + public static void syncUpdate$set(MemorySegment seg, byte x) { sdrplay_api_RfFreqT.syncUpdate$VH.set(seg, x); } public static byte syncUpdate$get(MemorySegment seg, long index) { @@ -72,10 +104,10 @@ public class sdrplay_api_RfFreqT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aParamsT.java index 092c2cb4a..f64a365ff 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aParamsT.java @@ -21,16 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char rfNotchEnable; + * unsigned char rfDabNotchEnable; + * }; + * } + */ public class sdrplay_api_Rsp1aParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable") ); @@ -41,10 +49,22 @@ public class sdrplay_api_Rsp1aParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_Rsp1aParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp1aParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp1aParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -57,10 +77,22 @@ public class sdrplay_api_Rsp1aParamsT { public static VarHandle rfDabNotchEnable$VH() { return sdrplay_api_Rsp1aParamsT.rfDabNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ public static byte rfDabNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp1aParamsT.rfDabNotchEnable$VH.get(seg); } - public static void rfDabNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ + public static void rfDabNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp1aParamsT.rfDabNotchEnable$VH.set(seg, x); } public static byte rfDabNotchEnable$get(MemorySegment seg, long index) { @@ -71,10 +103,10 @@ public class sdrplay_api_Rsp1aParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aTunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aTunerParamsT.java index 1cb1545d1..8b3da5f55 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aTunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp1aTunerParamsT.java @@ -21,16 +21,23 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char biasTEnable; + * }; + * } + */ public class sdrplay_api_Rsp1aTunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable") ); public static MemoryLayout $LAYOUT() { @@ -40,10 +47,22 @@ public class sdrplay_api_Rsp1aTunerParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_Rsp1aTunerParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp1aTunerParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp1aTunerParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_Rsp1aTunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2ParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2ParamsT.java index 7160cd312..f0d675489 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2ParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2ParamsT.java @@ -21,16 +21,23 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char extRefOutputEn; + * }; + * } + */ public class sdrplay_api_Rsp2ParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("extRefOutputEn") ); public static MemoryLayout $LAYOUT() { @@ -40,10 +47,22 @@ public class sdrplay_api_Rsp2ParamsT { public static VarHandle extRefOutputEn$VH() { return sdrplay_api_Rsp2ParamsT.extRefOutputEn$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char extRefOutputEn; + * } + */ public static byte extRefOutputEn$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp2ParamsT.extRefOutputEn$VH.get(seg); } - public static void extRefOutputEn$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char extRefOutputEn; + * } + */ + public static void extRefOutputEn$set(MemorySegment seg, byte x) { sdrplay_api_Rsp2ParamsT.extRefOutputEn$VH.set(seg, x); } public static byte extRefOutputEn$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_Rsp2ParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2TunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2TunerParamsT.java index b49f4fd2d..69c8ea651 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2TunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Rsp2TunerParamsT.java @@ -21,20 +21,30 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char biasTEnable; + * sdrplay_api_Rsp2_AmPortSelectT amPortSel; + * sdrplay_api_Rsp2_AntennaSelectT antennaSel; + * unsigned char rfNotchEnable; + * }; + * } + */ public class sdrplay_api_Rsp2TunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("amPortSel"), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("amPortSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), MemoryLayout.paddingLayout(24) ); @@ -45,10 +55,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_Rsp2TunerParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp2TunerParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp2TunerParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -61,10 +83,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle amPortSel$VH() { return sdrplay_api_Rsp2TunerParamsT.amPortSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_Rsp2_AmPortSelectT amPortSel; + * } + */ public static int amPortSel$get(MemorySegment seg) { return (int)sdrplay_api_Rsp2TunerParamsT.amPortSel$VH.get(seg); } - public static void amPortSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_Rsp2_AmPortSelectT amPortSel; + * } + */ + public static void amPortSel$set(MemorySegment seg, int x) { sdrplay_api_Rsp2TunerParamsT.amPortSel$VH.set(seg, x); } public static int amPortSel$get(MemorySegment seg, long index) { @@ -77,10 +111,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle antennaSel$VH() { return sdrplay_api_Rsp2TunerParamsT.antennaSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_Rsp2_AntennaSelectT antennaSel; + * } + */ public static int antennaSel$get(MemorySegment seg) { return (int)sdrplay_api_Rsp2TunerParamsT.antennaSel$VH.get(seg); } - public static void antennaSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_Rsp2_AntennaSelectT antennaSel; + * } + */ + public static void antennaSel$set(MemorySegment seg, int x) { sdrplay_api_Rsp2TunerParamsT.antennaSel$VH.set(seg, x); } public static int antennaSel$get(MemorySegment seg, long index) { @@ -93,10 +139,22 @@ public class sdrplay_api_Rsp2TunerParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_Rsp2TunerParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_Rsp2TunerParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_Rsp2TunerParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -107,10 +165,10 @@ public class sdrplay_api_Rsp2TunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoModeCbParamT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoModeCbParamT.java index 09ca4d51b..125d00a19 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoModeCbParamT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoModeCbParamT.java @@ -21,17 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * sdrplay_api_RspDuoModeCbEventIdT modeChangeType; + * }; + * } + */ public class sdrplay_api_RspDuoModeCbParamT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("modeChangeType") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("modeChangeType") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_RspDuoModeCbParamT.$struct$LAYOUT; @@ -40,10 +47,22 @@ public class sdrplay_api_RspDuoModeCbParamT { public static VarHandle modeChangeType$VH() { return sdrplay_api_RspDuoModeCbParamT.modeChangeType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDuoModeCbEventIdT modeChangeType; + * } + */ public static int modeChangeType$get(MemorySegment seg) { return (int)sdrplay_api_RspDuoModeCbParamT.modeChangeType$VH.get(seg); } - public static void modeChangeType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDuoModeCbEventIdT modeChangeType; + * } + */ + public static void modeChangeType$set(MemorySegment seg, int x) { sdrplay_api_RspDuoModeCbParamT.modeChangeType$VH.set(seg, x); } public static int modeChangeType$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_RspDuoModeCbParamT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoParamsT.java index 72aa4d57d..4b64c2509 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoParamsT.java @@ -21,17 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * int extRefOutputEn; + * }; + * } + */ public class sdrplay_api_RspDuoParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("extRefOutputEn") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("extRefOutputEn") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_RspDuoParamsT.$struct$LAYOUT; @@ -40,10 +47,22 @@ public class sdrplay_api_RspDuoParamsT { public static VarHandle extRefOutputEn$VH() { return sdrplay_api_RspDuoParamsT.extRefOutputEn$VH; } + /** + * Getter for field: + * {@snippet : + * int extRefOutputEn; + * } + */ public static int extRefOutputEn$get(MemorySegment seg) { return (int)sdrplay_api_RspDuoParamsT.extRefOutputEn$VH.get(seg); } - public static void extRefOutputEn$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int extRefOutputEn; + * } + */ + public static void extRefOutputEn$set(MemorySegment seg, int x) { sdrplay_api_RspDuoParamsT.extRefOutputEn$VH.set(seg, x); } public static int extRefOutputEn$get(MemorySegment seg, long index) { @@ -54,10 +73,10 @@ public class sdrplay_api_RspDuoParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoTunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoTunerParamsT.java index 6864d563d..7f8e7a634 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoTunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDuoTunerParamsT.java @@ -21,19 +21,30 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemoryLayout; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.SegmentScope; +import java.lang.foreign.StructLayout; import java.lang.invoke.VarHandle; + +/** + * {@snippet : + * struct { + * unsigned char biasTEnable; + * sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel; + * unsigned char tuner1AmNotchEnable; + * unsigned char rfNotchEnable; + * unsigned char rfDabNotchEnable; + * }; + * } + */ public class sdrplay_api_RspDuoTunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("tuner1AmPortSel"), + Constants$root.C_INT$LAYOUT.withName("tuner1AmPortSel"), Constants$root.C_CHAR$LAYOUT.withName("tuner1AmNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), @@ -46,10 +57,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -62,10 +85,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle tuner1AmPortSel$VH() { return sdrplay_api_RspDuoTunerParamsT.tuner1AmPortSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel; + * } + */ public static int tuner1AmPortSel$get(MemorySegment seg) { return (int)sdrplay_api_RspDuoTunerParamsT.tuner1AmPortSel$VH.get(seg); } - public static void tuner1AmPortSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDuo_AmPortSelectT tuner1AmPortSel; + * } + */ + public static void tuner1AmPortSel$set(MemorySegment seg, int x) { sdrplay_api_RspDuoTunerParamsT.tuner1AmPortSel$VH.set(seg, x); } public static int tuner1AmPortSel$get(MemorySegment seg, long index) { @@ -78,10 +113,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle tuner1AmNotchEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.tuner1AmNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char tuner1AmNotchEnable; + * } + */ public static byte tuner1AmNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.tuner1AmNotchEnable$VH.get(seg); } - public static void tuner1AmNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char tuner1AmNotchEnable; + * } + */ + public static void tuner1AmNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.tuner1AmNotchEnable$VH.set(seg, x); } public static byte tuner1AmNotchEnable$get(MemorySegment seg, long index) { @@ -94,10 +141,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -110,10 +169,22 @@ public class sdrplay_api_RspDuoTunerParamsT { public static VarHandle rfDabNotchEnable$VH() { return sdrplay_api_RspDuoTunerParamsT.rfDabNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ public static byte rfDabNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDuoTunerParamsT.rfDabNotchEnable$VH.get(seg); } - public static void rfDabNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ + public static void rfDabNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDuoTunerParamsT.rfDabNotchEnable$VH.set(seg, x); } public static byte rfDabNotchEnable$get(MemorySegment seg, long index) { @@ -124,10 +195,10 @@ public class sdrplay_api_RspDuoTunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxParamsT.java index e549b6fbf..5745922f1 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxParamsT.java @@ -21,20 +21,27 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * unsigned char hdrEnable; + * unsigned char biasTEnable; + * sdrplay_api_RspDx_AntennaSelectT antennaSel; + * unsigned char rfNotchEnable; + * unsigned char rfDabNotchEnable; + * }; + * } + */ public class sdrplay_api_RspDxParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("hdrEnable"), Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), MemoryLayout.paddingLayout(16) @@ -46,10 +53,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle hdrEnable$VH() { return sdrplay_api_RspDxParamsT.hdrEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char hdrEnable; + * } + */ public static byte hdrEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.hdrEnable$VH.get(seg); } - public static void hdrEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char hdrEnable; + * } + */ + public static void hdrEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.hdrEnable$VH.set(seg, x); } public static byte hdrEnable$get(MemorySegment seg, long index) { @@ -62,10 +81,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle biasTEnable$VH() { return sdrplay_api_RspDxParamsT.biasTEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ public static byte biasTEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.biasTEnable$VH.get(seg); } - public static void biasTEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char biasTEnable; + * } + */ + public static void biasTEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.biasTEnable$VH.set(seg, x); } public static byte biasTEnable$get(MemorySegment seg, long index) { @@ -78,10 +109,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle antennaSel$VH() { return sdrplay_api_RspDxParamsT.antennaSel$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDx_AntennaSelectT antennaSel; + * } + */ public static int antennaSel$get(MemorySegment seg) { return (int)sdrplay_api_RspDxParamsT.antennaSel$VH.get(seg); } - public static void antennaSel$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDx_AntennaSelectT antennaSel; + * } + */ + public static void antennaSel$set(MemorySegment seg, int x) { sdrplay_api_RspDxParamsT.antennaSel$VH.set(seg, x); } public static int antennaSel$get(MemorySegment seg, long index) { @@ -94,10 +137,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle rfNotchEnable$VH() { return sdrplay_api_RspDxParamsT.rfNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ public static byte rfNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.rfNotchEnable$VH.get(seg); } - public static void rfNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfNotchEnable; + * } + */ + public static void rfNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.rfNotchEnable$VH.set(seg, x); } public static byte rfNotchEnable$get(MemorySegment seg, long index) { @@ -110,10 +165,22 @@ public class sdrplay_api_RspDxParamsT { public static VarHandle rfDabNotchEnable$VH() { return sdrplay_api_RspDxParamsT.rfDabNotchEnable$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ public static byte rfDabNotchEnable$get(MemorySegment seg) { return (byte)sdrplay_api_RspDxParamsT.rfDabNotchEnable$VH.get(seg); } - public static void rfDabNotchEnable$set( MemorySegment seg, byte x) { + /** + * Setter for field: + * {@snippet : + * unsigned char rfDabNotchEnable; + * } + */ + public static void rfDabNotchEnable$set(MemorySegment seg, byte x) { sdrplay_api_RspDxParamsT.rfDabNotchEnable$VH.set(seg, x); } public static byte rfDabNotchEnable$get(MemorySegment seg, long index) { @@ -124,10 +191,10 @@ public class sdrplay_api_RspDxParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxTunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxTunerParamsT.java index 6d232c29f..3a4df9baf 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxTunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RspDxTunerParamsT.java @@ -21,17 +21,20 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * sdrplay_api_RspDx_HdrModeBwT hdrBw; + * }; + * } + */ public class sdrplay_api_RspDxTunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("hdrBw") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("hdrBw") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_RspDxTunerParamsT.$struct$LAYOUT; @@ -40,10 +43,22 @@ public class sdrplay_api_RspDxTunerParamsT { public static VarHandle hdrBw$VH() { return sdrplay_api_RspDxTunerParamsT.hdrBw$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_RspDx_HdrModeBwT hdrBw; + * } + */ public static int hdrBw$get(MemorySegment seg) { return (int)sdrplay_api_RspDxTunerParamsT.hdrBw$VH.get(seg); } - public static void hdrBw$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_RspDx_HdrModeBwT hdrBw; + * } + */ + public static void hdrBw$set(MemorySegment seg, int x) { sdrplay_api_RspDxTunerParamsT.hdrBw$VH.set(seg, x); } public static int hdrBw$get(MemorySegment seg, long index) { @@ -54,10 +69,10 @@ public class sdrplay_api_RspDxTunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RxChannelParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RxChannelParamsT.java index 796ed5d89..a4a361d79 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RxChannelParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_RxChannelParamsT.java @@ -21,25 +21,33 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * sdrplay_api_TunerParamsT tunerParams; + * sdrplay_api_ControlParamsT ctrlParams; + * sdrplay_api_Rsp1aTunerParamsT rsp1aTunerParams; + * sdrplay_api_Rsp2TunerParamsT rsp2TunerParams; + * sdrplay_api_RspDuoTunerParamsT rspDuoTunerParams; + * sdrplay_api_RspDxTunerParamsT rspDxTunerParams; + * }; + * } + */ public class sdrplay_api_RxChannelParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("bwType"), - Constants$root.C_LONG$LAYOUT.withName("ifType"), - Constants$root.C_LONG$LAYOUT.withName("loMode"), + Constants$root.C_INT$LAYOUT.withName("bwType"), + Constants$root.C_INT$LAYOUT.withName("ifType"), + Constants$root.C_INT$LAYOUT.withName("loMode"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("gRdB"), Constants$root.C_CHAR$LAYOUT.withName("LNAstate"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("minGr"), + Constants$root.C_INT$LAYOUT.withName("minGr"), MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), @@ -56,8 +64,8 @@ public class sdrplay_api_RxChannelParamsT { Constants$root.C_CHAR$LAYOUT.withName("dcCal"), Constants$root.C_CHAR$LAYOUT.withName("speedUp"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("trackTime"), - Constants$root.C_LONG$LAYOUT.withName("refreshRateTime") + Constants$root.C_INT$LAYOUT.withName("trackTime"), + Constants$root.C_INT$LAYOUT.withName("refreshRateTime") ).withName("dcOffsetTuner"), MemoryLayout.paddingLayout(32) ).withName("tunerParams"), @@ -73,15 +81,15 @@ public class sdrplay_api_RxChannelParamsT { ).withName("decimation"), MemoryLayout.paddingLayout(24), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("enable"), - Constants$root.C_LONG$LAYOUT.withName("setPoint_dBfs"), + Constants$root.C_INT$LAYOUT.withName("enable"), + Constants$root.C_INT$LAYOUT.withName("setPoint_dBfs"), Constants$root.C_SHORT$LAYOUT.withName("attack_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_delay_ms"), Constants$root.C_SHORT$LAYOUT.withName("decay_threshold_dB"), - Constants$root.C_LONG$LAYOUT.withName("syncUpdate") + Constants$root.C_INT$LAYOUT.withName("syncUpdate") ).withName("agc"), - Constants$root.C_LONG$LAYOUT.withName("adsbMode") + Constants$root.C_INT$LAYOUT.withName("adsbMode") ).withName("ctrlParams"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable") @@ -90,22 +98,22 @@ public class sdrplay_api_RxChannelParamsT { MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("amPortSel"), - Constants$root.C_LONG$LAYOUT.withName("antennaSel"), + Constants$root.C_INT$LAYOUT.withName("amPortSel"), + Constants$root.C_INT$LAYOUT.withName("antennaSel"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), MemoryLayout.paddingLayout(24) ).withName("rsp2TunerParams"), MemoryLayout.structLayout( Constants$root.C_CHAR$LAYOUT.withName("biasTEnable"), MemoryLayout.paddingLayout(24), - Constants$root.C_LONG$LAYOUT.withName("tuner1AmPortSel"), + Constants$root.C_INT$LAYOUT.withName("tuner1AmPortSel"), Constants$root.C_CHAR$LAYOUT.withName("tuner1AmNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfNotchEnable"), Constants$root.C_CHAR$LAYOUT.withName("rfDabNotchEnable"), MemoryLayout.paddingLayout(8) ).withName("rspDuoTunerParams"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("hdrBw") + Constants$root.C_INT$LAYOUT.withName("hdrBw") ).withName("rspDxTunerParams"), MemoryLayout.paddingLayout(32) ); @@ -132,10 +140,10 @@ public class sdrplay_api_RxChannelParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SelectDevice_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SelectDevice_t.java index 5f61bb91f..35d3f1af3 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SelectDevice_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SelectDevice_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SelectDevice_t)(struct * device); + * } + */ public interface sdrplay_api_SelectDevice_t { - int apply(java.lang.foreign.MemoryAddress device); - static MemorySegment allocate(sdrplay_api_SelectDevice_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SelectDevice_t.class, fi, constants$2.sdrplay_api_SelectDevice_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev); + static MemorySegment allocate(sdrplay_api_SelectDevice_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$2.sdrplay_api_SelectDevice_t_UP$MH, fi, constants$2.sdrplay_api_SelectDevice_t$FUNC, scope); } - static sdrplay_api_SelectDevice_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _device) -> { + static sdrplay_api_SelectDevice_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev) -> { try { - return (int)constants$2.sdrplay_api_SelectDevice_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_device); + return (int)constants$2.sdrplay_api_SelectDevice_t_DOWN$MH.invokeExact(symbol, _dev); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCallback_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCallback_t.java index b893f5e20..dad01b438 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCallback_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCallback_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * void (*sdrplay_api_StreamCallback_t)(short* xi,short* xq,struct * params,unsigned int numSamples,unsigned int reset,void* cbContext); + * } + */ public interface sdrplay_api_StreamCallback_t { - void apply(java.lang.foreign.MemoryAddress xi, java.lang.foreign.MemoryAddress xq, java.lang.foreign.MemoryAddress params, int numSamples, int reset, java.lang.foreign.MemoryAddress cbContext); - static MemorySegment allocate(sdrplay_api_StreamCallback_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_StreamCallback_t.class, fi, constants$0.sdrplay_api_StreamCallback_t$FUNC, session); + void apply(java.lang.foreign.MemorySegment xi, java.lang.foreign.MemorySegment xq, java.lang.foreign.MemorySegment params, int numSamples, int reset, java.lang.foreign.MemorySegment cbContext); + static MemorySegment allocate(sdrplay_api_StreamCallback_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$0.sdrplay_api_StreamCallback_t_UP$MH, fi, constants$0.sdrplay_api_StreamCallback_t$FUNC, scope); } - static sdrplay_api_StreamCallback_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _xi, java.lang.foreign.MemoryAddress _xq, java.lang.foreign.MemoryAddress _params, int _numSamples, int _reset, java.lang.foreign.MemoryAddress _cbContext) -> { + static sdrplay_api_StreamCallback_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _xi, java.lang.foreign.MemorySegment _xq, java.lang.foreign.MemorySegment _params, int _numSamples, int _reset, java.lang.foreign.MemorySegment _cbContext) -> { try { - constants$0.sdrplay_api_StreamCallback_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_xi, (java.lang.foreign.Addressable)_xq, (java.lang.foreign.Addressable)_params, _numSamples, _reset, (java.lang.foreign.Addressable)_cbContext); + constants$0.sdrplay_api_StreamCallback_t_DOWN$MH.invokeExact(symbol, _xi, _xq, _params, _numSamples, _reset, _cbContext); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCbParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCbParamsT.java index 91dd47088..13575852f 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCbParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_StreamCbParamsT.java @@ -21,21 +21,28 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * unsigned int firstSampleNum; + * int grChanged; + * int rfChanged; + * int fsChanged; + * unsigned int numSamples; + * }; + * } + */ public class sdrplay_api_StreamCbParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("firstSampleNum"), - Constants$root.C_LONG$LAYOUT.withName("grChanged"), - Constants$root.C_LONG$LAYOUT.withName("rfChanged"), - Constants$root.C_LONG$LAYOUT.withName("fsChanged"), - Constants$root.C_LONG$LAYOUT.withName("numSamples") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("firstSampleNum"), + Constants$root.C_INT$LAYOUT.withName("grChanged"), + Constants$root.C_INT$LAYOUT.withName("rfChanged"), + Constants$root.C_INT$LAYOUT.withName("fsChanged"), + Constants$root.C_INT$LAYOUT.withName("numSamples") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_StreamCbParamsT.$struct$LAYOUT; @@ -44,10 +51,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle firstSampleNum$VH() { return sdrplay_api_StreamCbParamsT.firstSampleNum$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int firstSampleNum; + * } + */ public static int firstSampleNum$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.firstSampleNum$VH.get(seg); } - public static void firstSampleNum$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int firstSampleNum; + * } + */ + public static void firstSampleNum$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.firstSampleNum$VH.set(seg, x); } public static int firstSampleNum$get(MemorySegment seg, long index) { @@ -60,10 +79,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle grChanged$VH() { return sdrplay_api_StreamCbParamsT.grChanged$VH; } + /** + * Getter for field: + * {@snippet : + * int grChanged; + * } + */ public static int grChanged$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.grChanged$VH.get(seg); } - public static void grChanged$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int grChanged; + * } + */ + public static void grChanged$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.grChanged$VH.set(seg, x); } public static int grChanged$get(MemorySegment seg, long index) { @@ -76,10 +107,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle rfChanged$VH() { return sdrplay_api_StreamCbParamsT.rfChanged$VH; } + /** + * Getter for field: + * {@snippet : + * int rfChanged; + * } + */ public static int rfChanged$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.rfChanged$VH.get(seg); } - public static void rfChanged$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int rfChanged; + * } + */ + public static void rfChanged$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.rfChanged$VH.set(seg, x); } public static int rfChanged$get(MemorySegment seg, long index) { @@ -92,10 +135,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle fsChanged$VH() { return sdrplay_api_StreamCbParamsT.fsChanged$VH; } + /** + * Getter for field: + * {@snippet : + * int fsChanged; + * } + */ public static int fsChanged$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.fsChanged$VH.get(seg); } - public static void fsChanged$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * int fsChanged; + * } + */ + public static void fsChanged$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.fsChanged$VH.set(seg, x); } public static int fsChanged$get(MemorySegment seg, long index) { @@ -108,10 +163,22 @@ public class sdrplay_api_StreamCbParamsT { public static VarHandle numSamples$VH() { return sdrplay_api_StreamCbParamsT.numSamples$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int numSamples; + * } + */ public static int numSamples$get(MemorySegment seg) { return (int)sdrplay_api_StreamCbParamsT.numSamples$VH.get(seg); } - public static void numSamples$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int numSamples; + * } + */ + public static void numSamples$set(MemorySegment seg, int x) { sdrplay_api_StreamCbParamsT.numSamples$VH.set(seg, x); } public static int numSamples$get(MemorySegment seg, long index) { @@ -122,10 +189,10 @@ public class sdrplay_api_StreamCbParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoActiveTuner_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoActiveTuner_t.java index 44905ea87..f0da28f4a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoActiveTuner_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoActiveTuner_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SwapRspDuoActiveTuner_t)(void* dev,enum * tuner,enum tuner1AmPortSel); + * } + */ public interface sdrplay_api_SwapRspDuoActiveTuner_t { - int apply(java.lang.foreign.MemoryAddress dev, java.lang.foreign.MemoryAddress tuner, int tuner1AmPortSel); - static MemorySegment allocate(sdrplay_api_SwapRspDuoActiveTuner_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SwapRspDuoActiveTuner_t.class, fi, constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, java.lang.foreign.MemorySegment tuner, int tuner1AmPortSel); + static MemorySegment allocate(sdrplay_api_SwapRspDuoActiveTuner_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_UP$MH, fi, constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$FUNC, scope); } - static sdrplay_api_SwapRspDuoActiveTuner_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, java.lang.foreign.MemoryAddress _tuner, int _tuner1AmPortSel) -> { + static sdrplay_api_SwapRspDuoActiveTuner_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, java.lang.foreign.MemorySegment _tuner, int _tuner1AmPortSel) -> { try { - return (int)constants$6.sdrplay_api_SwapRspDuoActiveTuner_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, (java.lang.foreign.Addressable)_tuner, _tuner1AmPortSel); + return (int)constants$6.sdrplay_api_SwapRspDuoActiveTuner_t_DOWN$MH.invokeExact(symbol, _dev, _tuner, _tuner1AmPortSel); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java index ec28a2133..197d610f9 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t)(double* currentSampleRate,double newSampleRate); + * } + */ public interface sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t { - int apply(java.lang.foreign.MemoryAddress currentSampleRate, double newSampleRate); - static MemorySegment allocate(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t.class, fi, constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currentSampleRate, double newSampleRate); + static MemorySegment allocate(sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_UP$MH, fi, constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$FUNC, scope); } - static sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _currentSampleRate, double _newSampleRate) -> { + static sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currentSampleRate, double _newSampleRate) -> { try { - return (int)constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_currentSampleRate, _newSampleRate); + return (int)constants$6.sdrplay_api_SwapRspDuoDualTunerModeSampleRate_t_DOWN$MH.invokeExact(symbol, _currentSampleRate, _newSampleRate); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoMode_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoMode_t.java index dc3cd1bfc..6867a345a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoMode_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SwapRspDuoMode_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_SwapRspDuoMode_t)(struct * currDevice,struct ** deviceParams,enum rspDuoMode,double sampleRate,enum tuner,enum bwType,enum ifType,enum tuner1AmPortSel); + * } + */ public interface sdrplay_api_SwapRspDuoMode_t { - int apply(java.lang.foreign.MemoryAddress currDevice, java.lang.foreign.MemoryAddress deviceParams, int rspDuoMode, double sampleRate, int tuner, int bwType, int ifType, int tuner1AmPortSel); - static MemorySegment allocate(sdrplay_api_SwapRspDuoMode_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_SwapRspDuoMode_t.class, fi, constants$6.sdrplay_api_SwapRspDuoMode_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment currDevice, java.lang.foreign.MemorySegment deviceParams, int rspDuoMode, double sampleRate, int tuner, int bwType, int ifType, int tuner1AmPortSel); + static MemorySegment allocate(sdrplay_api_SwapRspDuoMode_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$6.sdrplay_api_SwapRspDuoMode_t_UP$MH, fi, constants$6.sdrplay_api_SwapRspDuoMode_t$FUNC, scope); } - static sdrplay_api_SwapRspDuoMode_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _currDevice, java.lang.foreign.MemoryAddress _deviceParams, int _rspDuoMode, double _sampleRate, int _tuner, int _bwType, int _ifType, int _tuner1AmPortSel) -> { + static sdrplay_api_SwapRspDuoMode_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _currDevice, java.lang.foreign.MemorySegment _deviceParams, int _rspDuoMode, double _sampleRate, int _tuner, int _bwType, int _ifType, int _tuner1AmPortSel) -> { try { - return (int)constants$6.sdrplay_api_SwapRspDuoMode_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_currDevice, (java.lang.foreign.Addressable)_deviceParams, _rspDuoMode, _sampleRate, _tuner, _bwType, _ifType, _tuner1AmPortSel); + return (int)constants$6.sdrplay_api_SwapRspDuoMode_t_DOWN$MH.invokeExact(symbol, _currDevice, _deviceParams, _rspDuoMode, _sampleRate, _tuner, _bwType, _ifType, _tuner1AmPortSel); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SyncUpdateT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SyncUpdateT.java index 7491e8dfc..ee4ecbff3 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SyncUpdateT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_SyncUpdateT.java @@ -21,18 +21,22 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * unsigned int sampleNum; + * unsigned int period; + * }; + * } + */ public class sdrplay_api_SyncUpdateT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("sampleNum"), - Constants$root.C_LONG$LAYOUT.withName("period") + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("sampleNum"), + Constants$root.C_INT$LAYOUT.withName("period") ); public static MemoryLayout $LAYOUT() { return sdrplay_api_SyncUpdateT.$struct$LAYOUT; @@ -41,10 +45,22 @@ public class sdrplay_api_SyncUpdateT { public static VarHandle sampleNum$VH() { return sdrplay_api_SyncUpdateT.sampleNum$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int sampleNum; + * } + */ public static int sampleNum$get(MemorySegment seg) { return (int)sdrplay_api_SyncUpdateT.sampleNum$VH.get(seg); } - public static void sampleNum$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int sampleNum; + * } + */ + public static void sampleNum$set(MemorySegment seg, int x) { sdrplay_api_SyncUpdateT.sampleNum$VH.set(seg, x); } public static int sampleNum$get(MemorySegment seg, long index) { @@ -57,10 +73,22 @@ public class sdrplay_api_SyncUpdateT { public static VarHandle period$VH() { return sdrplay_api_SyncUpdateT.period$VH; } + /** + * Getter for field: + * {@snippet : + * unsigned int period; + * } + */ public static int period$get(MemorySegment seg) { return (int)sdrplay_api_SyncUpdateT.period$VH.get(seg); } - public static void period$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * unsigned int period; + * } + */ + public static void period$set(MemorySegment seg, int x) { sdrplay_api_SyncUpdateT.period$VH.set(seg, x); } public static int period$get(MemorySegment seg, long index) { @@ -71,10 +99,10 @@ public class sdrplay_api_SyncUpdateT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_TunerParamsT.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_TunerParamsT.java index bdeef3154..401ea6f6a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_TunerParamsT.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_TunerParamsT.java @@ -21,25 +21,33 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.GroupLayout; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemoryLayout; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; -import java.lang.foreign.SegmentAllocator; import java.lang.invoke.VarHandle; +import java.lang.foreign.*; + +/** + * {@snippet : + * struct { + * sdrplay_api_Bw_MHzT bwType; + * sdrplay_api_If_kHzT ifType; + * sdrplay_api_LoModeT loMode; + * sdrplay_api_GainT gain; + * sdrplay_api_RfFreqT rfFreq; + * sdrplay_api_DcOffsetTunerT dcOffsetTuner; + * }; + * } + */ public class sdrplay_api_TunerParamsT { - static final GroupLayout $struct$LAYOUT = MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("bwType"), - Constants$root.C_LONG$LAYOUT.withName("ifType"), - Constants$root.C_LONG$LAYOUT.withName("loMode"), + static final StructLayout $struct$LAYOUT = MemoryLayout.structLayout( + Constants$root.C_INT$LAYOUT.withName("bwType"), + Constants$root.C_INT$LAYOUT.withName("ifType"), + Constants$root.C_INT$LAYOUT.withName("loMode"), MemoryLayout.structLayout( - Constants$root.C_LONG$LAYOUT.withName("gRdB"), + Constants$root.C_INT$LAYOUT.withName("gRdB"), Constants$root.C_CHAR$LAYOUT.withName("LNAstate"), Constants$root.C_CHAR$LAYOUT.withName("syncUpdate"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("minGr"), + Constants$root.C_INT$LAYOUT.withName("minGr"), MemoryLayout.structLayout( Constants$root.C_FLOAT$LAYOUT.withName("curr"), Constants$root.C_FLOAT$LAYOUT.withName("max"), @@ -56,8 +64,8 @@ public class sdrplay_api_TunerParamsT { Constants$root.C_CHAR$LAYOUT.withName("dcCal"), Constants$root.C_CHAR$LAYOUT.withName("speedUp"), MemoryLayout.paddingLayout(16), - Constants$root.C_LONG$LAYOUT.withName("trackTime"), - Constants$root.C_LONG$LAYOUT.withName("refreshRateTime") + Constants$root.C_INT$LAYOUT.withName("trackTime"), + Constants$root.C_INT$LAYOUT.withName("refreshRateTime") ).withName("dcOffsetTuner"), MemoryLayout.paddingLayout(32) ); @@ -68,10 +76,22 @@ public class sdrplay_api_TunerParamsT { public static VarHandle bwType$VH() { return sdrplay_api_TunerParamsT.bwType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_Bw_MHzT bwType; + * } + */ public static int bwType$get(MemorySegment seg) { return (int)sdrplay_api_TunerParamsT.bwType$VH.get(seg); } - public static void bwType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_Bw_MHzT bwType; + * } + */ + public static void bwType$set(MemorySegment seg, int x) { sdrplay_api_TunerParamsT.bwType$VH.set(seg, x); } public static int bwType$get(MemorySegment seg, long index) { @@ -84,10 +104,22 @@ public class sdrplay_api_TunerParamsT { public static VarHandle ifType$VH() { return sdrplay_api_TunerParamsT.ifType$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_If_kHzT ifType; + * } + */ public static int ifType$get(MemorySegment seg) { return (int)sdrplay_api_TunerParamsT.ifType$VH.get(seg); } - public static void ifType$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_If_kHzT ifType; + * } + */ + public static void ifType$set(MemorySegment seg, int x) { sdrplay_api_TunerParamsT.ifType$VH.set(seg, x); } public static int ifType$get(MemorySegment seg, long index) { @@ -100,10 +132,22 @@ public class sdrplay_api_TunerParamsT { public static VarHandle loMode$VH() { return sdrplay_api_TunerParamsT.loMode$VH; } + /** + * Getter for field: + * {@snippet : + * sdrplay_api_LoModeT loMode; + * } + */ public static int loMode$get(MemorySegment seg) { return (int)sdrplay_api_TunerParamsT.loMode$VH.get(seg); } - public static void loMode$set( MemorySegment seg, int x) { + /** + * Setter for field: + * {@snippet : + * sdrplay_api_LoModeT loMode; + * } + */ + public static void loMode$set(MemorySegment seg, int x) { sdrplay_api_TunerParamsT.loMode$VH.set(seg, x); } public static int loMode$get(MemorySegment seg, long index) { @@ -123,10 +167,10 @@ public class sdrplay_api_TunerParamsT { } public static long sizeof() { return $LAYOUT().byteSize(); } public static MemorySegment allocate(SegmentAllocator allocator) { return allocator.allocate($LAYOUT()); } - public static MemorySegment allocateArray(int len, SegmentAllocator allocator) { + public static MemorySegment allocateArray(long len, SegmentAllocator allocator) { return allocator.allocate(MemoryLayout.sequenceLayout(len, $LAYOUT())); } - public static MemorySegment ofAddress(MemoryAddress addr, MemorySession session) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, session); } + public static MemorySegment ofAddress(MemorySegment addr, SegmentScope scope) { return RuntimeHelper.asArray(addr, $LAYOUT(), 1, scope); } } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Uninit_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Uninit_t.java index ca8530393..0a4507a0d 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Uninit_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Uninit_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_Uninit_t)(void* dev); + * } + */ public interface sdrplay_api_Uninit_t { - int apply(java.lang.foreign.MemoryAddress dev); - static MemorySegment allocate(sdrplay_api_Uninit_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Uninit_t.class, fi, constants$5.sdrplay_api_Uninit_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev); + static MemorySegment allocate(sdrplay_api_Uninit_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$5.sdrplay_api_Uninit_t_UP$MH, fi, constants$5.sdrplay_api_Uninit_t$FUNC, scope); } - static sdrplay_api_Uninit_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev) -> { + static sdrplay_api_Uninit_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev) -> { try { - return (int)constants$5.sdrplay_api_Uninit_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev); + return (int)constants$5.sdrplay_api_Uninit_t_DOWN$MH.invokeExact(symbol, _dev); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_UnlockDeviceApi_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_UnlockDeviceApi_t.java index 6e5c64b48..7bd57da8a 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_UnlockDeviceApi_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_UnlockDeviceApi_t.java @@ -21,21 +21,24 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.*; + +/** + * {@snippet : + * enum (*sdrplay_api_UnlockDeviceApi_t)(); + * } + */ public interface sdrplay_api_UnlockDeviceApi_t { int apply(); - static MemorySegment allocate(sdrplay_api_UnlockDeviceApi_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_UnlockDeviceApi_t.class, fi, constants$2.sdrplay_api_UnlockDeviceApi_t$FUNC, session); + static MemorySegment allocate(sdrplay_api_UnlockDeviceApi_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$2.sdrplay_api_UnlockDeviceApi_t_UP$MH, fi, constants$2.sdrplay_api_UnlockDeviceApi_t$FUNC, scope); } - static sdrplay_api_UnlockDeviceApi_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); + static sdrplay_api_UnlockDeviceApi_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); return () -> { try { - return (int)constants$2.sdrplay_api_UnlockDeviceApi_t$MH.invokeExact((Addressable)symbol); + return (int)constants$2.sdrplay_api_UnlockDeviceApi_t_DOWN$MH.invokeExact(symbol); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Update_t.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Update_t.java index 7872d9c5b..9a074ffc8 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Update_t.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_Update_t.java @@ -21,21 +21,25 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; import java.lang.foreign.MemorySegment; -import java.lang.foreign.MemorySession; +import java.lang.foreign.SegmentScope; + +/** + * {@snippet : + * enum (*sdrplay_api_Update_t)(void* dev,enum tuner,enum reasonForUpdate,enum reasonForUpdateExt1); + * } + */ public interface sdrplay_api_Update_t { - int apply(java.lang.foreign.MemoryAddress dev, int tuner, int reasonForUpdate, int reasonForUpdateExt1); - static MemorySegment allocate(sdrplay_api_Update_t fi, MemorySession session) { - return RuntimeHelper.upcallStub(sdrplay_api_Update_t.class, fi, constants$5.sdrplay_api_Update_t$FUNC, session); + int apply(java.lang.foreign.MemorySegment dev, int tuner, int reasonForUpdate, int reasonForUpdateExt1); + static MemorySegment allocate(sdrplay_api_Update_t fi, SegmentScope scope) { + return RuntimeHelper.upcallStub(constants$5.sdrplay_api_Update_t_UP$MH, fi, constants$5.sdrplay_api_Update_t$FUNC, scope); } - static sdrplay_api_Update_t ofAddress(MemoryAddress addr, MemorySession session) { - MemorySegment symbol = MemorySegment.ofAddress(addr, 0, session); - return (java.lang.foreign.MemoryAddress _dev, int _tuner, int _reasonForUpdate, int _reasonForUpdateExt1) -> { + static sdrplay_api_Update_t ofAddress(MemorySegment addr, SegmentScope scope) { + MemorySegment symbol = MemorySegment.ofAddress(addr.address(), 0, scope); + return (java.lang.foreign.MemorySegment _dev, int _tuner, int _reasonForUpdate, int _reasonForUpdateExt1) -> { try { - return (int)constants$5.sdrplay_api_Update_t$MH.invokeExact((Addressable)symbol, (java.lang.foreign.Addressable)_dev, _tuner, _reasonForUpdate, _reasonForUpdateExt1); + return (int)constants$5.sdrplay_api_Update_t_DOWN$MH.invokeExact(symbol, _dev, _tuner, _reasonForUpdate, _reasonForUpdateExt1); } catch (Throwable ex$) { throw new AssertionError("should not reach here", ex$); } diff --git a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_h.java b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_h.java index 639871942..71b72987c 100644 --- a/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_h.java +++ b/src/main/java/io/github/dsheirer/source/tuner/sdrplay/api/v3_08/sdrplay_api_h.java @@ -21,10 +21,6 @@ package io.github.dsheirer.source.tuner.sdrplay.api.v3_08; -import java.lang.foreign.Addressable; -import java.lang.foreign.MemoryAddress; -import java.lang.invoke.MethodHandle; - import static java.lang.foreign.ValueLayout.OfAddress; import static java.lang.foreign.ValueLayout.OfByte; import static java.lang.foreign.ValueLayout.OfDouble; @@ -34,723 +30,1337 @@ import static java.lang.foreign.ValueLayout.OfShort; public class sdrplay_api_h { - /* package-private */ sdrplay_api_h() {} - public static OfByte C_CHAR = Constants$root.C_CHAR$LAYOUT; - public static OfShort C_SHORT = Constants$root.C_SHORT$LAYOUT; - public static OfInt C_INT = Constants$root.C_LONG$LAYOUT; - public static OfInt C_LONG = Constants$root.C_LONG$LAYOUT; - public static OfLong C_LONG_LONG = Constants$root.C_LONG_LONG$LAYOUT; - public static OfFloat C_FLOAT = Constants$root.C_FLOAT$LAYOUT; - public static OfDouble C_DOUBLE = Constants$root.C_DOUBLE$LAYOUT; - public static OfAddress C_POINTER = Constants$root.C_POINTER$LAYOUT; + public static final OfByte C_CHAR = Constants$root.C_CHAR$LAYOUT; + public static final OfShort C_SHORT = Constants$root.C_SHORT$LAYOUT; + public static final OfInt C_INT = Constants$root.C_INT$LAYOUT; + public static final OfLong C_LONG = Constants$root.C_LONG_LONG$LAYOUT; + public static final OfLong C_LONG_LONG = Constants$root.C_LONG_LONG$LAYOUT; + public static final OfFloat C_FLOAT = Constants$root.C_FLOAT$LAYOUT; + public static final OfDouble C_DOUBLE = Constants$root.C_DOUBLE$LAYOUT; + public static final OfAddress C_POINTER = Constants$root.C_POINTER$LAYOUT; + /** + * {@snippet : + * #define RSPIA_NUM_LNA_STATES 10 + * } + */ public static int RSPIA_NUM_LNA_STATES() { return (int)10L; } + /** + * {@snippet : + * #define RSPIA_NUM_LNA_STATES_AM 7 + * } + */ public static int RSPIA_NUM_LNA_STATES_AM() { return (int)7L; } + /** + * {@snippet : + * #define RSPIA_NUM_LNA_STATES_LBAND 9 + * } + */ public static int RSPIA_NUM_LNA_STATES_LBAND() { return (int)9L; } + /** + * {@snippet : + * #define RSPII_NUM_LNA_STATES 9 + * } + */ public static int RSPII_NUM_LNA_STATES() { return (int)9L; } + /** + * {@snippet : + * #define RSPII_NUM_LNA_STATES_AMPORT 5 + * } + */ public static int RSPII_NUM_LNA_STATES_AMPORT() { return (int)5L; } + /** + * {@snippet : + * #define RSPII_NUM_LNA_STATES_420MHZ 6 + * } + */ public static int RSPII_NUM_LNA_STATES_420MHZ() { return (int)6L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES 10 + * } + */ public static int RSPDUO_NUM_LNA_STATES() { return (int)10L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES_AMPORT 5 + * } + */ public static int RSPDUO_NUM_LNA_STATES_AMPORT() { return (int)5L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES_AM 7 + * } + */ public static int RSPDUO_NUM_LNA_STATES_AM() { return (int)7L; } + /** + * {@snippet : + * #define RSPDUO_NUM_LNA_STATES_LBAND 9 + * } + */ public static int RSPDUO_NUM_LNA_STATES_LBAND() { return (int)9L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES 28 + * } + */ public static int RSPDX_NUM_LNA_STATES() { return (int)28L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_AMPORT2_0_12 19 + * } + */ public static int RSPDX_NUM_LNA_STATES_AMPORT2_0_12() { return (int)19L; } - public static int RSPDX_NUM_LNA_STATES_AMPORT2_12_50() { + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_AMPORT2_12_60 20 + * } + */ + public static int RSPDX_NUM_LNA_STATES_AMPORT2_12_60() { return (int)20L; } - public static int RSPDX_NUM_LNA_STATES_AMPORT2_50_60() { - return (int)25L; - } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_VHF_BAND3 27 + * } + */ public static int RSPDX_NUM_LNA_STATES_VHF_BAND3() { return (int)27L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_420MHZ 21 + * } + */ public static int RSPDX_NUM_LNA_STATES_420MHZ() { return (int)21L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_LBAND 19 + * } + */ public static int RSPDX_NUM_LNA_STATES_LBAND() { return (int)19L; } + /** + * {@snippet : + * #define RSPDX_NUM_LNA_STATES_DX 26 + * } + */ public static int RSPDX_NUM_LNA_STATES_DX() { - return (int)22L; + return (int)26L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_ANTENNA_A = 5; + * } + */ public static int sdrplay_api_Rsp2_ANTENNA_A() { return (int)5L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_ANTENNA_B = 6; + * } + */ public static int sdrplay_api_Rsp2_ANTENNA_B() { return (int)6L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_AMPORT_1 = 1; + * } + */ public static int sdrplay_api_Rsp2_AMPORT_1() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Rsp2_AMPORT_2 = 0; + * } + */ public static int sdrplay_api_Rsp2_AMPORT_2() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Unknown = 0; + * } + */ public static int sdrplay_api_RspDuoMode_Unknown() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Single_Tuner = 1; + * } + */ public static int sdrplay_api_RspDuoMode_Single_Tuner() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Dual_Tuner = 2; + * } + */ public static int sdrplay_api_RspDuoMode_Dual_Tuner() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Master = 4; + * } + */ public static int sdrplay_api_RspDuoMode_Master() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoMode_Slave = 8; + * } + */ public static int sdrplay_api_RspDuoMode_Slave() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuo_AMPORT_1 = 1; + * } + */ public static int sdrplay_api_RspDuo_AMPORT_1() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuo_AMPORT_2 = 0; + * } + */ public static int sdrplay_api_RspDuo_AMPORT_2() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_Undefined = 0; + * } + */ public static int sdrplay_api_BW_Undefined() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_0_200 = 200; + * } + */ public static int sdrplay_api_BW_0_200() { return (int)200L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_0_300 = 300; + * } + */ public static int sdrplay_api_BW_0_300() { return (int)300L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_0_600 = 600; + * } + */ public static int sdrplay_api_BW_0_600() { return (int)600L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_1_536 = 1536; + * } + */ public static int sdrplay_api_BW_1_536() { return (int)1536L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_5_000 = 5000; + * } + */ public static int sdrplay_api_BW_5_000() { return (int)5000L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_6_000 = 6000; + * } + */ public static int sdrplay_api_BW_6_000() { return (int)6000L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_7_000 = 7000; + * } + */ public static int sdrplay_api_BW_7_000() { return (int)7000L; } + /** + * {@snippet : + * enum .sdrplay_api_BW_8_000 = 8000; + * } + */ public static int sdrplay_api_BW_8_000() { return (int)8000L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_Undefined = -1; + * } + */ public static int sdrplay_api_IF_Undefined() { return (int)-1L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_Zero = 0; + * } + */ public static int sdrplay_api_IF_Zero() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_0_450 = 450; + * } + */ public static int sdrplay_api_IF_0_450() { return (int)450L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_1_620 = 1620; + * } + */ public static int sdrplay_api_IF_1_620() { return (int)1620L; } + /** + * {@snippet : + * enum .sdrplay_api_IF_2_048 = 2048; + * } + */ public static int sdrplay_api_IF_2_048() { return (int)2048L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_Undefined = 0; + * } + */ public static int sdrplay_api_LO_Undefined() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_Auto = 1; + * } + */ public static int sdrplay_api_LO_Auto() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_120MHz = 2; + * } + */ public static int sdrplay_api_LO_120MHz() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_144MHz = 3; + * } + */ public static int sdrplay_api_LO_144MHz() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_LO_168MHz = 4; + * } + */ public static int sdrplay_api_LO_168MHz() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_EXTENDED_MIN_GR = 0; + * } + */ public static int sdrplay_api_EXTENDED_MIN_GR() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_NORMAL_MIN_GR = 20; + * } + */ public static int sdrplay_api_NORMAL_MIN_GR() { return (int)20L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_Neither = 0; + * } + */ public static int sdrplay_api_Tuner_Neither() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_A = 1; + * } + */ public static int sdrplay_api_Tuner_A() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_B = 2; + * } + */ public static int sdrplay_api_Tuner_B() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_Tuner_Both = 3; + * } + */ public static int sdrplay_api_Tuner_Both() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_ANTENNA_A = 0; + * } + */ public static int sdrplay_api_RspDx_ANTENNA_A() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_ANTENNA_B = 1; + * } + */ public static int sdrplay_api_RspDx_ANTENNA_B() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_ANTENNA_C = 2; + * } + */ public static int sdrplay_api_RspDx_ANTENNA_C() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_0_200 = 0; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_0_200() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_0_500 = 1; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_0_500() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_1_200 = 2; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_1_200() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDx_HDRMODE_BW_1_700 = 3; + * } + */ public static int sdrplay_api_RspDx_HDRMODE_BW_1_700() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_ISOCH = 0; + * } + */ public static int sdrplay_api_ISOCH() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_BULK = 1; + * } + */ public static int sdrplay_api_BULK() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_DISABLE = 0; + * } + */ public static int sdrplay_api_AGC_DISABLE() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_100HZ = 1; + * } + */ public static int sdrplay_api_AGC_100HZ() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_50HZ = 2; + * } + */ public static int sdrplay_api_AGC_50HZ() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_5HZ = 3; + * } + */ public static int sdrplay_api_AGC_5HZ() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_AGC_CTRL_EN = 4; + * } + */ public static int sdrplay_api_AGC_CTRL_EN() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_DECIMATION = 0; + * } + */ public static int sdrplay_api_ADSB_DECIMATION() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_NO_DECIMATION_LOWPASS = 1; + * } + */ public static int sdrplay_api_ADSB_NO_DECIMATION_LOWPASS() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_2MHZ = 2; + * } + */ public static int sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_2MHZ() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_3MHZ = 3; + * } + */ public static int sdrplay_api_ADSB_NO_DECIMATION_BANDPASS_3MHZ() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_Overload_Detected = 0; + * } + */ public static int sdrplay_api_Overload_Detected() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Overload_Corrected = 1; + * } + */ public static int sdrplay_api_Overload_Corrected() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_MasterInitialised = 0; + * } + */ public static int sdrplay_api_MasterInitialised() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveAttached = 1; + * } + */ public static int sdrplay_api_SlaveAttached() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveDetached = 2; + * } + */ public static int sdrplay_api_SlaveDetached() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveInitialised = 3; + * } + */ public static int sdrplay_api_SlaveInitialised() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveUninitialised = 4; + * } + */ public static int sdrplay_api_SlaveUninitialised() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_MasterDllDisappeared = 5; + * } + */ public static int sdrplay_api_MasterDllDisappeared() { return (int)5L; } + /** + * {@snippet : + * enum .sdrplay_api_SlaveDllDisappeared = 6; + * } + */ public static int sdrplay_api_SlaveDllDisappeared() { return (int)6L; } + /** + * {@snippet : + * enum .sdrplay_api_GainChange = 0; + * } + */ public static int sdrplay_api_GainChange() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_PowerOverloadChange = 1; + * } + */ public static int sdrplay_api_PowerOverloadChange() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_DeviceRemoved = 2; + * } + */ public static int sdrplay_api_DeviceRemoved() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_RspDuoModeChange = 3; + * } + */ public static int sdrplay_api_RspDuoModeChange() { return (int)3L; } - public static int sdrplay_api_DeviceFailure() { - return (int)4L; - } - public static OfAddress HANDLE = Constants$root.C_POINTER$LAYOUT; + /** + * {@snippet : + * typedef void* HANDLE; + * } + */ + public static final OfAddress HANDLE = Constants$root.C_POINTER$LAYOUT; + /** + * {@snippet : + * enum .sdrplay_api_Success = 0; + * } + */ public static int sdrplay_api_Success() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Fail = 1; + * } + */ public static int sdrplay_api_Fail() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_InvalidParam = 2; + * } + */ public static int sdrplay_api_InvalidParam() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_OutOfRange = 3; + * } + */ public static int sdrplay_api_OutOfRange() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_GainUpdateError = 4; + * } + */ public static int sdrplay_api_GainUpdateError() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_RfUpdateError = 5; + * } + */ public static int sdrplay_api_RfUpdateError() { return (int)5L; } + /** + * {@snippet : + * enum .sdrplay_api_FsUpdateError = 6; + * } + */ public static int sdrplay_api_FsUpdateError() { return (int)6L; } + /** + * {@snippet : + * enum .sdrplay_api_HwError = 7; + * } + */ public static int sdrplay_api_HwError() { return (int)7L; } + /** + * {@snippet : + * enum .sdrplay_api_AliasingError = 8; + * } + */ public static int sdrplay_api_AliasingError() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_AlreadyInitialised = 9; + * } + */ public static int sdrplay_api_AlreadyInitialised() { return (int)9L; } + /** + * {@snippet : + * enum .sdrplay_api_NotInitialised = 10; + * } + */ public static int sdrplay_api_NotInitialised() { return (int)10L; } + /** + * {@snippet : + * enum .sdrplay_api_NotEnabled = 11; + * } + */ public static int sdrplay_api_NotEnabled() { return (int)11L; } + /** + * {@snippet : + * enum .sdrplay_api_HwVerError = 12; + * } + */ public static int sdrplay_api_HwVerError() { return (int)12L; } + /** + * {@snippet : + * enum .sdrplay_api_OutOfMemError = 13; + * } + */ public static int sdrplay_api_OutOfMemError() { return (int)13L; } + /** + * {@snippet : + * enum .sdrplay_api_ServiceNotResponding = 14; + * } + */ public static int sdrplay_api_ServiceNotResponding() { return (int)14L; } + /** + * {@snippet : + * enum .sdrplay_api_StartPending = 15; + * } + */ public static int sdrplay_api_StartPending() { return (int)15L; } + /** + * {@snippet : + * enum .sdrplay_api_StopPending = 16; + * } + */ public static int sdrplay_api_StopPending() { return (int)16L; } + /** + * {@snippet : + * enum .sdrplay_api_InvalidMode = 17; + * } + */ public static int sdrplay_api_InvalidMode() { return (int)17L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification1 = 18; + * } + */ public static int sdrplay_api_FailedVerification1() { return (int)18L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification2 = 19; + * } + */ public static int sdrplay_api_FailedVerification2() { return (int)19L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification3 = 20; + * } + */ public static int sdrplay_api_FailedVerification3() { return (int)20L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification4 = 21; + * } + */ public static int sdrplay_api_FailedVerification4() { return (int)21L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification5 = 22; + * } + */ public static int sdrplay_api_FailedVerification5() { return (int)22L; } + /** + * {@snippet : + * enum .sdrplay_api_FailedVerification6 = 23; + * } + */ public static int sdrplay_api_FailedVerification6() { return (int)23L; } + /** + * {@snippet : + * enum .sdrplay_api_InvalidServiceVersion = 24; + * } + */ public static int sdrplay_api_InvalidServiceVersion() { return (int)24L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_None = 0; + * } + */ public static int sdrplay_api_Update_None() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_Fs = 1; + * } + */ public static int sdrplay_api_Update_Dev_Fs() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_Ppm = 2; + * } + */ public static int sdrplay_api_Update_Dev_Ppm() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_SyncUpdate = 4; + * } + */ public static int sdrplay_api_Update_Dev_SyncUpdate() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Dev_ResetFlags = 8; + * } + */ public static int sdrplay_api_Update_Dev_ResetFlags() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp1a_BiasTControl = 16; + * } + */ public static int sdrplay_api_Update_Rsp1a_BiasTControl() { return (int)16L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp1a_RfNotchControl = 32; + * } + */ public static int sdrplay_api_Update_Rsp1a_RfNotchControl() { return (int)32L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp1a_RfDabNotchControl = 64; + * } + */ public static int sdrplay_api_Update_Rsp1a_RfDabNotchControl() { return (int)64L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_BiasTControl = 128; + * } + */ public static int sdrplay_api_Update_Rsp2_BiasTControl() { return (int)128L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_AmPortSelect = 256; + * } + */ public static int sdrplay_api_Update_Rsp2_AmPortSelect() { return (int)256L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_AntennaControl = 512; + * } + */ public static int sdrplay_api_Update_Rsp2_AntennaControl() { return (int)512L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_RfNotchControl = 1024; + * } + */ public static int sdrplay_api_Update_Rsp2_RfNotchControl() { return (int)1024L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Rsp2_ExtRefControl = 2048; + * } + */ public static int sdrplay_api_Update_Rsp2_ExtRefControl() { return (int)2048L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_ExtRefControl = 4096; + * } + */ public static int sdrplay_api_Update_RspDuo_ExtRefControl() { return (int)4096L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Master_Spare_1 = 8192; + * } + */ public static int sdrplay_api_Update_Master_Spare_1() { return (int)8192L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Master_Spare_2 = 16384; + * } + */ public static int sdrplay_api_Update_Master_Spare_2() { return (int)16384L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_Gr = 32768; + * } + */ public static int sdrplay_api_Update_Tuner_Gr() { return (int)32768L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_GrLimits = 65536; + * } + */ public static int sdrplay_api_Update_Tuner_GrLimits() { return (int)65536L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_Frf = 131072; + * } + */ public static int sdrplay_api_Update_Tuner_Frf() { return (int)131072L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_BwType = 262144; + * } + */ public static int sdrplay_api_Update_Tuner_BwType() { return (int)262144L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_IfType = 524288; + * } + */ public static int sdrplay_api_Update_Tuner_IfType() { return (int)524288L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_DcOffset = 1048576; + * } + */ public static int sdrplay_api_Update_Tuner_DcOffset() { return (int)1048576L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Tuner_LoMode = 2097152; + * } + */ public static int sdrplay_api_Update_Tuner_LoMode() { return (int)2097152L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_DCoffsetIQimbalance = 4194304; + * } + */ public static int sdrplay_api_Update_Ctrl_DCoffsetIQimbalance() { return (int)4194304L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_Decimation = 8388608; + * } + */ public static int sdrplay_api_Update_Ctrl_Decimation() { return (int)8388608L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_Agc = 16777216; + * } + */ public static int sdrplay_api_Update_Ctrl_Agc() { return (int)16777216L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_AdsbMode = 33554432; + * } + */ public static int sdrplay_api_Update_Ctrl_AdsbMode() { return (int)33554432L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ctrl_OverloadMsgAck = 67108864; + * } + */ public static int sdrplay_api_Update_Ctrl_OverloadMsgAck() { return (int)67108864L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_BiasTControl = 134217728; + * } + */ public static int sdrplay_api_Update_RspDuo_BiasTControl() { return (int)134217728L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_AmPortSelect = 268435456; + * } + */ public static int sdrplay_api_Update_RspDuo_AmPortSelect() { return (int)268435456L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_Tuner1AmNotchControl = 536870912; + * } + */ public static int sdrplay_api_Update_RspDuo_Tuner1AmNotchControl() { return (int)536870912L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_RfNotchControl = 1073741824; + * } + */ public static int sdrplay_api_Update_RspDuo_RfNotchControl() { return (int)1073741824L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDuo_RfDabNotchControl = -2147483648; + * } + */ public static int sdrplay_api_Update_RspDuo_RfDabNotchControl() { return (int)-2147483648L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_Ext1_None = 0; + * } + */ public static int sdrplay_api_Update_Ext1_None() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_HdrEnable = 1; + * } + */ public static int sdrplay_api_Update_RspDx_HdrEnable() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_BiasTControl = 2; + * } + */ public static int sdrplay_api_Update_RspDx_BiasTControl() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_AntennaControl = 4; + * } + */ public static int sdrplay_api_Update_RspDx_AntennaControl() { return (int)4L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_RfNotchControl = 8; + * } + */ public static int sdrplay_api_Update_RspDx_RfNotchControl() { return (int)8L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_RfDabNotchControl = 16; + * } + */ public static int sdrplay_api_Update_RspDx_RfDabNotchControl() { return (int)16L; } + /** + * {@snippet : + * enum .sdrplay_api_Update_RspDx_HdrBw = 32; + * } + */ public static int sdrplay_api_Update_RspDx_HdrBw() { return (int)32L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Disable = 0; + * } + */ public static int sdrplay_api_DbgLvl_Disable() { return (int)0L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Verbose = 1; + * } + */ public static int sdrplay_api_DbgLvl_Verbose() { return (int)1L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Warning = 2; + * } + */ public static int sdrplay_api_DbgLvl_Warning() { return (int)2L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Error = 3; + * } + */ public static int sdrplay_api_DbgLvl_Error() { return (int)3L; } + /** + * {@snippet : + * enum .sdrplay_api_DbgLvl_Message = 4; + * } + */ public static int sdrplay_api_DbgLvl_Message() { return (int)4L; } - public static MethodHandle sdrplay_api_Open$MH() { - return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_Open$MH,"sdrplay_api_Open"); - } - public static int sdrplay_api_Open () { - var mh$ = sdrplay_api_Open$MH(); - try { - return (int)mh$.invokeExact(); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_Close$MH() { - return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_Close$MH,"sdrplay_api_Close"); - } - public static int sdrplay_api_Close () { - var mh$ = sdrplay_api_Close$MH(); - try { - return (int)mh$.invokeExact(); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_ApiVersion$MH() { - return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_ApiVersion$MH,"sdrplay_api_ApiVersion"); - } - public static int sdrplay_api_ApiVersion ( Addressable apiVer) { - var mh$ = sdrplay_api_ApiVersion$MH(); - try { - return (int)mh$.invokeExact(apiVer); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_LockDeviceApi$MH() { - return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_LockDeviceApi$MH,"sdrplay_api_LockDeviceApi"); - } - public static int sdrplay_api_LockDeviceApi () { - var mh$ = sdrplay_api_LockDeviceApi$MH(); - try { - return (int)mh$.invokeExact(); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_UnlockDeviceApi$MH() { - return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_UnlockDeviceApi$MH,"sdrplay_api_UnlockDeviceApi"); - } - public static int sdrplay_api_UnlockDeviceApi () { - var mh$ = sdrplay_api_UnlockDeviceApi$MH(); - try { - return (int)mh$.invokeExact(); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_GetDevices$MH() { - return RuntimeHelper.requireNonNull(constants$7.sdrplay_api_GetDevices$MH,"sdrplay_api_GetDevices"); - } - public static int sdrplay_api_GetDevices ( Addressable devices, Addressable numDevs, int maxDevs) { - var mh$ = sdrplay_api_GetDevices$MH(); - try { - return (int)mh$.invokeExact(devices, numDevs, maxDevs); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_SelectDevice$MH() { - return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_SelectDevice$MH,"sdrplay_api_SelectDevice"); - } - public static int sdrplay_api_SelectDevice ( Addressable device) { - var mh$ = sdrplay_api_SelectDevice$MH(); - try { - return (int)mh$.invokeExact(device); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_ReleaseDevice$MH() { - return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_ReleaseDevice$MH,"sdrplay_api_ReleaseDevice"); - } - public static int sdrplay_api_ReleaseDevice ( Addressable device) { - var mh$ = sdrplay_api_ReleaseDevice$MH(); - try { - return (int)mh$.invokeExact(device); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_GetErrorString$MH() { - return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_GetErrorString$MH,"sdrplay_api_GetErrorString"); - } - public static MemoryAddress sdrplay_api_GetErrorString ( int err) { - var mh$ = sdrplay_api_GetErrorString$MH(); - try { - return (java.lang.foreign.MemoryAddress)mh$.invokeExact(err); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_GetLastError$MH() { - return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_GetLastError$MH,"sdrplay_api_GetLastError"); - } - public static MemoryAddress sdrplay_api_GetLastError ( Addressable device) { - var mh$ = sdrplay_api_GetLastError$MH(); - try { - return (java.lang.foreign.MemoryAddress)mh$.invokeExact(device); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_DisableHeartbeat$MH() { - return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_DisableHeartbeat$MH,"sdrplay_api_DisableHeartbeat"); - } - public static int sdrplay_api_DisableHeartbeat () { - var mh$ = sdrplay_api_DisableHeartbeat$MH(); - try { - return (int)mh$.invokeExact(); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_DebugEnable$MH() { - return RuntimeHelper.requireNonNull(constants$8.sdrplay_api_DebugEnable$MH,"sdrplay_api_DebugEnable"); - } - public static int sdrplay_api_DebugEnable ( Addressable dev, int enable) { - var mh$ = sdrplay_api_DebugEnable$MH(); - try { - return (int)mh$.invokeExact(dev, enable); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_GetDeviceParams$MH() { - return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_GetDeviceParams$MH,"sdrplay_api_GetDeviceParams"); - } - public static int sdrplay_api_GetDeviceParams ( Addressable dev, Addressable deviceParams) { - var mh$ = sdrplay_api_GetDeviceParams$MH(); - try { - return (int)mh$.invokeExact(dev, deviceParams); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_Init$MH() { - return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_Init$MH,"sdrplay_api_Init"); - } - public static int sdrplay_api_Init ( Addressable dev, Addressable callbackFns, Addressable cbContext) { - var mh$ = sdrplay_api_Init$MH(); - try { - return (int)mh$.invokeExact(dev, callbackFns, cbContext); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_Uninit$MH() { - return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_Uninit$MH,"sdrplay_api_Uninit"); - } - public static int sdrplay_api_Uninit ( Addressable dev) { - var mh$ = sdrplay_api_Uninit$MH(); - try { - return (int)mh$.invokeExact(dev); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_Update$MH() { - return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_Update$MH,"sdrplay_api_Update"); - } - public static int sdrplay_api_Update ( Addressable dev, int tuner, int reasonForUpdate, int reasonForUpdateExt1) { - var mh$ = sdrplay_api_Update$MH(); - try { - return (int)mh$.invokeExact(dev, tuner, reasonForUpdate, reasonForUpdateExt1); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_SwapRspDuoActiveTuner$MH() { - return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_SwapRspDuoActiveTuner$MH,"sdrplay_api_SwapRspDuoActiveTuner"); - } - public static int sdrplay_api_SwapRspDuoActiveTuner ( Addressable dev, Addressable currentTuner, int tuner1AmPortSel) { - var mh$ = sdrplay_api_SwapRspDuoActiveTuner$MH(); - try { - return (int)mh$.invokeExact(dev, currentTuner, tuner1AmPortSel); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_SwapRspDuoDualTunerModeSampleRate$MH() { - return RuntimeHelper.requireNonNull(constants$9.sdrplay_api_SwapRspDuoDualTunerModeSampleRate$MH,"sdrplay_api_SwapRspDuoDualTunerModeSampleRate"); - } - public static int sdrplay_api_SwapRspDuoDualTunerModeSampleRate ( Addressable dev, Addressable currentSampleRate, double newSampleRate) { - var mh$ = sdrplay_api_SwapRspDuoDualTunerModeSampleRate$MH(); - try { - return (int)mh$.invokeExact(dev, currentSampleRate, newSampleRate); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } - public static MethodHandle sdrplay_api_SwapRspDuoMode$MH() { - return RuntimeHelper.requireNonNull(constants$10.sdrplay_api_SwapRspDuoMode$MH,"sdrplay_api_SwapRspDuoMode"); - } - public static int sdrplay_api_SwapRspDuoMode ( Addressable currDevice, Addressable deviceParams, int rspDuoMode, double sampleRate, int tuner, int bwType, int ifType, int tuner1AmPortSel) { - var mh$ = sdrplay_api_SwapRspDuoMode$MH(); - try { - return (int)mh$.invokeExact(currDevice, deviceParams, rspDuoMode, sampleRate, tuner, bwType, ifType, tuner1AmPortSel); - } catch (Throwable ex$) { - throw new AssertionError("should not reach here", ex$); - } - } + /** + * {@snippet : + * #define MAX_BB_GR 59 + * } + */ public static int MAX_BB_GR() { return (int)59L; } + /** + * {@snippet : + * #define SDRPLAY_API_VERSION 3.0799999237060547 + * } + */ public static float SDRPLAY_API_VERSION() { - return 3.08f; + return 3.0799999237060547f; } + /** + * {@snippet : + * #define SDRPLAY_MAX_DEVICES 16 + * } + */ public static int SDRPLAY_MAX_DEVICES() { return (int)16L; } + /** + * {@snippet : + * #define SDRPLAY_MAX_TUNERS_PER_DEVICE 2 + * } + */ public static int SDRPLAY_MAX_TUNERS_PER_DEVICE() { return (int)2L; } + /** + * {@snippet : + * #define SDRPLAY_MAX_SER_NO_LEN 64 + * } + */ public static int SDRPLAY_MAX_SER_NO_LEN() { return (int)64L; } + /** + * {@snippet : + * #define SDRPLAY_MAX_ROOT_NM_LEN 32 + * } + */ public static int SDRPLAY_MAX_ROOT_NM_LEN() { return (int)32L; } + /** + * {@snippet : + * #define SDRPLAY_RSP1_ID 1 + * } + */ public static int SDRPLAY_RSP1_ID() { return (int)1L; } + /** + * {@snippet : + * #define SDRPLAY_RSP1A_ID 255 + * } + */ public static int SDRPLAY_RSP1A_ID() { return (int)255L; } + /** + * {@snippet : + * #define SDRPLAY_RSP2_ID 2 + * } + */ public static int SDRPLAY_RSP2_ID() { return (int)2L; } + /** + * {@snippet : + * #define SDRPLAY_RSPduo_ID 3 + * } + */ public static int SDRPLAY_RSPduo_ID() { return (int)3L; } + /** + * {@snippet : + * #define SDRPLAY_RSPdx_ID 4 + * } + */ public static int SDRPLAY_RSPdx_ID() { return (int)4L; }