{-# OPTIONS_GHC -fno-warn-unused-imports #-} #include #include "rig.h" #include "Rig.h" module Bindings.Hamlib.Rig where import Foreign.Ptr #strict_import #globalvar hamlib_version , CChar #globalvar hamlib_copyright , CChar {- enum rig_errcode_e { RIG_OK = 0, RIG_EINVAL, RIG_ECONF, RIG_ENOMEM, RIG_ENIMPL, RIG_ETIMEOUT, RIG_EIO, RIG_EINTERNAL, RIG_EPROTO, RIG_ERJCTED, RIG_ETRUNC, RIG_ENAVAIL, RIG_ENTARGET, RIG_BUSERROR, RIG_BUSBUSY, RIG_EARG, RIG_EVFO, RIG_EDOM }; -} #integral_t enum rig_errcode_e #num RIG_OK #num RIG_EINVAL #num RIG_ECONF #num RIG_ENOMEM #num RIG_ENIMPL #num RIG_ETIMEOUT #num RIG_EIO #num RIG_EINTERNAL #num RIG_EPROTO #num RIG_ERJCTED #num RIG_ETRUNC #num RIG_ENAVAIL #num RIG_ENTARGET #num RIG_BUSERROR #num RIG_BUSBUSY #num RIG_EARG #num RIG_EVFO #num RIG_EDOM {- enum rig_debug_level_e { RIG_DEBUG_NONE = 0, RIG_DEBUG_BUG, RIG_DEBUG_ERR, RIG_DEBUG_WARN, RIG_DEBUG_VERBOSE, RIG_DEBUG_TRACE }; -} #integral_t enum rig_debug_level_e #num RIG_DEBUG_NONE #num RIG_DEBUG_BUG #num RIG_DEBUG_ERR #num RIG_DEBUG_WARN #num RIG_DEBUG_VERBOSE #num RIG_DEBUG_TRACE #synonym_t RIG , {- typedef unsigned int tone_t; -} #synonym_t tone_t , CUInt {- typedef enum rig_port_e { RIG_PORT_NONE = 0, RIG_PORT_SERIAL, RIG_PORT_NETWORK, RIG_PORT_DEVICE, RIG_PORT_PACKET, RIG_PORT_DTMF, RIG_PORT_ULTRA, RIG_PORT_RPC, RIG_PORT_PARALLEL, RIG_PORT_USB, RIG_PORT_UDP_NETWORK, RIG_PORT_CM108 } rig_port_t; -} #integral_t enum rig_port_e #num RIG_PORT_NONE #num RIG_PORT_SERIAL #num RIG_PORT_NETWORK #num RIG_PORT_DEVICE #num RIG_PORT_PACKET #num RIG_PORT_DTMF #num RIG_PORT_ULTRA #num RIG_PORT_RPC #num RIG_PORT_PARALLEL #num RIG_PORT_USB #num RIG_PORT_UDP_NETWORK #num RIG_PORT_CM108 #synonym_t rig_port_t , {- enum serial_parity_e { RIG_PARITY_NONE = 0, RIG_PARITY_ODD, RIG_PARITY_EVEN, RIG_PARITY_MARK, RIG_PARITY_SPACE }; -} #integral_t enum serial_parity_e #num RIG_PARITY_NONE #num RIG_PARITY_ODD #num RIG_PARITY_EVEN #num RIG_PARITY_MARK #num RIG_PARITY_SPACE {- enum serial_handshake_e { RIG_HANDSHAKE_NONE = 0, RIG_HANDSHAKE_XONXOFF, RIG_HANDSHAKE_HARDWARE }; -} #integral_t enum serial_handshake_e #num RIG_HANDSHAKE_NONE #num RIG_HANDSHAKE_XONXOFF #num RIG_HANDSHAKE_HARDWARE {- enum serial_control_state_e { RIG_SIGNAL_UNSET = 0, RIG_SIGNAL_ON, RIG_SIGNAL_OFF }; -} #integral_t enum serial_control_state_e #num RIG_SIGNAL_UNSET #num RIG_SIGNAL_ON #num RIG_SIGNAL_OFF {- typedef enum { RIG_FLAG_RECEIVER = 1 << 1, RIG_FLAG_TRANSMITTER = 1 << 2, RIG_FLAG_SCANNER = 1 << 3, RIG_FLAG_MOBILE = 1 << 4, RIG_FLAG_HANDHELD = 1 << 5, RIG_FLAG_COMPUTER = 1 << 6, RIG_FLAG_TRUNKING = 1 << 7, RIG_FLAG_APRS = 1 << 8, RIG_FLAG_TNC = 1 << 9, RIG_FLAG_DXCLUSTER = 1 << 10, RIG_FLAG_TUNER = 1 << 11 } rig_type_t; -} #integral_t rig_type_t #num RIG_FLAG_RECEIVER #num RIG_FLAG_TRANSMITTER #num RIG_FLAG_SCANNER #num RIG_FLAG_MOBILE #num RIG_FLAG_HANDHELD #num RIG_FLAG_COMPUTER #num RIG_FLAG_TRUNKING #num RIG_FLAG_APRS #num RIG_FLAG_TNC #num RIG_FLAG_DXCLUSTER #num RIG_FLAG_TUNER {- enum rig_status_e { RIG_STATUS_ALPHA = 0, RIG_STATUS_UNTESTED, RIG_STATUS_BETA, RIG_STATUS_STABLE, RIG_STATUS_BUGGY }; -} #integral_t enum rig_status_e #num RIG_STATUS_ALPHA #num RIG_STATUS_UNTESTED #num RIG_STATUS_BETA #num RIG_STATUS_STABLE #num RIG_STATUS_BUGGY {- typedef enum { RIG_RPT_SHIFT_NONE = 0, RIG_RPT_SHIFT_MINUS, RIG_RPT_SHIFT_PLUS } rptr_shift_t; -} #integral_t rptr_shift_t #num RIG_RPT_SHIFT_NONE #num RIG_RPT_SHIFT_MINUS #num RIG_RPT_SHIFT_PLUS {- typedef enum { RIG_SPLIT_OFF = 0, RIG_SPLIT_ON } split_t; -} #integral_t split_t #num RIG_SPLIT_OFF #num RIG_SPLIT_ON {- typedef double freq_t; -} #synonym_t freq_t , CDouble {- typedef signed long shortfreq_t; -} #synonym_t shortfreq_t , CLong {- typedef int vfo_t; -} #synonym_t vfo_t , CInt {- typedef shortfreq_t pbwidth_t; -} #synonym_t pbwidth_t , CLong {- typedef enum dcd_e { RIG_DCD_OFF = 0, RIG_DCD_ON } dcd_t; -} #integral_t enum dcd_e #num RIG_DCD_OFF #num RIG_DCD_ON #synonym_t dcd_t , {- typedef enum { RIG_DCD_NONE = 0, RIG_DCD_RIG, RIG_DCD_SERIAL_DSR, RIG_DCD_SERIAL_CTS, RIG_DCD_SERIAL_CAR, RIG_DCD_PARALLEL, RIG_DCD_CM108 } dcd_type_t; -} #integral_t dcd_type_t #num RIG_DCD_NONE #num RIG_DCD_RIG #num RIG_DCD_SERIAL_DSR #num RIG_DCD_SERIAL_CTS #num RIG_DCD_SERIAL_CAR #num RIG_DCD_PARALLEL #num RIG_DCD_CM108 {- typedef enum { RIG_PTT_OFF = 0, RIG_PTT_ON, RIG_PTT_ON_MIC, RIG_PTT_ON_DATA } ptt_t; -} #integral_t ptt_t #num RIG_PTT_OFF #num RIG_PTT_ON #num RIG_PTT_ON_MIC #num RIG_PTT_ON_DATA {- typedef enum { RIG_PTT_NONE = 0, RIG_PTT_RIG, RIG_PTT_SERIAL_DTR, RIG_PTT_SERIAL_RTS, RIG_PTT_PARALLEL, RIG_PTT_RIG_MICDATA, RIG_PTT_CM108 } ptt_type_t; -} #integral_t ptt_type_t #num RIG_PTT_NONE #num RIG_PTT_RIG #num RIG_PTT_SERIAL_DTR #num RIG_PTT_SERIAL_RTS #num RIG_PTT_PARALLEL #num RIG_PTT_RIG_MICDATA #num RIG_PTT_CM108 {- typedef enum { RIG_POWER_OFF = 0, RIG_POWER_ON = 1 << 0, RIG_POWER_STANDBY = 1 << 1 } powerstat_t; -} #integral_t powerstat_t #num RIG_POWER_OFF #num RIG_POWER_ON #num RIG_POWER_STANDBY {- typedef enum { RIG_RESET_NONE = 0, RIG_RESET_SOFT = 1 << 0, RIG_RESET_VFO = 1 << 1, RIG_RESET_MCALL = 1 << 2, RIG_RESET_MASTER = 1 << 3 } reset_t; -} #integral_t reset_t #num RIG_RESET_NONE #num RIG_RESET_SOFT #num RIG_RESET_VFO #num RIG_RESET_MCALL #num RIG_RESET_MASTER {- typedef enum { RIG_OP_NONE = 0, RIG_OP_CPY = 1 << 0, RIG_OP_XCHG = 1 << 1, RIG_OP_FROM_VFO = 1 << 2, RIG_OP_TO_VFO = 1 << 3, RIG_OP_MCL = 1 << 4, RIG_OP_UP = 1 << 5, RIG_OP_DOWN = 1 << 6, RIG_OP_BAND_UP = 1 << 7, RIG_OP_BAND_DOWN = 1 << 8, RIG_OP_LEFT = 1 << 9, RIG_OP_RIGHT = 1 << 10, RIG_OP_TUNE = 1 << 11, RIG_OP_TOGGLE = 1 << 12 } vfo_op_t; -} #integral_t vfo_op_t #num RIG_OP_NONE #num RIG_OP_CPY #num RIG_OP_XCHG #num RIG_OP_FROM_VFO #num RIG_OP_TO_VFO #num RIG_OP_MCL #num RIG_OP_UP #num RIG_OP_DOWN #num RIG_OP_BAND_UP #num RIG_OP_BAND_DOWN #num RIG_OP_LEFT #num RIG_OP_RIGHT #num RIG_OP_TUNE #num RIG_OP_TOGGLE {- typedef enum { RIG_SCAN_NONE = 0, RIG_SCAN_STOP = RIG_SCAN_NONE, RIG_SCAN_MEM = 1 << 0, RIG_SCAN_SLCT = 1 << 1, RIG_SCAN_PRIO = 1 << 2, RIG_SCAN_PROG = 1 << 3, RIG_SCAN_DELTA = 1 << 4, RIG_SCAN_VFO = 1 << 5, RIG_SCAN_PLT = 1 << 6 } scan_t; -} #integral_t scan_t #num RIG_SCAN_NONE #num RIG_SCAN_STOP #num RIG_SCAN_MEM #num RIG_SCAN_SLCT #num RIG_SCAN_PRIO #num RIG_SCAN_PROG #num RIG_SCAN_DELTA #num RIG_SCAN_VFO #num RIG_SCAN_PLT {- typedef long token_t; -} #synonym_t token_t , CLong {- enum rig_conf_e { RIG_CONF_STRING, RIG_CONF_COMBO, RIG_CONF_NUMERIC, RIG_CONF_CHECKBUTTON, RIG_CONF_BUTTON }; -} #integral_t enum rig_conf_e #num RIG_CONF_STRING #num RIG_CONF_COMBO #num RIG_CONF_NUMERIC #num RIG_CONF_CHECKBUTTON #num RIG_CONF_BUTTON {- struct confparams { token_t token; const char * name; const char * label; const char * tooltip; const char * dflt; enum rig_conf_e type; union u { struct n { float min; float max; float step; } n; struct c { const char * combostr[8]; } c; } u; }; -} #starttype struct n #field min , CFloat #field max , CFloat #field step , CFloat #stoptype #starttype struct c #field combostr , CString #stoptype #starttype union u #field n , #field c , #stoptype #starttype struct confparams #field token , CLong #field name , CString #field label , CString #field tooltip , CString #field dflt , CString #field type , #field u , #stoptype {- typedef enum { RIG_ANN_NONE = 0, RIG_ANN_OFF = RIG_ANN_NONE, RIG_ANN_FREQ = 1 << 0, RIG_ANN_RXMODE = 1 << 1, RIG_ANN_CW = 1 << 2, RIG_ANN_ENG = 1 << 3, RIG_ANN_JAP = 1 << 4 } ann_t; -} #integral_t ann_t #num RIG_ANN_NONE #num RIG_ANN_OFF #num RIG_ANN_FREQ #num RIG_ANN_RXMODE #num RIG_ANN_CW #num RIG_ANN_ENG #num RIG_ANN_JAP {- typedef int ant_t; -} #synonym_t ant_t , CInt {- enum agc_level_e { RIG_AGC_OFF = 0, RIG_AGC_SUPERFAST, RIG_AGC_FAST, RIG_AGC_SLOW, RIG_AGC_USER, RIG_AGC_MEDIUM, RIG_AGC_AUTO }; -} #integral_t enum agc_level_e #num RIG_AGC_OFF #num RIG_AGC_SUPERFAST #num RIG_AGC_FAST #num RIG_AGC_SLOW #num RIG_AGC_USER #num RIG_AGC_MEDIUM #num RIG_AGC_AUTO {- enum meter_level_e { RIG_METER_NONE = 0, RIG_METER_SWR = 1 << 0, RIG_METER_COMP = 1 << 1, RIG_METER_ALC = 1 << 2, RIG_METER_IC = 1 << 3, RIG_METER_DB = 1 << 4, RIG_METER_PO = 1 << 5, RIG_METER_VDD = 1 << 6 }; -} #integral_t enum meter_level_e #num RIG_METER_NONE #num RIG_METER_SWR #num RIG_METER_COMP #num RIG_METER_ALC #num RIG_METER_IC #num RIG_METER_DB #num RIG_METER_PO #num RIG_METER_VDD {- typedef union { signed int i; float f; char * s; const char * cs; } value_t; -} #starttype value_t #field i , CInt #field f , CFloat #field s , CString #field cs , CString #stoptype {- enum rig_level_e { RIG_LEVEL_NONE = 0, RIG_LEVEL_PREAMP = 1 << 0, RIG_LEVEL_ATT = 1 << 1, RIG_LEVEL_VOX = 1 << 2, RIG_LEVEL_AF = 1 << 3, RIG_LEVEL_RF = 1 << 4, RIG_LEVEL_SQL = 1 << 5, RIG_LEVEL_IF = 1 << 6, RIG_LEVEL_APF = 1 << 7, RIG_LEVEL_NR = 1 << 8, RIG_LEVEL_PBT_IN = 1 << 9, RIG_LEVEL_PBT_OUT = 1 << 10, RIG_LEVEL_CWPITCH = 1 << 11, RIG_LEVEL_RFPOWER = 1 << 12, RIG_LEVEL_MICGAIN = 1 << 13, RIG_LEVEL_KEYSPD = 1 << 14, RIG_LEVEL_NOTCHF = 1 << 15, RIG_LEVEL_COMP = 1 << 16, RIG_LEVEL_AGC = 1 << 17, RIG_LEVEL_BKINDL = 1 << 18, RIG_LEVEL_BALANCE = 1 << 19, RIG_LEVEL_METER = 1 << 20, RIG_LEVEL_VOXGAIN = 1 << 21, RIG_LEVEL_VOXDELAY = RIG_LEVEL_VOX, RIG_LEVEL_ANTIVOX = 1 << 22, RIG_LEVEL_SLOPE_LOW = 1 << 23, RIG_LEVEL_SLOPE_HIGH = 1 << 24, RIG_LEVEL_BKIN_DLYMS = 1 << 25, RIG_LEVEL_RAWSTR = 1 << 26, RIG_LEVEL_SQLSTAT = 1 << 27, RIG_LEVEL_SWR = 1 << 28, RIG_LEVEL_ALC = 1 << 29, RIG_LEVEL_STRENGTH = 1 << 30 }; -} #integral_t enum rig_level_e #num RIG_LEVEL_NONE #num RIG_LEVEL_PREAMP #num RIG_LEVEL_ATT #num RIG_LEVEL_VOX #num RIG_LEVEL_AF #num RIG_LEVEL_RF #num RIG_LEVEL_SQL #num RIG_LEVEL_IF #num RIG_LEVEL_APF #num RIG_LEVEL_NR #num RIG_LEVEL_PBT_IN #num RIG_LEVEL_PBT_OUT #num RIG_LEVEL_CWPITCH #num RIG_LEVEL_RFPOWER #num RIG_LEVEL_MICGAIN #num RIG_LEVEL_KEYSPD #num RIG_LEVEL_NOTCHF #num RIG_LEVEL_COMP #num RIG_LEVEL_AGC #num RIG_LEVEL_BKINDL #num RIG_LEVEL_BALANCE #num RIG_LEVEL_METER #num RIG_LEVEL_VOXGAIN #num RIG_LEVEL_VOXDELAY #num RIG_LEVEL_ANTIVOX #num RIG_LEVEL_SLOPE_LOW #num RIG_LEVEL_SLOPE_HIGH #num RIG_LEVEL_BKIN_DLYMS #num RIG_LEVEL_RAWSTR #num RIG_LEVEL_SQLSTAT #num RIG_LEVEL_SWR #num RIG_LEVEL_ALC #num RIG_LEVEL_STRENGTH {- enum rig_parm_e { RIG_PARM_NONE = 0, RIG_PARM_ANN = 1 << 0, RIG_PARM_APO = 1 << 1, RIG_PARM_BACKLIGHT = 1 << 2, RIG_PARM_BEEP = 1 << 4, RIG_PARM_TIME = 1 << 5, RIG_PARM_BAT = 1 << 6, RIG_PARM_KEYLIGHT = 1 << 7 }; -} #integral_t enum rig_parm_e #num RIG_PARM_NONE #num RIG_PARM_ANN #num RIG_PARM_APO #num RIG_PARM_BACKLIGHT #num RIG_PARM_BEEP #num RIG_PARM_TIME #num RIG_PARM_BAT #num RIG_PARM_KEYLIGHT {- typedef unsigned long setting_t; -} #synonym_t setting_t , CULong {- enum rig_func_e { RIG_FUNC_NONE = 0, RIG_FUNC_FAGC = 1 << 0, RIG_FUNC_NB = 1 << 1, RIG_FUNC_COMP = 1 << 2, RIG_FUNC_VOX = 1 << 3, RIG_FUNC_TONE = 1 << 4, RIG_FUNC_TSQL = 1 << 5, RIG_FUNC_SBKIN = 1 << 6, RIG_FUNC_FBKIN = 1 << 7, RIG_FUNC_ANF = 1 << 8, RIG_FUNC_NR = 1 << 9, RIG_FUNC_AIP = 1 << 10, RIG_FUNC_APF = 1 << 11, RIG_FUNC_MON = 1 << 12, RIG_FUNC_MN = 1 << 13, RIG_FUNC_RF = 1 << 14, RIG_FUNC_ARO = 1 << 15, RIG_FUNC_LOCK = 1 << 16, RIG_FUNC_MUTE = 1 << 17, RIG_FUNC_VSC = 1 << 18, RIG_FUNC_REV = 1 << 19, RIG_FUNC_SQL = 1 << 20, RIG_FUNC_ABM = 1 << 21, RIG_FUNC_BC = 1 << 22, RIG_FUNC_MBC = 1 << 23, RIG_FUNC_AFC = 1 << 25, RIG_FUNC_SATMODE = 1 << 26, RIG_FUNC_SCOPE = 1 << 27, RIG_FUNC_RESUME = 1 << 28, RIG_FUNC_TBURST = 1 << 29, RIG_FUNC_TUNER = 1 << 30 }; -} #integral_t enum rig_func_e #num RIG_FUNC_NONE #num RIG_FUNC_FAGC #num RIG_FUNC_NB #num RIG_FUNC_COMP #num RIG_FUNC_VOX #num RIG_FUNC_TONE #num RIG_FUNC_TSQL #num RIG_FUNC_SBKIN #num RIG_FUNC_FBKIN #num RIG_FUNC_ANF #num RIG_FUNC_NR #num RIG_FUNC_AIP #num RIG_FUNC_APF #num RIG_FUNC_MON #num RIG_FUNC_MN #num RIG_FUNC_RF #num RIG_FUNC_ARO #num RIG_FUNC_LOCK #num RIG_FUNC_MUTE #num RIG_FUNC_VSC #num RIG_FUNC_REV #num RIG_FUNC_SQL #num RIG_FUNC_ABM #num RIG_FUNC_BC #num RIG_FUNC_MBC #num RIG_FUNC_AFC #num RIG_FUNC_SATMODE #num RIG_FUNC_SCOPE #num RIG_FUNC_RESUME #num RIG_FUNC_TBURST #num RIG_FUNC_TUNER {- typedef enum { RIG_MODE_NONE = 0, RIG_MODE_AM = 1 << 0, RIG_MODE_CW = 1 << 1, RIG_MODE_USB = 1 << 2, RIG_MODE_LSB = 1 << 3, RIG_MODE_RTTY = 1 << 4, RIG_MODE_FM = 1 << 5, RIG_MODE_WFM = 1 << 6, RIG_MODE_CWR = 1 << 7, RIG_MODE_RTTYR = 1 << 8, RIG_MODE_AMS = 1 << 9, RIG_MODE_PKTLSB = 1 << 10, RIG_MODE_PKTUSB = 1 << 11, RIG_MODE_PKTFM = 1 << 12, RIG_MODE_ECSSUSB = 1 << 13, RIG_MODE_ECSSLSB = 1 << 14, RIG_MODE_FAX = 1 << 15, RIG_MODE_SAM = 1 << 16, RIG_MODE_SAL = 1 << 17, RIG_MODE_SAH = 1 << 18, RIG_MODE_DSB = 1 << 19, RIG_MODE_TESTS_MAX } rmode_t; -} #integral_t rmode_t #num RIG_MODE_NONE #num RIG_MODE_AM #num RIG_MODE_CW #num RIG_MODE_USB #num RIG_MODE_LSB #num RIG_MODE_RTTY #num RIG_MODE_FM #num RIG_MODE_WFM #num RIG_MODE_CWR #num RIG_MODE_RTTYR #num RIG_MODE_AMS #num RIG_MODE_PKTLSB #num RIG_MODE_PKTUSB #num RIG_MODE_PKTFM #num RIG_MODE_ECSSUSB #num RIG_MODE_ECSSLSB #num RIG_MODE_FAX #num RIG_MODE_SAM #num RIG_MODE_SAL #num RIG_MODE_SAH #num RIG_MODE_DSB #num RIG_MODE_TESTS_MAX {- typedef struct freq_range_list { freq_t start; freq_t end; rmode_t modes; int low_power; int high_power; vfo_t vfo; ant_t ant; } freq_range_t; -} #starttype struct freq_range_list #field start , CDouble #field end , CDouble #field modes , #field low_power , CInt #field high_power , CInt #field vfo , CInt #field ant , CInt #stoptype #synonym_t freq_range_t , {- struct tuning_step_list { rmode_t modes; shortfreq_t ts; }; -} #starttype struct tuning_step_list #field modes , #field ts , CLong #stoptype {- struct filter_list { rmode_t modes; pbwidth_t width; }; -} #starttype struct filter_list #field modes , #field width , CLong #stoptype {- struct ext_list { token_t token; value_t val; }; -} #starttype struct ext_list #field token , CLong #field val , #stoptype {- struct channel { int channel_num; int bank_num; vfo_t vfo; int ant; freq_t freq; rmode_t mode; pbwidth_t width; freq_t tx_freq; rmode_t tx_mode; pbwidth_t tx_width; split_t split; vfo_t tx_vfo; rptr_shift_t rptr_shift; shortfreq_t rptr_offs; shortfreq_t tuning_step; shortfreq_t rit; shortfreq_t xit; setting_t funcs; value_t levels[32]; tone_t ctcss_tone; tone_t ctcss_sql; tone_t dcs_code; tone_t dcs_sql; int scan_group; int flags; char channel_desc[30]; struct ext_list * ext_levels; }; -} #starttype struct channel #field channel_num , CInt #field bank_num , CInt #field vfo , CInt #field ant , CInt #field freq , CDouble #field mode , #field width , CLong #field tx_freq , CDouble #field tx_mode , #field tx_width , CLong #field split , #field tx_vfo , CInt #field rptr_shift , #field rptr_offs , CLong #field tuning_step , CLong #field rit , CLong #field xit , CLong #field funcs , CULong #array_field levels , #field ctcss_tone , CUInt #field ctcss_sql , CUInt #field dcs_code , CUInt #field dcs_sql , CUInt #field scan_group , CInt #field flags , CInt #field channel_desc , CString #field ext_levels , Ptr #stoptype {- typedef struct channel channel_t; -} #synonym_t channel_t , {- struct channel_cap { unsigned bank_num : 1; unsigned vfo : 1; unsigned ant : 1; unsigned freq : 1; unsigned mode : 1; unsigned width : 1; unsigned tx_freq : 1; unsigned tx_mode : 1; unsigned tx_width : 1; unsigned split : 1; unsigned tx_vfo : 1; unsigned rptr_shift : 1; unsigned rptr_offs : 1; unsigned tuning_step : 1; unsigned rit : 1; unsigned xit : 1; setting_t funcs; setting_t levels; unsigned ctcss_tone : 1; unsigned ctcss_sql : 1; unsigned dcs_code : 1; unsigned dcs_sql : 1; unsigned scan_group : 1; unsigned flags : 1; unsigned channel_desc : 1; unsigned ext_levels : 1; }; -} #starttype struct channel_cap #stoptype {- typedef struct channel_cap channel_cap_t; -} #synonym_t channel_cap_t , {- typedef enum { RIG_MTYPE_NONE = 0, RIG_MTYPE_MEM, RIG_MTYPE_EDGE, RIG_MTYPE_CALL, RIG_MTYPE_MEMOPAD, RIG_MTYPE_SAT, RIG_MTYPE_BAND, RIG_MTYPE_PRIO } chan_type_t; -} #integral_t chan_type_t #num RIG_MTYPE_NONE #num RIG_MTYPE_MEM #num RIG_MTYPE_EDGE #num RIG_MTYPE_CALL #num RIG_MTYPE_MEMOPAD #num RIG_MTYPE_SAT #num RIG_MTYPE_BAND #num RIG_MTYPE_PRIO {- struct chan_list { int start; int end; chan_type_t type; channel_cap_t mem_caps; }; -} #starttype struct chan_list #field start , CInt #field end , CInt #field type , #field mem_caps , #stoptype {- typedef struct chan_list chan_t; -} #synonym_t chan_t , {- struct gran { value_t min; value_t max; value_t step; }; -} #starttype struct gran #field min , #field max , #field step , #stoptype {- typedef struct gran gran_t; -} #synonym_t gran_t , {- struct cal_table { int size; struct table { int raw; int val; } table[32]; }; -} #starttype struct table #field raw , CInt #field val , CInt #stoptype #starttype struct cal_table #field size , CInt #array_field table , #stoptype {- typedef struct cal_table cal_table_t; -} #synonym_t cal_table_t , #callback chan_cb_t , Ptr -> Ptr (Ptr ) -> CInt -> Ptr -> Ptr () -> IO CInt #callback confval_cb_t , Ptr -> Ptr -> Ptr -> Ptr () -> IO CInt {- struct rig_caps { rig_model_t rig_model; const char * model_name; const char * mfg_name; const char * version; const char * copyright; enum rig_status_e status; int rig_type; ptt_type_t ptt_type; dcd_type_t dcd_type; rig_port_t port_type; int serial_rate_min; int serial_rate_max; int serial_data_bits; int serial_stop_bits; enum serial_parity_e serial_parity; enum serial_handshake_e serial_handshake; int write_delay; int post_write_delay; int timeout; int retry; setting_t has_get_func; setting_t has_set_func; setting_t has_get_level; setting_t has_set_level; setting_t has_get_parm; setting_t has_set_parm; gran_t level_gran[32]; gran_t parm_gran[32]; const struct confparams * extparms; const struct confparams * extlevels; const tone_t * ctcss_list; const tone_t * dcs_list; int preamp[8]; int attenuator[8]; shortfreq_t max_rit; shortfreq_t max_xit; shortfreq_t max_ifshift; ann_t announces; vfo_op_t vfo_ops; scan_t scan_ops; int targetable_vfo; int transceive; int bank_qty; int chan_desc_sz; chan_t chan_list[16]; freq_range_t rx_range_list1[30]; freq_range_t tx_range_list1[30]; freq_range_t rx_range_list2[30]; freq_range_t tx_range_list2[30]; struct tuning_step_list tuning_steps[20]; struct filter_list filters[42]; cal_table_t str_cal; const struct confparams * cfgparams; const void * priv; int (* rig_init)(RIG * rig); int (* rig_cleanup)(RIG * rig); int (* rig_open)(RIG * rig); int (* rig_close)(RIG * rig); int (* set_freq)(RIG * rig, vfo_t vfo, freq_t freq); int (* get_freq)(RIG * rig, vfo_t vfo, freq_t * freq); int (* set_mode)(RIG * rig, vfo_t vfo, rmode_t mode, pbwidth_t width); int (* get_mode)(RIG * rig, vfo_t vfo, rmode_t * mode, pbwidth_t * width); int (* set_vfo)(RIG * rig, vfo_t vfo); int (* get_vfo)(RIG * rig, vfo_t * vfo); int (* set_ptt)(RIG * rig, vfo_t vfo, ptt_t ptt); int (* get_ptt)(RIG * rig, vfo_t vfo, ptt_t * ptt); int (* get_dcd)(RIG * rig, vfo_t vfo, dcd_t * dcd); int (* set_rptr_shift)(RIG * rig, vfo_t vfo, rptr_shift_t rptr_shift); int (* get_rptr_shift)(RIG * rig, vfo_t vfo, rptr_shift_t * rptr_shift); int (* set_rptr_offs)(RIG * rig, vfo_t vfo, shortfreq_t offs); int (* get_rptr_offs)(RIG * rig, vfo_t vfo, shortfreq_t * offs); int (* set_split_freq)(RIG * rig, vfo_t vfo, freq_t tx_freq); int (* get_split_freq)(RIG * rig, vfo_t vfo, freq_t * tx_freq); int (* set_split_mode)(RIG * rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width); int (* get_split_mode)(RIG * rig, vfo_t vfo, rmode_t * tx_mode, pbwidth_t * tx_width); int (* set_split_vfo)(RIG * rig, vfo_t vfo, split_t split, vfo_t tx_vfo); int (* get_split_vfo)(RIG * rig, vfo_t vfo, split_t * split, vfo_t * tx_vfo); int (* set_rit)(RIG * rig, vfo_t vfo, shortfreq_t rit); int (* get_rit)(RIG * rig, vfo_t vfo, shortfreq_t * rit); int (* set_xit)(RIG * rig, vfo_t vfo, shortfreq_t xit); int (* get_xit)(RIG * rig, vfo_t vfo, shortfreq_t * xit); int (* set_ts)(RIG * rig, vfo_t vfo, shortfreq_t ts); int (* get_ts)(RIG * rig, vfo_t vfo, shortfreq_t * ts); int (* set_dcs_code)(RIG * rig, vfo_t vfo, tone_t code); int (* get_dcs_code)(RIG * rig, vfo_t vfo, tone_t * code); int (* set_tone)(RIG * rig, vfo_t vfo, tone_t tone); int (* get_tone)(RIG * rig, vfo_t vfo, tone_t * tone); int (* set_ctcss_tone)(RIG * rig, vfo_t vfo, tone_t tone); int (* get_ctcss_tone)(RIG * rig, vfo_t vfo, tone_t * tone); int (* set_dcs_sql)(RIG * rig, vfo_t vfo, tone_t code); int (* get_dcs_sql)(RIG * rig, vfo_t vfo, tone_t * code); int (* set_tone_sql)(RIG * rig, vfo_t vfo, tone_t tone); int (* get_tone_sql)(RIG * rig, vfo_t vfo, tone_t * tone); int (* set_ctcss_sql)(RIG * rig, vfo_t vfo, tone_t tone); int (* get_ctcss_sql)(RIG * rig, vfo_t vfo, tone_t * tone); int (* power2mW)(RIG * rig, unsigned int * mwpower, float power, freq_t freq, rmode_t mode); int (* mW2power)(RIG * rig, float * power, unsigned int mwpower, freq_t freq, rmode_t mode); int (* set_powerstat)(RIG * rig, powerstat_t status); int (* get_powerstat)(RIG * rig, powerstat_t * status); int (* reset)(RIG * rig, reset_t reset); int (* set_ant)(RIG * rig, vfo_t vfo, ant_t ant); int (* get_ant)(RIG * rig, vfo_t vfo, ant_t * ant); int (* set_level)(RIG * rig, vfo_t vfo, setting_t level, value_t val); int (* get_level)(RIG * rig, vfo_t vfo, setting_t level, value_t * val); int (* set_func)(RIG * rig, vfo_t vfo, setting_t func, int status); int (* get_func)(RIG * rig, vfo_t vfo, setting_t func, int * status); int (* set_parm)(RIG * rig, setting_t parm, value_t val); int (* get_parm)(RIG * rig, setting_t parm, value_t * val); int (* set_ext_level)(RIG * rig, vfo_t vfo, token_t token, value_t val); int (* get_ext_level)(RIG * rig, vfo_t vfo, token_t token, value_t * val); int (* set_ext_parm)(RIG * rig, token_t token, value_t val); int (* get_ext_parm)(RIG * rig, token_t token, value_t * val); int (* set_conf)(RIG * rig, token_t token, const char * val); int (* get_conf)(RIG * rig, token_t token, char * val); int (* send_dtmf)(RIG * rig, vfo_t vfo, const char * digits); int (* recv_dtmf)(RIG * rig, vfo_t vfo, char * digits, int * length); int (* send_morse)(RIG * rig, vfo_t vfo, const char * msg); int (* set_bank)(RIG * rig, vfo_t vfo, int bank); int (* set_mem)(RIG * rig, vfo_t vfo, int ch); int (* get_mem)(RIG * rig, vfo_t vfo, int * ch); int (* vfo_op)(RIG * rig, vfo_t vfo, vfo_op_t op); int (* scan)(RIG * rig, vfo_t vfo, scan_t scan, int ch); int (* set_trn)(RIG * rig, int trn); int (* get_trn)(RIG * rig, int * trn); int (* decode_event)(RIG * rig); int (* set_channel)(RIG * rig, const channel_t * chan); int (* get_channel)(RIG * rig, channel_t * chan); const char * (* get_info)(RIG * rig); int (* set_chan_all_cb)(RIG * rig, chan_cb_t chan_cb, void *); int (* get_chan_all_cb)(RIG * rig, chan_cb_t chan_cb, void *); int (* set_mem_all_cb)(RIG * rig, chan_cb_t chan_cb, confval_cb_t parm_cb, void *); int (* get_mem_all_cb)(RIG * rig, chan_cb_t chan_cb, confval_cb_t parm_cb, void *); const char * clone_combo_set; const char * clone_combo_get; }; -} #starttype struct rig_caps #field rig_model , CInt #field model_name , CString #field mfg_name , CString #field version , CString #field copyright , CString #field status , #field rig_type , CInt #field ptt_type , #field dcd_type , #field port_type , #field serial_rate_min , CInt #field serial_rate_max , CInt #field serial_data_bits , CInt #field serial_stop_bits , CInt #field serial_parity , #field serial_handshake , #field write_delay , CInt #field post_write_delay , CInt #field timeout , CInt #field retry , CInt #field has_get_func , CULong #field has_set_func , CULong #field has_get_level , CULong #field has_set_level , CULong #field has_get_parm , CULong #field has_set_parm , CULong #array_field level_gran , #array_field parm_gran , #field extparms , Ptr #field extlevels , Ptr #field ctcss_list , Ptr CUInt #field dcs_list , Ptr CUInt #array_field preamp , CInt #array_field attenuator , CInt #field max_rit , CLong #field max_xit , CLong #field max_ifshift , CLong #field announces , #field vfo_ops , #field scan_ops , #field targetable_vfo , CInt #field transceive , CInt #field bank_qty , CInt #field chan_desc_sz , CInt #array_field chan_list , #array_field rx_range_list1 , #array_field tx_range_list1 , #array_field rx_range_list2 , #array_field tx_range_list2 , #array_field tuning_steps , #array_field filters , #field str_cal , #field cfgparams , Ptr #field priv , Ptr () #field rig_init , FunPtr (Ptr -> CInt) #field rig_cleanup , FunPtr (Ptr -> CInt) #field rig_open , FunPtr (Ptr -> CInt) #field rig_close , FunPtr (Ptr -> CInt) #field set_freq , FunPtr (Ptr -> CInt -> CDouble -> CInt) #field get_freq , FunPtr (Ptr -> CInt -> Ptr CDouble -> CInt) #field set_mode , FunPtr (Ptr -> CInt -> -> CLong -> CInt) #field get_mode , FunPtr (Ptr -> CInt -> Ptr -> Ptr CLong -> CInt) #field set_vfo , FunPtr (Ptr -> CInt -> CInt) #field get_vfo , FunPtr (Ptr -> Ptr CInt -> CInt) #field set_ptt , FunPtr (Ptr -> CInt -> -> CInt) #field get_ptt , FunPtr (Ptr -> CInt -> Ptr -> CInt) #field get_dcd , FunPtr (Ptr -> CInt -> Ptr -> CInt) #field set_rptr_shift , FunPtr (Ptr -> CInt -> -> CInt) #field get_rptr_shift , FunPtr (Ptr -> CInt -> Ptr -> CInt) #field set_rptr_offs , FunPtr (Ptr -> CInt -> CLong -> CInt) #field get_rptr_offs , FunPtr (Ptr -> CInt -> Ptr CLong -> CInt) #field set_split_freq , FunPtr (Ptr -> CInt -> CDouble -> CInt) #field get_split_freq , FunPtr (Ptr -> CInt -> Ptr CDouble -> CInt) #field set_split_mode , FunPtr (Ptr -> CInt -> -> CLong -> CInt) #field get_split_mode , FunPtr (Ptr -> CInt -> Ptr -> Ptr CLong -> CInt) #field set_split_vfo , FunPtr (Ptr -> CInt -> -> CInt -> CInt) #field get_split_vfo , FunPtr (Ptr -> CInt -> Ptr -> Ptr CInt -> CInt) #field set_rit , FunPtr (Ptr -> CInt -> CLong -> CInt) #field get_rit , FunPtr (Ptr -> CInt -> Ptr CLong -> CInt) #field set_xit , FunPtr (Ptr -> CInt -> CLong -> CInt) #field get_xit , FunPtr (Ptr -> CInt -> Ptr CLong -> CInt) #field set_ts , FunPtr (Ptr -> CInt -> CLong -> CInt) #field get_ts , FunPtr (Ptr -> CInt -> Ptr CLong -> CInt) #field set_dcs_code , FunPtr (Ptr -> CInt -> CUInt -> CInt) #field get_dcs_code , FunPtr (Ptr -> CInt -> Ptr CUInt -> CInt) #field set_tone , FunPtr (Ptr -> CInt -> CUInt -> CInt) #field get_tone , FunPtr (Ptr -> CInt -> Ptr CUInt -> CInt) #field set_ctcss_tone , FunPtr (Ptr -> CInt -> CUInt -> CInt) #field get_ctcss_tone , FunPtr (Ptr -> CInt -> Ptr CUInt -> CInt) #field set_dcs_sql , FunPtr (Ptr -> CInt -> CUInt -> CInt) #field get_dcs_sql , FunPtr (Ptr -> CInt -> Ptr CUInt -> CInt) #field set_tone_sql , FunPtr (Ptr -> CInt -> CUInt -> CInt) #field get_tone_sql , FunPtr (Ptr -> CInt -> Ptr CUInt -> CInt) #field set_ctcss_sql , FunPtr (Ptr -> CInt -> CUInt -> CInt) #field get_ctcss_sql , FunPtr (Ptr -> CInt -> Ptr CUInt -> CInt) #field power2mW , FunPtr (Ptr -> Ptr CUInt -> CFloat -> CDouble -> -> CInt) #field mW2power , FunPtr (Ptr -> Ptr CFloat -> CUInt -> CDouble -> -> CInt) #field set_powerstat , FunPtr (Ptr -> -> CInt) #field get_powerstat , FunPtr (Ptr -> Ptr -> CInt) #field reset , FunPtr (Ptr -> -> CInt) #field set_ant , FunPtr (Ptr -> CInt -> CInt -> CInt) #field get_ant , FunPtr (Ptr -> CInt -> Ptr CInt -> CInt) #field set_level , FunPtr (Ptr -> CInt -> CULong -> -> CInt) #field get_level , FunPtr (Ptr -> CInt -> CULong -> Ptr -> CInt) #field set_func , FunPtr (Ptr -> CInt -> CULong -> CInt -> CInt) #field get_func , FunPtr (Ptr -> CInt -> CULong -> Ptr CInt -> CInt) #field set_parm , FunPtr (Ptr -> CULong -> -> CInt) #field get_parm , FunPtr (Ptr -> CULong -> Ptr -> CInt) #field set_ext_level , FunPtr (Ptr -> CInt -> CLong -> -> CInt) #field get_ext_level , FunPtr (Ptr -> CInt -> CLong -> Ptr -> CInt) #field set_ext_parm , FunPtr (Ptr -> CLong -> -> CInt) #field get_ext_parm , FunPtr (Ptr -> CLong -> Ptr -> CInt) #field set_conf , FunPtr (Ptr -> CLong -> CString -> CInt) #field get_conf , FunPtr (Ptr -> CLong -> CString -> CInt) #field send_dtmf , FunPtr (Ptr -> CInt -> CString -> CInt) #field recv_dtmf , FunPtr (Ptr -> CInt -> CString -> Ptr CInt -> CInt) #field send_morse , FunPtr (Ptr -> CInt -> CString -> CInt) #field set_bank , FunPtr (Ptr -> CInt -> CInt -> CInt) #field set_mem , FunPtr (Ptr -> CInt -> CInt -> CInt) #field get_mem , FunPtr (Ptr -> CInt -> Ptr CInt -> CInt) #field vfo_op , FunPtr (Ptr -> CInt -> -> CInt) #field scan , FunPtr (Ptr -> CInt -> -> CInt -> CInt) #field set_trn , FunPtr (Ptr -> CInt -> CInt) #field get_trn , FunPtr (Ptr -> Ptr CInt -> CInt) #field decode_event , FunPtr (Ptr -> CInt) #field set_channel , FunPtr (Ptr -> Ptr -> CInt) #field get_channel , FunPtr (Ptr -> Ptr -> CInt) #field get_info , FunPtr (Ptr -> CString) #field set_chan_all_cb , FunPtr (Ptr -> -> Ptr () -> CInt) #field get_chan_all_cb , FunPtr (Ptr -> -> Ptr () -> CInt) #field set_mem_all_cb , FunPtr (Ptr -> -> -> Ptr () -> CInt) #field get_mem_all_cb , FunPtr (Ptr -> -> -> Ptr () -> CInt) #field clone_combo_set , CString #field clone_combo_get , CString #stoptype {- typedef struct hamlib_port_t { union type { rig_port_t rig; ptt_type_t ptt; dcd_type_t dcd; } type; int fd; void * handle; int write_delay; int post_write_delay; struct post_write_date { int tv_sec, tv_usec; } post_write_date; int timeout; int retry; char pathname[100]; union parm { struct serial { int rate; int data_bits; int stop_bits; enum serial_parity_e parity; enum serial_handshake_e handshake; enum serial_control_state_e rts_state; enum serial_control_state_e dtr_state; } serial; struct parallel { int pin; } parallel; struct cm108 { int ptt_bitnum; } cm108; struct usb { int vid; int pid; int conf; int iface; int alt; char * vendor_name; char * product; } usb; } parm; } hamlib_port_t; -} #starttype union type #field rig , #field ptt , #field dcd , #stoptype #starttype struct post_write_date #field tv_sec , CInt #field tv_usec , CInt #stoptype #starttype struct serial #field rate , CInt #field data_bits , CInt #field stop_bits , CInt #field parity , #field handshake , #field rts_state , #field dtr_state , #stoptype #starttype struct parallel #field pin , CInt #stoptype #starttype struct cm108 #field ptt_bitnum , CInt #stoptype #starttype struct usb #field vid , CInt #field pid , CInt #field conf , CInt #field iface , CInt #field alt , CInt #field vendor_name , CString #field product , CString #stoptype #starttype union parm #field serial , #field parallel , #field cm108 , #field usb , #stoptype #starttype struct hamlib_port_t #field type , #field fd , CInt #field handle , Ptr () #field write_delay , CInt #field post_write_delay , CInt #field post_write_date , #field timeout , CInt #field retry , CInt #array_field pathname , CChar #field parm , #stoptype {- typedef hamlib_port_t port_t; -} #synonym_t port_t , {- struct rig_state { hamlib_port_t rigport; hamlib_port_t pttport; hamlib_port_t dcdport; double vfo_comp; int itu_region; freq_range_t rx_range_list[30]; freq_range_t tx_range_list[30]; struct tuning_step_list tuning_steps[20]; struct filter_list filters[42]; cal_table_t str_cal; chan_t chan_list[16]; shortfreq_t max_rit; shortfreq_t max_xit; shortfreq_t max_ifshift; ann_t announces; int preamp[8]; int attenuator[8]; setting_t has_get_func; setting_t has_set_func; setting_t has_get_level; setting_t has_set_level; setting_t has_get_parm; setting_t has_set_parm; gran_t level_gran[32]; gran_t parm_gran[32]; int hold_decode; vfo_t current_vfo; int vfo_list; int comm_state; void * priv; void * obj; int transceive; int poll_interval; freq_t current_freq; rmode_t current_mode; pbwidth_t current_width; vfo_t tx_vfo; int mode_list; }; -} #starttype struct rig_state #field rigport , #field pttport , #field dcdport , #field vfo_comp , CDouble #field itu_region , CInt #array_field rx_range_list , #array_field tx_range_list , #array_field tuning_steps , #array_field filters , #field str_cal , #array_field chan_list , #field max_rit , CLong #field max_xit , CLong #field max_ifshift , CLong #field announces , #array_field preamp , CInt #array_field attenuator , CInt #field has_get_func , CULong #field has_set_func , CULong #field has_get_level , CULong #field has_set_level , CULong #field has_get_parm , CULong #field has_set_parm , CULong #array_field level_gran , #array_field parm_gran , #field hold_decode , CInt #field current_vfo , CInt #field vfo_list , CInt #field comm_state , CInt #field priv , Ptr () #field obj , Ptr () #field transceive , CInt #field poll_interval , CInt #field current_freq , CDouble #field current_mode , #field current_width , CLong #field tx_vfo , CInt #field mode_list , CInt #stoptype #callback freq_cb_t , Ptr -> CInt -> CDouble -> Ptr () -> IO CInt #callback mode_cb_t , Ptr -> CInt -> -> CLong -> Ptr () -> IO CInt #callback vfo_cb_t , Ptr -> CInt -> Ptr () -> IO CInt #callback ptt_cb_t , Ptr -> CInt -> -> Ptr () -> IO CInt #callback dcd_cb_t , Ptr -> CInt -> -> Ptr () -> IO CInt #callback pltune_cb_t , Ptr -> CInt -> Ptr CDouble -> Ptr -> Ptr CLong -> Ptr () -> IO CInt {- struct rig_callbacks { freq_cb_t freq_event; void * freq_arg; mode_cb_t mode_event; void * mode_arg; vfo_cb_t vfo_event; void * vfo_arg; ptt_cb_t ptt_event; void * ptt_arg; dcd_cb_t dcd_event; void * dcd_arg; pltune_cb_t pltune; void * pltune_arg; }; -} #starttype struct rig_callbacks #field freq_event , #field freq_arg , Ptr () #field mode_event , #field mode_arg , Ptr () #field vfo_event , #field vfo_arg , Ptr () #field ptt_event , #field ptt_arg , Ptr () #field dcd_event , #field dcd_arg , Ptr () #field pltune , #field pltune_arg , Ptr () #stoptype {- struct rig { struct rig_caps * caps; struct rig_state state; struct rig_callbacks callbacks; }; -} #starttype struct rig #field caps , Ptr #field state , #field callbacks , #stoptype #ccall rig_init , CInt -> IO (Ptr ) #ccall rig_open , Ptr -> IO CInt #ccall rig_set_freq , Ptr -> CInt -> CDouble -> IO CInt #ccall rig_get_freq , Ptr -> CInt -> Ptr CDouble -> IO CInt #ccall rig_set_mode , Ptr -> CInt -> -> CLong -> IO CInt #ccall rig_get_mode , Ptr -> CInt -> Ptr -> Ptr CLong -> IO CInt #ccall rig_set_vfo , Ptr -> CInt -> IO CInt #ccall rig_get_vfo , Ptr -> Ptr CInt -> IO CInt #ccall rig_set_ptt , Ptr -> CInt -> -> IO CInt #ccall rig_get_ptt , Ptr -> CInt -> Ptr -> IO CInt #ccall rig_get_dcd , Ptr -> CInt -> Ptr -> IO CInt #ccall rig_set_rptr_shift , Ptr -> CInt -> -> IO CInt #ccall rig_get_rptr_shift , Ptr -> CInt -> Ptr -> IO CInt #ccall rig_set_rptr_offs , Ptr -> CInt -> CLong -> IO CInt #ccall rig_get_rptr_offs , Ptr -> CInt -> Ptr CLong -> IO CInt #ccall rig_set_ctcss_tone , Ptr -> CInt -> CUInt -> IO CInt #ccall rig_get_ctcss_tone , Ptr -> CInt -> Ptr CUInt -> IO CInt #ccall rig_set_dcs_code , Ptr -> CInt -> CUInt -> IO CInt #ccall rig_get_dcs_code , Ptr -> CInt -> Ptr CUInt -> IO CInt #ccall rig_set_ctcss_sql , Ptr -> CInt -> CUInt -> IO CInt #ccall rig_get_ctcss_sql , Ptr -> CInt -> Ptr CUInt -> IO CInt #ccall rig_set_dcs_sql , Ptr -> CInt -> CUInt -> IO CInt #ccall rig_get_dcs_sql , Ptr -> CInt -> Ptr CUInt -> IO CInt #ccall rig_set_split_freq , Ptr -> CInt -> CDouble -> IO CInt #ccall rig_get_split_freq , Ptr -> CInt -> Ptr CDouble -> IO CInt #ccall rig_set_split_mode , Ptr -> CInt -> -> CLong -> IO CInt #ccall rig_get_split_mode , Ptr -> CInt -> Ptr -> Ptr CLong -> IO CInt #ccall rig_set_split_vfo , Ptr -> CInt -> -> CInt -> IO CInt #ccall rig_get_split_vfo , Ptr -> CInt -> Ptr -> Ptr CInt -> IO CInt #ccall rig_set_rit , Ptr -> CInt -> CLong -> IO CInt #ccall rig_get_rit , Ptr -> CInt -> Ptr CLong -> IO CInt #ccall rig_set_xit , Ptr -> CInt -> CLong -> IO CInt #ccall rig_get_xit , Ptr -> CInt -> Ptr CLong -> IO CInt #ccall rig_set_ts , Ptr -> CInt -> CLong -> IO CInt #ccall rig_get_ts , Ptr -> CInt -> Ptr CLong -> IO CInt #ccall rig_power2mW , Ptr -> Ptr CUInt -> CFloat -> CDouble -> -> IO CInt #ccall rig_mW2power , Ptr -> Ptr CFloat -> CUInt -> CDouble -> -> IO CInt #ccall rig_get_resolution , Ptr -> -> IO CLong #ccall rig_get_level , Ptr -> CInt -> CULong -> Ptr -> IO CInt #ccall rig_get_parm , Ptr -> CULong -> Ptr -> IO CInt #ccall rig_set_conf , Ptr -> CLong -> CString -> IO CInt #ccall rig_get_conf , Ptr -> CLong -> CString -> IO CInt #ccall rig_set_powerstat , Ptr -> -> IO CInt #ccall rig_get_powerstat , Ptr -> Ptr -> IO CInt #ccall rig_reset , Ptr -> -> IO CInt #ccall rig_get_ext_level , Ptr -> CInt -> CLong -> Ptr -> IO CInt #ccall rig_get_ext_parm , Ptr -> CLong -> Ptr -> IO CInt #ccall rig_ext_level_foreach , Ptr -> FunPtr (Ptr -> Ptr -> Ptr () -> CInt) -> Ptr () -> IO CInt #ccall rig_ext_parm_foreach , Ptr -> FunPtr (Ptr -> Ptr -> Ptr () -> CInt) -> Ptr () -> IO CInt #ccall rig_ext_lookup , Ptr -> CString -> IO (Ptr ) #ccall rig_ext_lookup_tok , Ptr -> CLong -> IO (Ptr ) #ccall rig_ext_token_lookup , Ptr -> CString -> IO CLong #ccall rig_token_foreach , Ptr -> FunPtr (Ptr -> Ptr () -> CInt) -> Ptr () -> IO CInt #ccall rig_confparam_lookup , Ptr -> CString -> IO (Ptr ) #ccall rig_token_lookup , Ptr -> CString -> IO CLong #ccall rig_close , Ptr -> IO CInt #ccall rig_cleanup , Ptr -> IO CInt #ccall rig_set_ant , Ptr -> CInt -> CInt -> IO CInt #ccall rig_get_ant , Ptr -> CInt -> Ptr CInt -> IO CInt #ccall rig_has_get_level , Ptr -> CULong -> IO CULong #ccall rig_has_set_level , Ptr -> CULong -> IO CULong #ccall rig_has_get_parm , Ptr -> CULong -> IO CULong #ccall rig_has_set_parm , Ptr -> CULong -> IO CULong #ccall rig_has_get_func , Ptr -> CULong -> IO CULong #ccall rig_has_set_func , Ptr -> CULong -> IO CULong #ccall rig_set_func , Ptr -> CInt -> CULong -> CInt -> IO CInt #ccall rig_get_func , Ptr -> CInt -> CULong -> Ptr CInt -> IO CInt #ccall rig_send_dtmf , Ptr -> CInt -> CString -> IO CInt #ccall rig_recv_dtmf , Ptr -> CInt -> CString -> Ptr CInt -> IO CInt #ccall rig_send_morse , Ptr -> CInt -> CString -> IO CInt #ccall rig_set_bank , Ptr -> CInt -> CInt -> IO CInt #ccall rig_set_mem , Ptr -> CInt -> CInt -> IO CInt #ccall rig_get_mem , Ptr -> CInt -> Ptr CInt -> IO CInt #ccall rig_vfo_op , Ptr -> CInt -> -> IO CInt #ccall rig_has_vfo_op , Ptr -> -> IO #ccall rig_scan , Ptr -> CInt -> -> CInt -> IO CInt #ccall rig_has_scan , Ptr -> -> IO #ccall rig_set_channel , Ptr -> Ptr -> IO CInt #ccall rig_get_channel , Ptr -> Ptr -> IO CInt #ccall rig_set_chan_all , Ptr -> Ptr () -> IO CInt #ccall rig_get_chan_all , Ptr -> Ptr () -> IO CInt #ccall rig_set_chan_all_cb , Ptr -> -> Ptr () -> IO CInt #ccall rig_get_chan_all_cb , Ptr -> -> Ptr () -> IO CInt #ccall rig_set_mem_all_cb , Ptr -> -> -> Ptr () -> IO CInt #ccall rig_get_mem_all_cb , Ptr -> -> -> Ptr () -> IO CInt #ccall rig_set_mem_all , Ptr -> Ptr -> Ptr -> Ptr -> IO CInt #ccall rig_get_mem_all , Ptr -> Ptr -> Ptr -> Ptr -> IO CInt #ccall rig_lookup_mem_caps , Ptr -> CInt -> IO (Ptr ) #ccall rig_mem_count , Ptr -> IO CInt #ccall rig_set_trn , Ptr -> CInt -> IO CInt #ccall rig_get_trn , Ptr -> Ptr CInt -> IO CInt #ccall rig_set_freq_callback , Ptr -> -> Ptr () -> IO CInt #ccall rig_set_mode_callback , Ptr -> -> Ptr () -> IO CInt #ccall rig_set_vfo_callback , Ptr -> -> Ptr () -> IO CInt #ccall rig_set_ptt_callback , Ptr -> -> Ptr () -> IO CInt #ccall rig_set_dcd_callback , Ptr -> -> Ptr () -> IO CInt #ccall rig_set_pltune_callback , Ptr -> -> Ptr () -> IO CInt #ccall rig_get_info , Ptr -> IO CString #ccall rig_get_caps , CInt -> IO (Ptr ) #ccall rig_get_range , Ptr () -> CDouble -> -> IO (Ptr ) #ccall rig_passband_normal , Ptr -> -> IO CLong #ccall rig_passband_narrow , Ptr -> -> IO CLong #ccall rig_passband_wide , Ptr -> -> IO CLong #ccall rigerror , CInt -> IO CString #ccall rig_setting2idx , CULong -> IO CInt #ccall rig_set_debug , -> IO () #ccall rig_need_debug , -> IO CInt #ccall rig_debug , -> CString -> IO () #ccall rig_register , Ptr -> IO CInt #ccall rig_unregister , CInt -> IO CInt #ccall rig_list_foreach , FunPtr (Ptr -> Ptr () -> CInt) -> Ptr () -> IO CInt #ccall rig_load_backend , CString -> IO CInt #ccall rig_check_backend , CInt -> IO CInt #ccall rig_load_all_backends , IO CInt #callback rig_probe_func_t , Ptr -> CInt -> Ptr () -> IO CInt #ccall rig_probe_all , Ptr -> -> Ptr () -> IO CInt #ccall rig_probe , Ptr -> IO CInt #ccall rig_strrmode , -> IO CString #ccall rig_strvfo , CInt -> IO CString #ccall rig_strfunc , CULong -> IO CString #ccall rig_strlevel , CULong -> IO CString #ccall rig_strparm , CULong -> IO CString #ccall rig_strptrshift , -> IO CString #ccall rig_strvfop , -> IO CString #ccall rig_strscan , -> IO CString #ccall rig_strstatus , -> IO CString #ccall rig_strmtype , -> IO CString #ccall rig_parse_mode , CString -> IO #ccall rig_parse_vfo , CString -> IO CInt #ccall rig_parse_func , CString -> IO CULong #ccall rig_parse_level , CString -> IO CULong #ccall rig_parse_parm , CString -> IO CULong #ccall rig_parse_vfo_op , CString -> IO #ccall rig_parse_scan , CString -> IO #ccall rig_parse_rptr_shift , CString -> IO #ccall rig_parse_mtype , CString -> IO