Hamlib  4.0~git
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
rig.h File Reference

Hamlib rig data structures. More...

#include <stdio.h>
#include <stdarg.h>
#include <inttypes.h>
#include <time.h>
#include <hamlib/riglist.h>
#include <hamlib/rig_dll.h>
#include <unistd.h>

Go to the source code of this file.

Data Structures

struct  confparams
 Configuration parameter structure. More...
 
union  value_t
 Universal approach for passing values. More...
 
struct  freq_range_list
 Frequency range. More...
 
struct  tuning_step_list
 Tuning step definition. More...
 
struct  filter_list
 Filter definition. More...
 
struct  ext_list
 Extension attribute definition. More...
 
struct  channel
 Channel structure. More...
 
struct  channel_cap
 Channel capability definition. More...
 
struct  chan_list
 Memory channel list definition. More...
 
struct  gran
 level/parm granularity definition More...
 
struct  cal_table
 Calibration table struct. More...
 
struct  cal_table_float
 Calibration table struct for float values. More...
 
struct  rig_caps
 
struct  hamlib_port
 Port definition. More...
 
struct  rig_state
 Rig state containing live data and customized fields. More...
 
struct  rig_callbacks
 Callback functions and args for rig event. More...
 
struct  s_rig
 The Rig structure. More...
 

Macros

#define __BEGIN_DECLS   /* empty */
 
#define __END_DECLS   /* empty */
 
#define HAMLIB_PARAMS(protos)   ()
 
#define rig_ptr_t   char *
 
#define amp_ptr_t   char *
 
#define CONSTANT_64BIT_FLAG(BIT)   (1ull << (BIT))
 
#define NETRIGCTL_RET   "RPRT "
 Token in the netrigctl protocol for returning error code.
 
#define RIGNAMSIZ   30
 
#define RIGVERSIZ   8
 
#define FILPATHLEN   512
 
#define FRQRANGESIZ   30
 
#define MAXCHANDESC   30 /* describe channel eg: "WWV 5Mhz" */
 
#define TSLSTSIZ   20 /* max tuning step list size, zero ended */
 
#define FLTLSTSIZ   60 /* max mode/filter list size, zero ended */
 
#define MAXDBLSTSIZ   8 /* max preamp/att levels supported, zero ended */
 
#define CHANLSTSIZ   16 /* max mem_list size, zero ended */
 
#define MAX_CAL_LENGTH   32 /* max calibration plots in cal_table_t */
 
#define RIG_FLAG_TRANSCEIVER   (RIG_FLAG_RECEIVER|RIG_FLAG_TRANSMITTER)
 
#define RIG_TYPE_MASK   (RIG_FLAG_TRANSCEIVER|RIG_FLAG_SCANNER|RIG_FLAG_MOBILE|RIG_FLAG_HANDHELD|RIG_FLAG_COMPUTER|RIG_FLAG_TRUNKING|RIG_FLAG_TUNER)
 
#define RIG_TYPE_OTHER   0
 
#define RIG_TYPE_TRANSCEIVER   RIG_FLAG_TRANSCEIVER
 
#define RIG_TYPE_HANDHELD   (RIG_FLAG_TRANSCEIVER|RIG_FLAG_HANDHELD)
 
#define RIG_TYPE_MOBILE   (RIG_FLAG_TRANSCEIVER|RIG_FLAG_MOBILE)
 
#define RIG_TYPE_RECEIVER   RIG_FLAG_RECEIVER
 
#define RIG_TYPE_PCRECEIVER   (RIG_FLAG_COMPUTER|RIG_FLAG_RECEIVER)
 
#define RIG_TYPE_SCANNER   (RIG_FLAG_SCANNER|RIG_FLAG_RECEIVER)
 
#define RIG_TYPE_TRUNKSCANNER   (RIG_TYPE_SCANNER|RIG_FLAG_TRUNKING)
 
#define RIG_TYPE_COMPUTER   (RIG_FLAG_TRANSCEIVER|RIG_FLAG_COMPUTER)
 
#define RIG_TYPE_TUNER   RIG_FLAG_TUNER
 
#define RIG_STATUS_NEW   RIG_STATUS_UNTESTED
 Map all deprecated RIG_STATUS_NEW references to RIG_STATUS_UNTESTED for backward compatibility.
 
#define PRIfreq   "f"
 printf(3) format to be used for freq_t type
 
#define SCNfreq   "lf"
 scanf(3) format to be used for freq_t type
 
#define FREQFMT   SCNfreq
 
#define Hz(f)   ((freq_t)(f))
 
#define kHz(f)   ((freq_t)((f)*(freq_t)1000))
 
#define MHz(f)   ((freq_t)((f)*(freq_t)1000000))
 
#define GHz(f)   ((freq_t)((f)*(freq_t)1000000000))
 
#define s_Hz(f)   ((shortfreq_t)(f))
 
#define s_kHz(f)   ((shortfreq_t)((f)*(shortfreq_t)1000))
 
#define s_MHz(f)   ((shortfreq_t)((f)*(shortfreq_t)1000000))
 
#define s_GHz(f)   ((shortfreq_t)((f)*(shortfreq_t)1000000000))
 
#define RIG_FREQ_NONE   Hz(0)
 
#define RIG_VFO_N(n)   (1u<<(n))
 '' – used in caps
 
#define RIG_VFO_NONE   0
 
#define RIG_VFO_A   RIG_VFO_N(0)
 VFOA – VFO A
 
#define RIG_VFO_B   RIG_VFO_N(1)
 VFOB – VFO B
 
#define RIG_VFO_C   RIG_VFO_N(2)
 VFOC – VFO C
 
#define RIG_VFO_SUB_A   RIG_VFO_N(21)
 SubA – alias for SUB_A
 
#define RIG_VFO_SUB_B   RIG_VFO_N(22)
 SubB – alias for SUB_B
 
#define RIG_VFO_MAIN_A   RIG_VFO_N(23)
 MainA – alias for MAIN_A
 
#define RIG_VFO_MAIN_B   RIG_VFO_N(24)
 MainB – alias for MAIN_B
 
#define RIG_VFO_SUB   RIG_VFO_N(25)
 Sub – alias for SUB
 
#define RIG_VFO_MAIN   RIG_VFO_N(26)
 Main – alias for MAIN
 
#define RIG_VFO_VFO   RIG_VFO_N(27)
 VFO – means (last or any)VFO mode, with set_vfo
 
#define RIG_VFO_MEM   RIG_VFO_N(28)
 MEM – means Memory mode, to be used with set_vfo
 
#define RIG_VFO_CURR   RIG_VFO_N(29)
 currVFO – current "tunable channel"/VFO
 
#define RIG_VFO_TX_FLAG   RIG_VFO_N(30)
 
#define RIG_VFO_TX_VFO(v)   ((v)|RIG_VFO_TX_FLAG)
 
#define RIG_VFO_TX   RIG_VFO_TX_VFO(RIG_VFO_CURR)
 TX – alias for split tx or uplink, of VFO_CURR
 
#define RIG_VFO_RX   RIG_VFO_CURR
 RX – alias for split rx or downlink
 
#define RIG_TARGETABLE_NONE   0
 
#define RIG_TARGETABLE_FREQ   (1<<0)
 
#define RIG_TARGETABLE_MODE   (1<<1)
 
#define RIG_TARGETABLE_PURE   (1<<2)
 
#define RIG_TARGETABLE_TONE   (1<<3)
 
#define RIG_TARGETABLE_FUNC   (1<<4)
 
#define RIG_TARGETABLE_ALL   0x7fffffff
 
#define RIG_PASSBAND_NORMAL   s_Hz(0)
 
#define RIG_PASSBAND_NOCHANGE   s_Hz(-1)
 
#define RIG_CONF_END   0
 
#define RIG_COMBO_MAX   16
 
#define RIG_BIN_MAX   80
 
#define RIG_ANT_NONE   0
 
#define RIG_ANT_N(n)   ((ant_t)1<<(n))
 
#define RIG_ANT_1   RIG_ANT_N(0)
 
#define RIG_ANT_2   RIG_ANT_N(1)
 
#define RIG_ANT_3   RIG_ANT_N(2)
 
#define RIG_ANT_4   RIG_ANT_N(3)
 
#define RIG_ANT_5   RIG_ANT_N(4)
 
#define RIG_ANT_UNKNOWN   RIG_ANT_N(30)
 
#define RIG_ANT_CURR   RIG_ANT_N(31)
 
#define RIG_ANT_MAX   32
 
#define RIG_AGC_LAST   RIG_AGC_AUTO
 
#define RIG_LEVEL_FLOAT_LIST   (RIG_LEVEL_AF|RIG_LEVEL_RF|RIG_LEVEL_SQL|RIG_LEVEL_APF|RIG_LEVEL_NR|RIG_LEVEL_PBT_IN|RIG_LEVEL_PBT_OUT|RIG_LEVEL_RFPOWER|RIG_LEVEL_MICGAIN|RIG_LEVEL_COMP|RIG_LEVEL_BALANCE|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_VOXGAIN|RIG_LEVEL_ANTIVOX|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB)
 
#define RIG_LEVEL_READONLY_LIST   (RIG_LEVEL_SQLSTAT|RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER)
 
#define RIG_LEVEL_IS_FLOAT(l)   ((l)&RIG_LEVEL_FLOAT_LIST)
 
#define RIG_LEVEL_SET(l)   ((l)&~RIG_LEVEL_READONLY_LIST)
 
#define RIG_PARM_FLOAT_LIST   (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT)
 
#define RIG_PARM_READONLY_LIST   (RIG_PARM_BAT)
 
#define RIG_PARM_IS_FLOAT(l)   ((l)&RIG_PARM_FLOAT_LIST)
 
#define RIG_PARM_SET(l)   ((l)&~RIG_PARM_READONLY_LIST)
 
#define RIG_SETTING_MAX   64
 
#define RIG_TRN_OFF   0
 Tranceive mode. More...
 
#define RIG_TRN_RIG   1
 
#define RIG_TRN_POLL   2
 
#define RIG_FUNC_NONE   0
 Rig Function Settings. More...
 
#define RIG_FUNC_FAGC   CONSTANT_64BIT_FLAG (0)
 
#define RIG_FUNC_NB   CONSTANT_64BIT_FLAG (1)
 
#define RIG_FUNC_COMP   CONSTANT_64BIT_FLAG (2)
 
#define RIG_FUNC_VOX   CONSTANT_64BIT_FLAG (3)
 
#define RIG_FUNC_TONE   CONSTANT_64BIT_FLAG (4)
 
#define RIG_FUNC_TSQL   CONSTANT_64BIT_FLAG (5)
 
#define RIG_FUNC_SBKIN   CONSTANT_64BIT_FLAG (6)
 
#define RIG_FUNC_FBKIN   CONSTANT_64BIT_FLAG (7)
 
#define RIG_FUNC_ANF   CONSTANT_64BIT_FLAG (8)
 
#define RIG_FUNC_NR   CONSTANT_64BIT_FLAG (9)
 
#define RIG_FUNC_AIP   CONSTANT_64BIT_FLAG (10)
 
#define RIG_FUNC_APF   CONSTANT_64BIT_FLAG (11)
 
#define RIG_FUNC_MON   CONSTANT_64BIT_FLAG (12)
 
#define RIG_FUNC_MN   CONSTANT_64BIT_FLAG (13)
 
#define RIG_FUNC_RF   CONSTANT_64BIT_FLAG (14)
 
#define RIG_FUNC_ARO   CONSTANT_64BIT_FLAG (15)
 
#define RIG_FUNC_LOCK   CONSTANT_64BIT_FLAG (16)
 
#define RIG_FUNC_MUTE   CONSTANT_64BIT_FLAG (17)
 
#define RIG_FUNC_VSC   CONSTANT_64BIT_FLAG (18)
 
#define RIG_FUNC_REV   CONSTANT_64BIT_FLAG (19)
 
#define RIG_FUNC_SQL   CONSTANT_64BIT_FLAG (20)
 
#define RIG_FUNC_ABM   CONSTANT_64BIT_FLAG (21)
 
#define RIG_FUNC_BC   CONSTANT_64BIT_FLAG (22)
 
#define RIG_FUNC_MBC   CONSTANT_64BIT_FLAG (23)
 
#define RIG_FUNC_RIT   CONSTANT_64BIT_FLAG (24)
 
#define RIG_FUNC_AFC   CONSTANT_64BIT_FLAG (25)
 
#define RIG_FUNC_SATMODE   CONSTANT_64BIT_FLAG (26)
 
#define RIG_FUNC_SCOPE   CONSTANT_64BIT_FLAG (27)
 
#define RIG_FUNC_RESUME   CONSTANT_64BIT_FLAG (28)
 
#define RIG_FUNC_TBURST   CONSTANT_64BIT_FLAG (29)
 
#define RIG_FUNC_TUNER   CONSTANT_64BIT_FLAG (30)
 
#define RIG_FUNC_XIT   CONSTANT_64BIT_FLAG (31)
 
#define RIG_FUNC_NB2   CONSTANT_64BIT_FLAG (32)
 
#define RIG_FUNC_CSQL   CONSTANT_64BIT_FLAG (33)
 
#define RIG_FUNC_AFLT   CONSTANT_64BIT_FLAG (34)
 
#define RIG_FUNC_ANL   CONSTANT_64BIT_FLAG (35)
 
#define RIG_FUNC_BC2   CONSTANT_64BIT_FLAG (36)
 
#define RIG_FUNC_DUAL_WATCH   CONSTANT_64BIT_FLAG (37)
 
#define RIG_FUNC_DIVERSITY   CONSTANT_64BIT_FLAG (38)
 
#define RIG_FUNC_DSQL   CONSTANT_64BIT_FLAG (39)
 
#define RIG_FUNC_SCEN   CONSTANT_64BIT_FLAG (40)
 
#define RIG_FUNC_BIT41   CONSTANT_64BIT_FLAG (41) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT42   CONSTANT_64BIT_FLAG (42) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT43   CONSTANT_64BIT_FLAG (43) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT44   CONSTANT_64BIT_FLAG (44) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT45   CONSTANT_64BIT_FLAG (45) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT46   CONSTANT_64BIT_FLAG (46) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT47   CONSTANT_64BIT_FLAG (47) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT48   CONSTANT_64BIT_FLAG (48) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT49   CONSTANT_64BIT_FLAG (49) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT50   CONSTANT_64BIT_FLAG (50) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT51   CONSTANT_64BIT_FLAG (51) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT52   CONSTANT_64BIT_FLAG (52) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT53   CONSTANT_64BIT_FLAG (53) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT54   CONSTANT_64BIT_FLAG (54) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT55   CONSTANT_64BIT_FLAG (55) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT56   CONSTANT_64BIT_FLAG (56) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT57   CONSTANT_64BIT_FLAG (57) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT58   CONSTANT_64BIT_FLAG (58) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT59   CONSTANT_64BIT_FLAG (59) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT60   CONSTANT_64BIT_FLAG (60) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT61   CONSTANT_64BIT_FLAG (61) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT62   CONSTANT_64BIT_FLAG (62) /* available for future RIG_FUNC items */
 
#define RIG_FUNC_BIT63   CONSTANT_64BIT_FLAG (63) /* available for future RIG_FUNC items */
 
#define mW(p)   ((int)(p))
 power unit macros More...
 
#define Watts(p)   ((int)((p)*1000))
 
#define W(p)   Watts(p)
 
#define kW(p)   ((int)((p)*1000000L))
 
#define RIG_MODE_NONE   0
 
#define RIG_MODE_AM   CONSTANT_64BIT_FLAG (0)
 
#define RIG_MODE_CW   CONSTANT_64BIT_FLAG (1)
 
#define RIG_MODE_USB   CONSTANT_64BIT_FLAG (2)
 
#define RIG_MODE_LSB   CONSTANT_64BIT_FLAG (3)
 
#define RIG_MODE_RTTY   CONSTANT_64BIT_FLAG (4)
 
#define RIG_MODE_FM   CONSTANT_64BIT_FLAG (5)
 
#define RIG_MODE_WFM   CONSTANT_64BIT_FLAG (6)
 
#define RIG_MODE_CWR   CONSTANT_64BIT_FLAG (7)
 
#define RIG_MODE_RTTYR   CONSTANT_64BIT_FLAG (8)
 
#define RIG_MODE_AMS   CONSTANT_64BIT_FLAG (9)
 
#define RIG_MODE_PKTLSB   CONSTANT_64BIT_FLAG (10)
 
#define RIG_MODE_PKTUSB   CONSTANT_64BIT_FLAG (11)
 
#define RIG_MODE_PKTFM   CONSTANT_64BIT_FLAG (12)
 
#define RIG_MODE_ECSSUSB   CONSTANT_64BIT_FLAG (13)
 
#define RIG_MODE_ECSSLSB   CONSTANT_64BIT_FLAG (14)
 
#define RIG_MODE_FAX   CONSTANT_64BIT_FLAG (15)
 
#define RIG_MODE_SAM   CONSTANT_64BIT_FLAG (16)
 
#define RIG_MODE_SAL   CONSTANT_64BIT_FLAG (17)
 
#define RIG_MODE_SAH   CONSTANT_64BIT_FLAG (18)
 
#define RIG_MODE_DSB   CONSTANT_64BIT_FLAG (19)
 
#define RIG_MODE_FMN   CONSTANT_64BIT_FLAG (21)
 
#define RIG_MODE_PKTAM   CONSTANT_64BIT_FLAG (22)
 
#define RIG_MODE_P25   CONSTANT_64BIT_FLAG (23)
 
#define RIG_MODE_DSTAR   CONSTANT_64BIT_FLAG (24)
 
#define RIG_MODE_DPMR   CONSTANT_64BIT_FLAG (25)
 
#define RIG_MODE_NXDNVN   CONSTANT_64BIT_FLAG (26)
 
#define RIG_MODE_NXDN_N   CONSTANT_64BIT_FLAG (27)
 
#define RIG_MODE_DCR   CONSTANT_64BIT_FLAG (28)
 
#define RIG_MODE_AMN   CONSTANT_64BIT_FLAG (29)
 
#define RIG_MODE_PSK   CONSTANT_64BIT_FLAG (30)
 
#define RIG_MODE_PSKR   CONSTANT_64BIT_FLAG (31)
 
#define RIG_MODE_DD   CONSTANT_64BIT_FLAG (32)
 
#define RIG_MODE_C4FM   CONSTANT_64BIT_FLAG (33)
 
#define RIG_MODE_BIT34   CONSTANT_64BIT_FLAG (34) /* reserved for future expansion */
 
#define RIG_MODE_BIT35   CONSTANT_64BIT_FLAG (35) /* reserved for future expansion */
 
#define RIG_MODE_BIT36   CONSTANT_64BIT_FLAG (36) /* reserved for future expansion */
 
#define RIG_MODE_BIT37   CONSTANT_64BIT_FLAG (37) /* reserved for future expansion */
 
#define RIG_MODE_BIT38   CONSTANT_64BIT_FLAG (38) /* reserved for future expansion */
 
#define RIG_MODE_BIT39   CONSTANT_64BIT_FLAG (39) /* reserved for future expansion */
 
#define RIG_MODE_BIT40   CONSTANT_64BIT_FLAG (40) /* reserved for future expansion */
 
#define RIG_MODE_BIT41   CONSTANT_64BIT_FLAG (41) /* reserved for future expansion */
 
#define RIG_MODE_BIT42   CONSTANT_64BIT_FLAG (42) /* reserved for future expansion */
 
#define RIG_MODE_BIT43   CONSTANT_64BIT_FLAG (43) /* reserved for future expansion */
 
#define RIG_MODE_BIT44   CONSTANT_64BIT_FLAG (44) /* reserved for future expansion */
 
#define RIG_MODE_BIT45   CONSTANT_64BIT_FLAG (45) /* reserved for future expansion */
 
#define RIG_MODE_BIT46   CONSTANT_64BIT_FLAG (46) /* reserved for future expansion */
 
#define RIG_MODE_BIT47   CONSTANT_64BIT_FLAG (47) /* reserved for future expansion */
 
#define RIG_MODE_BIT48   CONSTANT_64BIT_FLAG (48) /* reserved for future expansion */
 
#define RIG_MODE_BIT49   CONSTANT_64BIT_FLAG (49) /* reserved for future expansion */
 
#define RIG_MODE_BIT50   CONSTANT_64BIT_FLAG (50) /* reserved for future expansion */
 
#define RIG_MODE_BIT51   CONSTANT_64BIT_FLAG (51) /* reserved for future expansion */
 
#define RIG_MODE_BIT52   CONSTANT_64BIT_FLAG (52) /* reserved for future expansion */
 
#define RIG_MODE_BIT53   CONSTANT_64BIT_FLAG (53) /* reserved for future expansion */
 
#define RIG_MODE_BIT54   CONSTANT_64BIT_FLAG (54) /* reserved for future expansion */
 
#define RIG_MODE_BIT55   CONSTANT_64BIT_FLAG (55) /* reserved for future expansion */
 
#define RIG_MODE_BIT56   CONSTANT_64BIT_FLAG (56) /* reserved for future expansion */
 
#define RIG_MODE_BIT57   CONSTANT_64BIT_FLAG (57) /* reserved for future expansion */
 
#define RIG_MODE_BIT58   CONSTANT_64BIT_FLAG (58) /* reserved for future expansion */
 
#define RIG_MODE_BIT59   CONSTANT_64BIT_FLAG (59) /* reserved for future expansion */
 
#define RIG_MODE_BIT60   CONSTANT_64BIT_FLAG (60) /* reserved for future expansion */
 
#define RIG_MODE_BIT61   CONSTANT_64BIT_FLAG (61) /* reserved for future expansion */
 
#define RIG_MODE_BIT62   CONSTANT_64BIT_FLAG (62) /* reserved for future expansion */
 
#define RIG_MODE_TESTS_MAX   CONSTANT_64BIT_FLAG (63)
 
#define RIG_MODE_SSB   (RIG_MODE_USB|RIG_MODE_LSB)
 macro for backends, not to be used by rig_set_mode et al.
 
#define RIG_MODE_ECSS   (RIG_MODE_ECSSUSB|RIG_MODE_ECSSLSB)
 macro for backends, not to be used by rig_set_mode et al.
 
#define RIG_DBLST_END   0 /* end marker in a preamp/att level list */
 
#define RIG_IS_DBLST_END(d)   ((d)==0)
 
#define RIG_FRNG_END   {Hz(0),Hz(0),RIG_MODE_NONE,0,0,RIG_VFO_NONE}
 
#define RIG_IS_FRNG_END(r)   ((r).startf == Hz(0) && (r).endf == Hz(0))
 
#define RIG_TS_ANY   0
 
#define RIG_TS_END   {RIG_MODE_NONE, 0}
 
#define RIG_IS_TS_END(t)   ((t).modes == RIG_MODE_NONE && (t).ts == 0)
 
#define RIG_FLT_ANY   0
 
#define RIG_FLT_END   {RIG_MODE_NONE, 0}
 
#define RIG_IS_FLT_END(f)   ((f).modes == RIG_MODE_NONE)
 
#define RIG_CHFLAG_NONE   0
 Empty channel_t.flags field.
 
#define RIG_CHFLAG_SKIP   (1<<0)
 skip memory channel during scan (lock out), channel_t.flags
 
#define RIG_CHFLAG_DATA   (1<<1)
 DATA port mode flag.
 
#define RIG_CHFLAG_PSKIP   (1<<2)
 programmed skip (PSKIP) memory channel during scan (lock out), channel_t.flags
 
#define RIG_EXT_END   {0, {.i=0}}
 
#define RIG_IS_EXT_END(x)   ((x).token == 0)
 
#define RIG_CHAN_END   {0,0,RIG_MTYPE_NONE}
 
#define RIG_IS_CHAN_END(c)   ((c).type == RIG_MTYPE_NONE)
 
#define RIG_MEM_CAPS_ALL   -1
 Special memory channel value to tell rig_lookup_mem_caps() to retrieve all the ranges.
 
#define EMPTY_STR_CAL   { 0, { { 0, 0 }, } }
 
#define EMPTY_FLOAT_CAL   { 0, { { 0, 0f }, } }
 
#define RIG_MODEL(arg)   .rig_model=arg,.macro_name=#arg
 Rig data structure. More...
 
#define rig_set_split(r, v, s)   rig_set_split_vfo((r),(v),(s),RIG_VFO_CURR)
 
#define rig_get_split(r, v, s)   ({ vfo_t _tx_vfo; rig_get_split_vfo((r),(v),(s),&_tx_vfo); })
 
#define rig_get_strength(r, v, s)   rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s))
 
#define rig_set_debug_level(level)   rig_set_debug(level)
 

Typedefs

typedef struct s_rig RIG
 Rig structure definition (see rig for details).
 
typedef unsigned int tone_t
 CTCSS and DCS type definition. More...
 
typedef enum rig_port_e rig_port_t
 Port type.
 
typedef double freq_t
 Frequency type,. More...
 
typedef signed long shortfreq_t
 Short frequency type. More...
 
typedef unsigned int vfo_t
 VFO definition. More...
 
typedef shortfreq_t pbwidth_t
 Passband width, in Hz. More...
 
typedef enum dcd_e dcd_t
 DCD status.
 
typedef long token_t
 configuration token
 
typedef unsigned int ant_t
 Antenna number.
 
typedef uint64_t setting_t
 Setting. More...
 
typedef uint64_t rmode_t
 Radio mode. More...
 
typedef struct freq_range_list freq_range_t
 Frequency range. More...
 
typedef struct channel channel_t
 Channel structure typedef.
 
typedef struct channel_cap channel_cap_t
 Channel cap.
 
typedef struct chan_list chan_t
 chan_t type
 
typedef struct gran gran_t
 gran_t type
 
typedef struct cal_table cal_table_t
 calibration table type More...
 
typedef struct cal_table_float cal_table_float_t
 calibration table type for float values More...
 
typedef int(* chan_cb_t) (RIG *, channel_t **, int, const chan_t *, char *)
 
typedef int(* confval_cb_t) (RIG *, const struct confparams *, value_t *, char *)
 
typedef struct hamlib_port hamlib_port_t
 Port definition. More...
 
typedef hamlib_port_t port_t
 
typedef int(* vprintf_cb_t) (enum rig_debug_level_e, char *, const char *, va_list)
 
typedef int(* freq_cb_t) (RIG *, vfo_t, freq_t, char *)
 
typedef int(* mode_cb_t) (RIG *, vfo_t, rmode_t, pbwidth_t, char *)
 
typedef int(* vfo_cb_t) (RIG *, vfo_t, char *)
 
typedef int(* ptt_cb_t) (RIG *, vfo_t, ptt_t, char *)
 
typedef int(* dcd_cb_t) (RIG *, vfo_t, dcd_t, char *)
 
typedef int(* pltune_cb_t) (RIG *, vfo_t, freq_t *, rmode_t *, pbwidth_t *, char *)
 
typedef int(* rig_probe_func_t) (const hamlib_port_t *, rig_model_t, char *)
 

Enumerations

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
}
 Hamlib error codes Error code definition that can be returned by the Hamlib functions. Unless stated otherwise, Hamlib functions return the negative value of rig_errcode_e definitions in case of error, or 0 when successful. More...
 
enum  rig_debug_level_e {
  RIG_DEBUG_NONE = 0, RIG_DEBUG_BUG, RIG_DEBUG_ERR, RIG_DEBUG_WARN,
  RIG_DEBUG_VERBOSE, RIG_DEBUG_TRACE
}
 Hamlib debug levels. More...
 
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_GPIO, RIG_PORT_GPION
}
 Port type. More...
 
enum  serial_parity_e {
  RIG_PARITY_NONE = 0, RIG_PARITY_ODD, RIG_PARITY_EVEN, RIG_PARITY_MARK,
  RIG_PARITY_SPACE
}
 Serial parity. More...
 
enum  serial_handshake_e { RIG_HANDSHAKE_NONE = 0, RIG_HANDSHAKE_XONXOFF, RIG_HANDSHAKE_HARDWARE }
 Serial handshake. More...
 
enum  serial_control_state_e { RIG_SIGNAL_UNSET = 0, RIG_SIGNAL_ON, RIG_SIGNAL_OFF }
 Serial control state. More...
 
enum  rig_type_t {
  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 flags. More...
 
enum  rig_status_e {
  RIG_STATUS_ALPHA = 0, RIG_STATUS_UNTESTED, RIG_STATUS_BETA, RIG_STATUS_STABLE,
  RIG_STATUS_BUGGY
}
 Development status of the backend. More...
 
enum  rptr_shift_t { RIG_RPT_SHIFT_NONE = 0, RIG_RPT_SHIFT_MINUS, RIG_RPT_SHIFT_PLUS }
 Repeater shift type. More...
 
enum  split_t { RIG_SPLIT_OFF = 0, RIG_SPLIT_ON }
 Split mode. More...
 
enum  dcd_e { RIG_DCD_OFF = 0, RIG_DCD_ON }
 DCD status. More...
 
enum  dcd_type_t {
  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, RIG_DCD_GPIO,
  RIG_DCD_GPION
}
 DCD type. More...
 
enum  ptt_t { RIG_PTT_OFF = 0, RIG_PTT_ON, RIG_PTT_ON_MIC, RIG_PTT_ON_DATA }
 PTT status. More...
 
enum  ptt_type_t {
  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, RIG_PTT_GPIO,
  RIG_PTT_GPION
}
 PTT type. More...
 
enum  powerstat_t {
  RIG_POWER_OFF = 0, RIG_POWER_ON = (1 << 0), RIG_POWER_STANDBY = (1 << 1), RIG_POWER_OPERATE = (1 << 2),
  RIG_POWER_UNKNOWN = (1 << 3)
}
 Radio power state. More...
 
enum  reset_t {
  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 operation. More...
 
enum  vfo_op_t {
  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 operation. More...
 
enum  scan_t {
  RIG_SCAN_NONE = 0, 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),
  RIG_SCAN_STOP = (1 << 7)
}
 Rig Scan operation. More...
 
enum  rig_conf_e {
  RIG_CONF_STRING, RIG_CONF_COMBO, RIG_CONF_NUMERIC, RIG_CONF_CHECKBUTTON,
  RIG_CONF_BUTTON, RIG_CONF_BINARY
}
 parameter types More...
 
enum  ann_t {
  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)
}
 Announce. More...
 
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
}
 AGC delay settings. More...
 
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)
}
 Level display meters.
 
enum  rig_level_e {
  RIG_LEVEL_NONE = 0, RIG_LEVEL_PREAMP = (1 << 0), RIG_LEVEL_ATT = (1 << 1), RIG_LEVEL_VOXDELAY = (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_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),
  RIG_LEVEL_RFPOWER_METER = (1ull << ( 32 )), RIG_LEVEL_COMP_METER = (1ull << ( 33 )), RIG_LEVEL_VD_METER = (1ull << ( 34 )), RIG_LEVEL_ID_METER = (1ull << ( 35 )),
  RIG_LEVEL_NOTCHF_RAW = (1ull << ( 36 )), RIG_LEVEL_MONITOR_GAIN = (1ull << ( 37 )), RIG_LEVEL_NB = (1ull << ( 38 ))
}
 Rig Level Settings. More...
 
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),
  RIG_PARM_SCREENSAVER = (1 << 8)
}
 Rig Parameters. More...
 
enum  chan_type_t {
  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
}
 Memory channel type definition. More...
 

Functions

RIGrig_init ()
 
int rig_open ()
 
int rig_set_freq ()
 
int rig_get_freq ()
 
int rig_set_mode ()
 
int rig_get_mode ()
 
int rig_set_vfo ()
 
int rig_get_vfo ()
 
int netrigctl_get_vfo_mode ()
 
int rig_set_ptt ()
 
int rig_get_ptt ()
 
int rig_get_dcd ()
 
int rig_set_rptr_shift ()
 
int rig_get_rptr_shift ()
 
int rig_set_rptr_offs ()
 
int rig_get_rptr_offs ()
 
int rig_set_ctcss_tone ()
 
int rig_get_ctcss_tone ()
 
int rig_set_dcs_code ()
 
int rig_get_dcs_code ()
 
int rig_set_ctcss_sql ()
 
int rig_get_ctcss_sql ()
 
int rig_set_dcs_sql ()
 
int rig_get_dcs_sql ()
 
int rig_set_split_freq ()
 
int rig_get_split_freq ()
 
int rig_set_split_mode ()
 
int rig_get_split_mode ()
 
int rig_set_split_freq_mode ()
 
int rig_get_split_freq_mode ()
 
int rig_set_split_vfo ()
 
int rig_get_split_vfo ()
 
int rig_set_rit ()
 
int rig_get_rit ()
 
int rig_set_xit ()
 
int rig_get_xit ()
 
int rig_set_ts ()
 
int rig_get_ts ()
 
int rig_power2mW ()
 
int rig_mW2power ()
 
shortfreq_t rig_get_resolution ()
 
int rig_set_level ()
 
int rig_get_level ()
 
int rig_set_parm ()
 
int rig_get_parm ()
 
int rig_set_conf ()
 
int rig_get_conf ()
 
int rig_set_powerstat ()
 
int rig_get_powerstat ()
 
int rig_reset ()
 
int rig_set_ext_level ()
 
int rig_get_ext_level ()
 
int rig_set_ext_func ()
 
int rig_get_ext_func ()
 
int rig_set_ext_parm ()
 
int rig_get_ext_parm ()
 
int rig_ext_level_foreach ()
 
int rig_ext_parm_foreach ()
 
const struct confparamsrig_ext_lookup ()
 
const struct confparamsrig_ext_lookup_tok ()
 
token_t rig_ext_token_lookup ()
 
int rig_token_foreach ()
 
const struct confparamsrig_confparam_lookup ()
 
token_t rig_token_lookup ()
 
int rig_close ()
 
int rig_cleanup ()
 
int rig_set_ant ()
 
int rig_get_ant ()
 
setting_t rig_has_get_level ()
 
setting_t rig_has_set_level ()
 
setting_t rig_has_get_parm ()
 
setting_t rig_has_set_parm ()
 
setting_t rig_has_get_func ()
 
setting_t rig_has_set_func ()
 
int rig_set_func ()
 
int rig_get_func ()
 
int rig_send_dtmf ()
 
int rig_recv_dtmf ()
 
int rig_send_morse ()
 
int rig_send_voice_mem ()
 
int rig_set_bank ()
 
int rig_set_mem ()
 
int rig_get_mem ()
 
int rig_vfo_op ()
 
vfo_op_t rig_has_vfo_op ()
 
int rig_scan ()
 
scan_t rig_has_scan ()
 
int rig_set_channel ()
 
int rig_get_channel ()
 
int rig_set_chan_all ()
 
int rig_get_chan_all ()
 
int rig_set_chan_all_cb ()
 
int rig_get_chan_all_cb ()
 
int rig_set_mem_all_cb ()
 
int rig_get_mem_all_cb ()
 
int rig_set_mem_all ()
 
int rig_get_mem_all ()
 
const chan_trig_lookup_mem_caps ()
 
int rig_mem_count ()
 
int rig_set_trn ()
 
int rig_get_trn ()
 
int rig_set_freq_callback ()
 
int rig_set_mode_callback ()
 
int rig_set_vfo_callback ()
 
int rig_set_ptt_callback ()
 
int rig_set_dcd_callback ()
 
int rig_set_pltune_callback ()
 
int rig_set_twiddle ()
 
int rig_get_twiddle ()
 
const char * rig_get_info ()
 
const struct rig_capsrig_get_caps ()
 
const freq_range_trig_get_range ()
 
pbwidth_t rig_passband_normal ()
 
pbwidth_t rig_passband_narrow ()
 
pbwidth_t rig_passband_wide ()
 
const char * rigerror ()
 
int rig_setting2idx ()
 
setting_t rig_idx2setting (int i)
 
void rig_set_debug ()
 
void rig_set_debug_time_stamp ()
 
int rig_need_debug ()
 
void rig_debug ()
 
vprintf_cb_t rig_set_debug_callback ()
 
FILE * rig_set_debug_file ()
 
int rig_register ()
 
int rig_unregister ()
 
int rig_list_foreach ()
 
int rig_load_backend ()
 
int rig_check_backend ()
 
int rig_load_all_backends ()
 
int rig_probe_all ()
 
rig_model_t rig_probe ()
 
const char * rig_strrmode (rmode_t mode)
 Convert enum RIG_MODE to alpha string. More...
 
int rig_strrmodes (rmode_t modes, char *buf, int buflen)
 Convert RIG_MODE or'd value to alpha string of all modes. More...
 
const char * rig_strvfo (vfo_t vfo)
 Convert enum RIG_VFO_... to alpha string. More...
 
const char * rig_strfunc (setting_t)
 Convert enum RIG_FUNC_... to alpha string. More...
 
const char * rig_strlevel (setting_t)
 Convert enum RIG_LEVEL_... to alpha string. More...
 
const char * rig_strparm (setting_t)
 Convert enum RIG_PARM_... to alpha string. More...
 
const char * rig_strptrshift (rptr_shift_t)
 convert enum RIG_RPT_SHIFT_... to printable character More...
 
const char * rig_strvfop (vfo_op_t op)
 Convert enum RIG_OP_... to alpha string. More...
 
const char * rig_strscan (scan_t scan)
 Convert enum RIG_SCAN_... to alpha string. More...
 
const char * rig_strstatus (enum rig_status_e status)
 Convert enum RIG_STATUS_... to printable string. More...
 
const char * rig_strmtype (chan_type_t mtype)
 Convert enum RIG_MTYPE_... to alpha string. More...
 
rmode_t rig_parse_mode (const char *s)
 Convert alpha string to enum RIG_MODE. More...
 
vfo_t rig_parse_vfo (const char *s)
 Convert alpha string to enum RIG_VFO_... More...
 
setting_t rig_parse_func (const char *s)
 Convert alpha string to enum RIG_FUNC_... More...
 
setting_t rig_parse_level (const char *s)
 Convert alpha string to enum RIG_LEVEL_... More...
 
setting_t amp_parse_level (const char *s)
 Convert alpha string to enum AMP_LEVEL_... More...
 
setting_t rig_parse_parm (const char *s)
 Convert alpha string to RIG_PARM_... More...
 
vfo_op_t rig_parse_vfo_op (const char *s)
 Convert alpha string to enum RIG_OP_... More...
 
scan_t rig_parse_scan (const char *s)
 Convert alpha string to enum RIG_SCAN_... More...
 
rptr_shift_t rig_parse_rptr_shift (const char *s)
 Convert alpha char to enum RIG_RPT_SHIFT_... More...
 
chan_type_t rig_parse_mtype (const char *s)
 Convert alpha string to enum RIG_MTYPE_... More...
 
const char * rig_license ()
 
const char * rig_version ()
 
const char * rig_copyright ()
 
void rig_no_restore_ai ()
 
int hl_usleep (useconds_t usec)
 provide sleep and usleep replacements More...
 

Variables

const char hamlib_version []
 
const char hamlib_copyright []
 
const char * hamlib_version2
 
const char * hamlib_copyright2
 Hamlib copyright notice.
 

Detailed Description

Hamlib rig data structures.

This file contains the data structures and definitions for the Hamlib rig API. see the rig.c file for more details on the rig API.


Generated by doxygen 1.8.14

Hamlib documentation for version 4.0~git -- Sat Apr 4 2020 16:42:11
Project page: http://www.hamlib.org