36#define HAMLIB_SECRET_LENGTH 32
38#define HAMLIB_TRACE rig_debug(RIG_DEBUG_TRACE,"%s%s(%d) trace\n",spaces(STATE(rig)->depth), __FILE__, __LINE__)
39#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
54#include <netinet/in.h>
62#warning TIMESIZE != 64 -- Please report your OS system to hamlib-developer@lists.sourceforge.net
68#define HAVE_STRUCT_TIMESPEC
80#ifndef __has_c_attribute
81#define __has_c_attribute(x) 0
86#if __has_c_attribute(fallthrough)
87#define HL_FALLTHROUGH [[fallthrough]];
94#if __has_c_attribute(deprecated)
95#define HL_DEPRECATED [[deprecated]]
121# define __BEGIN_DECLS extern "C" {
122# define __END_DECLS }
124# define __BEGIN_DECLS
134#if defined (__STDC__) \
136 || (defined (__mips) && defined (_SYSTYPE_SVR4)) \
137 || defined(__CYGWIN__) \
139 || defined(__cplusplus)
140# define HAMLIB_PARAMS(protos) protos
141# define rig_ptr_t void *
142# define amp_ptr_t void *
144# define HAMLIB_PARAMS(protos) ()
145# define rig_ptr_t char *
146# define amp_ptr_t char *
150#include <hamlib/rig_dll.h>
154#define CONSTANT_64BIT_FLAG(BIT) (1ull << (BIT))
167#define CONSTANT_64BIT_FLAG(BIT) (1ul << (BIT))
173#define HAMLIB_FIFO_SIZE 1024
177 char data[HAMLIB_FIFO_SIZE];
181 pthread_mutex_t mutex;
190#define HAMLIB_COOKIE_SIZE 37
191extern int cookie_use;
195extern HAMLIB_EXPORT_VAR(
const char) hamlib_version[];
196extern HAMLIB_EXPORT_VAR(
const char) hamlib_copyright[];
241#define RIG_IS_SOFT_ERRCODE(errcode) (errcode == -RIG_EINVAL || errcode == -RIG_ENIMPL || errcode == -RIG_ERJCTED \
242 || errcode == -RIG_ETRUNC || errcode == -RIG_ENAVAIL || errcode == -RIG_ENTARGET \
243 || errcode == -RIG_EVFO || errcode == -RIG_EDOM || errcode == -RIG_EDEPRECATED \
244 || errcode == -RIG_ESECURITY || errcode == -RIG_EPOWER)
249#define NETRIGCTL_RET "RPRT "
293#define HAMLIB_RIGNAMSIZ 30
294#define HAMLIB_RIGVERSIZ 8
295#define HAMLIB_FILPATHLEN 512
296#define HAMLIB_FRQRANGESIZ 30
297#define HAMLIB_MAXCHANDESC 30
298#define HAMLIB_TSLSTSIZ 20
299#define HAMLIB_FLTLSTSIZ 60
300#define HAMLIB_MAXDBLSTSIZ 8
301#define HAMLIB_CHANLSTSIZ 16
302#define HAMLIB_MAX_AGC_LEVELS 8
303#define HAMLIB_MAX_SPECTRUM_SCOPES 4
304#define HAMLIB_MAX_SPECTRUM_MODES 5
305#define HAMLIB_MAX_SPECTRUM_AVG_MODES 12
306#define HAMLIB_MAX_SPECTRUM_SPANS 20
307#define HAMLIB_MAX_SPECTRUM_DATA 2048
308#define HAMLIB_MAX_CAL_LENGTH 32
309#define HAMLIB_MAX_MODES 63
310#define HAMLIB_MAX_VFOS 31
311#define HAMLIB_MAX_ROTORS 31
312#define HAMLIB_MAX_VFO_OPS 31
313#define HAMLIB_MAX_RSCANS 31
314#define HAMLIB_MAX_SNAPSHOT_PACKET_SIZE 16384
329#define CTCSS_LIST_SIZE 60
330#define DCS_LIST_SIZE 128
424#define RIG_FLAG_TRANSCEIVER (RIG_FLAG_RECEIVER|RIG_FLAG_TRANSMITTER)
425#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)
427#define RIG_TYPE_OTHER 0
428#define RIG_TYPE_TRANSCEIVER RIG_FLAG_TRANSCEIVER
429#define RIG_TYPE_HANDHELD (RIG_FLAG_TRANSCEIVER|RIG_FLAG_HANDHELD)
430#define RIG_TYPE_MOBILE (RIG_FLAG_TRANSCEIVER|RIG_FLAG_MOBILE)
431#define RIG_TYPE_RECEIVER RIG_FLAG_RECEIVER
432#define RIG_TYPE_PCRECEIVER (RIG_FLAG_COMPUTER|RIG_FLAG_RECEIVER)
433#define RIG_TYPE_SCANNER (RIG_FLAG_SCANNER|RIG_FLAG_RECEIVER)
434#define RIG_TYPE_TRUNKSCANNER (RIG_TYPE_SCANNER|RIG_FLAG_TRUNKING)
435#define RIG_TYPE_COMPUTER (RIG_FLAG_TRANSCEIVER|RIG_FLAG_COMPUTER)
436#define RIG_TYPE_TUNER RIG_FLAG_TUNER
457#define RIG_STATUS_NEW RIG_STATUS_UNTESTED
498#define FREQFMT SCNfreq
509#define Hz(f) ((freq_t)(f))
511#define kHz(f) ((freq_t)((f)*(freq_t)1000))
513#define MHz(f) ((freq_t)((f)*(freq_t)1000000))
515#define GHz(f) ((freq_t)((f)*(freq_t)1000000000))
518#define s_Hz(f) ((shortfreq_t)(f))
520#define s_kHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000))
522#define s_MHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000))
524#define s_GHz(f) ((shortfreq_t)((f)*(shortfreq_t)1000000000))
527#define RIG_FREQ_NONE Hz(0)
548#define RIG_VFO_N(n) (1u<<(n))
551#define RIG_VFO_NONE 0
554#define RIG_VFO_A RIG_VFO_N(0)
557#define RIG_VFO_B RIG_VFO_N(1)
560#define RIG_VFO_C RIG_VFO_N(2)
566#define RIG_VFO_SUB_A RIG_VFO_N(21)
569#define RIG_VFO_SUB_B RIG_VFO_N(22)
572#define RIG_VFO_SUB_C RIG_VFO_N(3)
575#define RIG_VFO_MAIN_A RIG_VFO_N(23)
578#define RIG_VFO_MAIN_B RIG_VFO_N(24)
581#define RIG_VFO_MAIN_C RIG_VFO_N(4)
584#define RIG_VFO_OTHER RIG_VFO_N(5)
587#define RIG_VFO_SUB RIG_VFO_N(25)
590#define RIG_VFO_MAIN RIG_VFO_N(26)
593#define RIG_VFO_VFO RIG_VFO_N(27)
596#define RIG_VFO_MEM RIG_VFO_N(28)
599#define RIG_VFO_CURR RIG_VFO_N(29)
602#define RIG_VFO_TX_FLAG RIG_VFO_N(30)
605#define RIG_VFO_ALL RIG_VFO_N(31)
612#define RIG_VFO_TX_VFO(v) ((v)|RIG_VFO_TX_FLAG)
615#define RIG_VFO_TX RIG_VFO_TX_VFO(RIG_VFO_CURR)
618#define RIG_VFO_RX RIG_VFO_CURR
628#define RIG_TARGETABLE_NONE 0
629#define RIG_TARGETABLE_FREQ (1<<0)
630#define RIG_TARGETABLE_MODE (1<<1)
631#define RIG_TARGETABLE_PURE (1<<2)
632#define RIG_TARGETABLE_TONE (1<<3)
633#define RIG_TARGETABLE_FUNC (1<<4)
634#define RIG_TARGETABLE_LEVEL (1<<5)
635#define RIG_TARGETABLE_RITXIT (1<<6)
636#define RIG_TARGETABLE_PTT (1<<7)
637#define RIG_TARGETABLE_MEM (1<<8)
638#define RIG_TARGETABLE_BANK (1<<9)
639#define RIG_TARGETABLE_ANT (1<<10)
640#define RIG_TARGETABLE_ROOFING (1<<11)
641#define RIG_TARGETABLE_SPECTRUM (1<<12)
642#define RIG_TARGETABLE_BAND (1<<13)
643#define RIG_TARGETABLE_COMMON (RIG_TARGETABLE_RITXIT | RIG_TARGETABLE_PTT | RIG_TARGETABLE_MEM | RIG_TARGETABLE_BANK)
644#define RIG_TARGETABLE_ALL 0x7fffffff
652#define VFO_HAS_A_B ((STATE(rig)->vfo_list & (RIG_VFO_A|RIG_VFO_B)) == (RIG_VFO_A|RIG_VFO_B))
653#define VFO_HAS_MAIN_SUB ((STATE(rig)->vfo_list & (RIG_VFO_MAIN|RIG_VFO_SUB)) == (RIG_VFO_MAIN|RIG_VFO_SUB))
654#define VFO_HAS_MAIN_SUB_ONLY ((!VFO_HAS_A_B) & VFO_HAS_MAIN_SUB)
655#define VFO_HAS_MAIN_SUB_A_B_ONLY (VFO_HAS_A_B & VFO_HAS_MAIN_SUB)
656#define VFO_HAS_A_B_ONLY (VFO_HAS_A_B & (!VFO_HAS_MAIN_SUB))
657#define VFO_DUAL (RIG_VFO_MAIN_A|RIG_VFO_MAIN_B|RIG_VFO_SUB_A|RIG_VFO_SUB_B)
658#define VFO_HAS_DUAL ((STATE(rig)->vfo_list & VFO_DUAL) == VFO_DUAL)
665#define RIG_PASSBAND_NORMAL s_Hz(0)
670#define RIG_PASSBAND_NOCHANGE s_Hz(-1)
678typedef float agc_time_t;
860#define RIG_BANDSELECT_ALL
861#define RIG_BANDSELECT_LF (RIG_BANDSELECT_2200M | RIG_BANDSELECT_600M)
862#define RIG_BANDSELECT_HF (RIG_BANDSELECT_160M | RIG_BANDSELECT_80M | RIG_BANDSELECT_60M | RIG_BANDSELECT_40M\
863| RIG_BANDSELECT_30M | RIG_BANDSELECT_20M | RIG_BANDSELECT_17M | RIG_BANDSELECT_15M | RIG_BANDSELECT_12M\
864| RIG_BANDSELECT_10M | RIG_BANDSELECT_6M)
865#define RIG_BANDSELECT_VHF (RIG_BANDSELECT_AIR | RIG_BANDSELECT_2M| RIG_BANDSELECT_1_25M(
866#define RIG_BANDSELECT_UHF (RIG_BANDSELECT_70CM)
894#define token_t hamlib_token_t
899#define RIG_CONF_END 0
926#define RIG_COMBO_MAX 16
927#define RIG_BIN_MAX 80
1017#define RIG_ANT_NONE 0
1018#define RIG_ANT_N(n) ((ant_t)1<<(n))
1019#define RIG_ANT_1 RIG_ANT_N(0)
1020#define RIG_ANT_2 RIG_ANT_N(1)
1021#define RIG_ANT_3 RIG_ANT_N(2)
1022#define RIG_ANT_4 RIG_ANT_N(3)
1023#define RIG_ANT_5 RIG_ANT_N(4)
1025#define RIG_ANT_UNKNOWN RIG_ANT_N(30)
1026#define RIG_ANT_CURR RIG_ANT_N(31)
1028#define RIG_ANT_MAX 32
1032#define RIG_AGC_LAST 99999
1041 RIG_METER_SWR = (1 << 0),
1042 RIG_METER_COMP = (1 << 1),
1043 RIG_METER_ALC = (1 << 2),
1044 RIG_METER_IC = (1 << 3),
1045 RIG_METER_DB = (1 << 4),
1046 RIG_METER_PO = (1 << 5),
1047 RIG_METER_VDD = (1 << 6),
1048 RIG_METER_TEMP = (1 << 7)
1082#define RIG_LEVEL_NONE 0
1083#define RIG_LEVEL_PREAMP CONSTANT_64BIT_FLAG(0)
1084#define RIG_LEVEL_ATT CONSTANT_64BIT_FLAG(1)
1085#define RIG_LEVEL_VOXDELAY CONSTANT_64BIT_FLAG(2)
1086#define RIG_LEVEL_AF CONSTANT_64BIT_FLAG(3)
1087#define RIG_LEVEL_RF CONSTANT_64BIT_FLAG(4)
1088#define RIG_LEVEL_SQL CONSTANT_64BIT_FLAG(5)
1089#define RIG_LEVEL_IF CONSTANT_64BIT_FLAG(6)
1090#define RIG_LEVEL_APF CONSTANT_64BIT_FLAG(7)
1091#define RIG_LEVEL_NR CONSTANT_64BIT_FLAG(8)
1092#define RIG_LEVEL_PBT_IN CONSTANT_64BIT_FLAG(9)
1093#define RIG_LEVEL_PBT_OUT CONSTANT_64BIT_FLAG(10)
1094#define RIG_LEVEL_CWPITCH CONSTANT_64BIT_FLAG(11)
1095#define RIG_LEVEL_RFPOWER CONSTANT_64BIT_FLAG(12)
1096#define RIG_LEVEL_MICGAIN CONSTANT_64BIT_FLAG(13)
1097#define RIG_LEVEL_KEYSPD CONSTANT_64BIT_FLAG(14)
1098#define RIG_LEVEL_NOTCHF CONSTANT_64BIT_FLAG(15)
1099#define RIG_LEVEL_COMP CONSTANT_64BIT_FLAG(16)
1100#define RIG_LEVEL_AGC CONSTANT_64BIT_FLAG(17)
1101#define RIG_LEVEL_BKINDL CONSTANT_64BIT_FLAG(18)
1102#define RIG_LEVEL_BALANCE CONSTANT_64BIT_FLAG(19)
1103#define RIG_LEVEL_METER CONSTANT_64BIT_FLAG(20)
1104#define RIG_LEVEL_VOXGAIN CONSTANT_64BIT_FLAG(21)
1105#define RIG_LEVEL_ANTIVOX CONSTANT_64BIT_FLAG(22)
1106#define RIG_LEVEL_SLOPE_LOW CONSTANT_64BIT_FLAG(23)
1107#define RIG_LEVEL_SLOPE_HIGH CONSTANT_64BIT_FLAG(24)
1108#define RIG_LEVEL_BKIN_DLYMS CONSTANT_64BIT_FLAG(25)
1111#define RIG_LEVEL_RAWSTR CONSTANT_64BIT_FLAG(26)
1113#define RIG_LEVEL_SWR CONSTANT_64BIT_FLAG(28)
1114#define RIG_LEVEL_ALC CONSTANT_64BIT_FLAG(29)
1115#define RIG_LEVEL_STRENGTH CONSTANT_64BIT_FLAG(30)
1117#define RIG_LEVEL_RFPOWER_METER CONSTANT_64BIT_FLAG(32)
1118#define RIG_LEVEL_COMP_METER CONSTANT_64BIT_FLAG(33)
1119#define RIG_LEVEL_VD_METER CONSTANT_64BIT_FLAG(34)
1120#define RIG_LEVEL_ID_METER CONSTANT_64BIT_FLAG(35)
1122#define RIG_LEVEL_NOTCHF_RAW CONSTANT_64BIT_FLAG(36)
1123#define RIG_LEVEL_MONITOR_GAIN CONSTANT_64BIT_FLAG(37)
1124#define RIG_LEVEL_NB CONSTANT_64BIT_FLAG(38)
1125#define RIG_LEVEL_RFPOWER_METER_WATTS CONSTANT_64BIT_FLAG(39)
1126#define RIG_LEVEL_SPECTRUM_MODE CONSTANT_64BIT_FLAG(40)
1127#define RIG_LEVEL_SPECTRUM_SPAN CONSTANT_64BIT_FLAG(41)
1128#define RIG_LEVEL_SPECTRUM_EDGE_LOW CONSTANT_64BIT_FLAG(42)
1129#define RIG_LEVEL_SPECTRUM_EDGE_HIGH CONSTANT_64BIT_FLAG(43)
1130#define RIG_LEVEL_SPECTRUM_SPEED CONSTANT_64BIT_FLAG(44)
1131#define RIG_LEVEL_SPECTRUM_REF CONSTANT_64BIT_FLAG(45)
1132#define RIG_LEVEL_SPECTRUM_AVG CONSTANT_64BIT_FLAG(46)
1133#define RIG_LEVEL_SPECTRUM_ATT CONSTANT_64BIT_FLAG(47)
1134#define RIG_LEVEL_TEMP_METER CONSTANT_64BIT_FLAG(48)
1135#define RIG_LEVEL_BAND_SELECT CONSTANT_64BIT_FLAG(49)
1136#define RIG_LEVEL_USB_AF CONSTANT_64BIT_FLAG(50)
1137#define RIG_LEVEL_USB_AF_INPUT CONSTANT_64BIT_FLAG(51)
1138#define RIG_LEVEL_AGC_TIME CONSTANT_64BIT_FLAG(52)
1139#define RIG_LEVEL_53 CONSTANT_64BIT_FLAG(53)
1140#define RIG_LEVEL_54 CONSTANT_64BIT_FLAG(54)
1141#define RIG_LEVEL_55 CONSTANT_64BIT_FLAG(55)
1142#define RIG_LEVEL_56 CONSTANT_64BIT_FLAG(56)
1143#define RIG_LEVEL_57 CONSTANT_64BIT_FLAG(57)
1144#define RIG_LEVEL_58 CONSTANT_64BIT_FLAG(58)
1145#define RIG_LEVEL_59 CONSTANT_64BIT_FLAG(59)
1146#define RIG_LEVEL_60 CONSTANT_64BIT_FLAG(60)
1147#define RIG_LEVEL_61 CONSTANT_64BIT_FLAG(61)
1148#define RIG_LEVEL_62 CONSTANT_64BIT_FLAG(62)
1149#define RIG_LEVEL_63 CONSTANT_64BIT_FLAG(63)
1152#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_RFPOWER_METER_WATTS|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_NOTCHF_RAW|RIG_LEVEL_MONITOR_GAIN|RIG_LEVEL_NB|RIG_LEVEL_SPECTRUM_REF|RIG_LEVEL_TEMP_METER|RIG_LEVEL_USB_AF|RIG_LEVEL_USB_AF_INPUT|RIG_LEVEL_AGC_TIME)
1154#define RIG_LEVEL_READONLY_LIST (RIG_LEVEL_SWR|RIG_LEVEL_ALC|RIG_LEVEL_STRENGTH|RIG_LEVEL_RAWSTR|RIG_LEVEL_COMP_METER|RIG_LEVEL_VD_METER|RIG_LEVEL_ID_METER|RIG_LEVEL_TEMP_METER|RIG_LEVEL_RFPOWER_METER|RIG_LEVEL_RFPOWER_METER_WATTS)
1156#define RIG_LEVEL_IS_FLOAT(l) ((l)&RIG_LEVEL_FLOAT_LIST)
1157#define RIG_LEVEL_SET(l) ((l)&~RIG_LEVEL_READONLY_LIST)
1187enum rig_keyertype_e {
1188 RIG_KEYERTYPE_STRAIGHT = 0,
1189 RIG_KEYERTYPE_BUG = (1 << 0),
1190 RIG_KEYERTYPE_PADDLE = (1 << 1),
1191 RIG_KEYERTYPE_UNKNOWN = (1 << 2)
1214 RIG_MULTICAST_TRANSCEIVE,
1215 RIG_MULTICAST_SPECTRUM
1219#define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT|RIG_PARM_BACKLIGHT)
1220#define RIG_PARM_STRING_LIST (RIG_PARM_BANDSELECT|RIG_PARM_KEYERTYPE)
1221#define RIG_PARM_READONLY_LIST (RIG_PARM_BAT)
1223#define RIG_PARM_IS_FLOAT(l) ((l)&RIG_PARM_FLOAT_LIST)
1224#define RIG_PARM_IS_STRING(l) ((l)&RIG_PARM_STRING_LIST)
1225#define RIG_PARM_SET(l) ((l)&~RIG_PARM_READONLY_LIST)
1240#define RIG_SETTING_MAX 64
1258#define RIG_TRN_OFF 0
1259#define RIG_TRN_RIG 1
1260#define RIG_TRN_POLL 2
1280#define RIG_FUNC_NONE 0
1281#define RIG_FUNC_FAGC CONSTANT_64BIT_FLAG (0)
1282#define RIG_FUNC_NB CONSTANT_64BIT_FLAG (1)
1283#define RIG_FUNC_COMP CONSTANT_64BIT_FLAG (2)
1284#define RIG_FUNC_VOX CONSTANT_64BIT_FLAG (3)
1285#define RIG_FUNC_TONE CONSTANT_64BIT_FLAG (4)
1286#define RIG_FUNC_TSQL CONSTANT_64BIT_FLAG (5)
1287#define RIG_FUNC_SBKIN CONSTANT_64BIT_FLAG (6)
1288#define RIG_FUNC_FBKIN CONSTANT_64BIT_FLAG (7)
1289#define RIG_FUNC_ANF CONSTANT_64BIT_FLAG (8)
1290#define RIG_FUNC_NR CONSTANT_64BIT_FLAG (9)
1291#define RIG_FUNC_AIP CONSTANT_64BIT_FLAG (10)
1292#define RIG_FUNC_APF CONSTANT_64BIT_FLAG (11)
1293#define RIG_FUNC_MON CONSTANT_64BIT_FLAG (12)
1294#define RIG_FUNC_MN CONSTANT_64BIT_FLAG (13)
1295#define RIG_FUNC_RF CONSTANT_64BIT_FLAG (14)
1296#define RIG_FUNC_ARO CONSTANT_64BIT_FLAG (15)
1297#define RIG_FUNC_LOCK CONSTANT_64BIT_FLAG (16)
1298#define RIG_FUNC_MUTE CONSTANT_64BIT_FLAG (17)
1299#define RIG_FUNC_VSC CONSTANT_64BIT_FLAG (18)
1300#define RIG_FUNC_REV CONSTANT_64BIT_FLAG (19)
1301#define RIG_FUNC_SQL CONSTANT_64BIT_FLAG (20)
1302#define RIG_FUNC_ABM CONSTANT_64BIT_FLAG (21)
1303#define RIG_FUNC_BC CONSTANT_64BIT_FLAG (22)
1304#define RIG_FUNC_MBC CONSTANT_64BIT_FLAG (23)
1305#define RIG_FUNC_RIT CONSTANT_64BIT_FLAG (24)
1306#define RIG_FUNC_AFC CONSTANT_64BIT_FLAG (25)
1307#define RIG_FUNC_SATMODE CONSTANT_64BIT_FLAG (26)
1308#define RIG_FUNC_SCOPE CONSTANT_64BIT_FLAG (27)
1309#define RIG_FUNC_RESUME CONSTANT_64BIT_FLAG (28)
1310#define RIG_FUNC_TBURST CONSTANT_64BIT_FLAG (29)
1311#define RIG_FUNC_TUNER CONSTANT_64BIT_FLAG (30)
1312#define RIG_FUNC_XIT CONSTANT_64BIT_FLAG (31)
1315#define RIG_FUNC_NB2 CONSTANT_64BIT_FLAG (32)
1316#define RIG_FUNC_CSQL CONSTANT_64BIT_FLAG (33)
1317#define RIG_FUNC_AFLT CONSTANT_64BIT_FLAG (34)
1318#define RIG_FUNC_ANL CONSTANT_64BIT_FLAG (35)
1319#define RIG_FUNC_BC2 CONSTANT_64BIT_FLAG (36)
1320#define RIG_FUNC_DUAL_WATCH CONSTANT_64BIT_FLAG (37)
1321#define RIG_FUNC_DIVERSITY CONSTANT_64BIT_FLAG (38)
1322#define RIG_FUNC_DSQL CONSTANT_64BIT_FLAG (39)
1323#define RIG_FUNC_SCEN CONSTANT_64BIT_FLAG (40)
1324#define RIG_FUNC_SLICE CONSTANT_64BIT_FLAG (41)
1325#define RIG_FUNC_TRANSCEIVE CONSTANT_64BIT_FLAG (42)
1326#define RIG_FUNC_SPECTRUM CONSTANT_64BIT_FLAG (43)
1327#define RIG_FUNC_SPECTRUM_HOLD CONSTANT_64BIT_FLAG (44)
1328#define RIG_FUNC_SEND_MORSE CONSTANT_64BIT_FLAG (45)
1329#define RIG_FUNC_SEND_VOICE_MEM CONSTANT_64BIT_FLAG (46)
1330#define RIG_FUNC_OVF_STATUS CONSTANT_64BIT_FLAG (47)
1331#define RIG_FUNC_SYNC CONSTANT_64BIT_FLAG (48)
1332#define RIG_FUNC_BIT49 CONSTANT_64BIT_FLAG (49)
1333#define RIG_FUNC_BIT50 CONSTANT_64BIT_FLAG (50)
1334#define RIG_FUNC_BIT51 CONSTANT_64BIT_FLAG (51)
1335#define RIG_FUNC_BIT52 CONSTANT_64BIT_FLAG (52)
1336#define RIG_FUNC_BIT53 CONSTANT_64BIT_FLAG (53)
1337#define RIG_FUNC_BIT54 CONSTANT_64BIT_FLAG (54)
1338#define RIG_FUNC_BIT55 CONSTANT_64BIT_FLAG (55)
1339#define RIG_FUNC_BIT56 CONSTANT_64BIT_FLAG (56)
1340#define RIG_FUNC_BIT57 CONSTANT_64BIT_FLAG (57)
1341#define RIG_FUNC_BIT58 CONSTANT_64BIT_FLAG (58)
1342#define RIG_FUNC_BIT59 CONSTANT_64BIT_FLAG (59)
1343#define RIG_FUNC_BIT60 CONSTANT_64BIT_FLAG (60)
1344#define RIG_FUNC_BIT61 CONSTANT_64BIT_FLAG (61)
1345#define RIG_FUNC_BIT62 CONSTANT_64BIT_FLAG (62)
1346#define RIG_FUNC_BIT63 CONSTANT_64BIT_FLAG (63)
1356#define mW(p) ((int)(p))
1364#define Watts(p) ((int)((p)*1000))
1371#define W(p) Watts(p)
1379#define kW(p) ((int)((p)*1000000L))
1394#define RIG_MODE_NONE 0
1395#define RIG_MODE_AM CONSTANT_64BIT_FLAG (0)
1396#define RIG_MODE_CW CONSTANT_64BIT_FLAG (1)
1397#define RIG_MODE_USB CONSTANT_64BIT_FLAG (2)
1398#define RIG_MODE_LSB CONSTANT_64BIT_FLAG (3)
1399#define RIG_MODE_RTTY CONSTANT_64BIT_FLAG (4)
1400#define RIG_MODE_FM CONSTANT_64BIT_FLAG (5)
1401#define RIG_MODE_WFM CONSTANT_64BIT_FLAG (6)
1402#define RIG_MODE_CWR CONSTANT_64BIT_FLAG (7)
1403#define RIG_MODE_RTTYR CONSTANT_64BIT_FLAG (8)
1404#define RIG_MODE_AMS CONSTANT_64BIT_FLAG (9)
1405#define RIG_MODE_PKTLSB CONSTANT_64BIT_FLAG (10)
1406#define RIG_MODE_PKTUSB CONSTANT_64BIT_FLAG (11)
1407#define RIG_MODE_PKTFM CONSTANT_64BIT_FLAG (12)
1408#define RIG_MODE_ECSSUSB CONSTANT_64BIT_FLAG (13)
1409#define RIG_MODE_ECSSLSB CONSTANT_64BIT_FLAG (14)
1410#define RIG_MODE_FAX CONSTANT_64BIT_FLAG (15)
1411#define RIG_MODE_SAM CONSTANT_64BIT_FLAG (16)
1412#define RIG_MODE_SAL CONSTANT_64BIT_FLAG (17)
1413#define RIG_MODE_SAH CONSTANT_64BIT_FLAG (18)
1414#define RIG_MODE_DSB CONSTANT_64BIT_FLAG (19)
1415#define RIG_MODE_FMN CONSTANT_64BIT_FLAG (21)
1416#define RIG_MODE_PKTAM CONSTANT_64BIT_FLAG (22)
1417#define RIG_MODE_P25 CONSTANT_64BIT_FLAG (23)
1418#define RIG_MODE_DSTAR CONSTANT_64BIT_FLAG (24)
1419#define RIG_MODE_DPMR CONSTANT_64BIT_FLAG (25)
1420#define RIG_MODE_NXDNVN CONSTANT_64BIT_FLAG (26)
1421#define RIG_MODE_NXDN_N CONSTANT_64BIT_FLAG (27)
1422#define RIG_MODE_DCR CONSTANT_64BIT_FLAG (28)
1423#define RIG_MODE_AMN CONSTANT_64BIT_FLAG (29)
1424#define RIG_MODE_PSK CONSTANT_64BIT_FLAG (30)
1425#define RIG_MODE_PSKR CONSTANT_64BIT_FLAG (31)
1428#define RIG_MODE_DD CONSTANT_64BIT_FLAG (32)
1429#define RIG_MODE_C4FM CONSTANT_64BIT_FLAG (33)
1430#define RIG_MODE_PKTFMN CONSTANT_64BIT_FLAG (34)
1431#define RIG_MODE_SPEC CONSTANT_64BIT_FLAG (35)
1432#define RIG_MODE_CWN CONSTANT_64BIT_FLAG (36)
1433#define RIG_MODE_IQ CONSTANT_64BIT_FLAG (37)
1434#define RIG_MODE_ISBUSB CONSTANT_64BIT_FLAG (38)
1435#define RIG_MODE_ISBLSB CONSTANT_64BIT_FLAG (39)
1436#define RIG_MODE_USBD1 CONSTANT_64BIT_FLAG (40)
1437#define RIG_MODE_USBD2 CONSTANT_64BIT_FLAG (41)
1438#define RIG_MODE_USBD3 CONSTANT_64BIT_FLAG (42)
1439#define RIG_MODE_LSBD1 CONSTANT_64BIT_FLAG (43)
1440#define RIG_MODE_LSBD2 CONSTANT_64BIT_FLAG (44)
1441#define RIG_MODE_LSBD3 CONSTANT_64BIT_FLAG (45)
1442#define RIG_MODE_WFMS CONSTANT_64BIT_FLAG (46)
1443#define RIG_MODE_BIT47 CONSTANT_64BIT_FLAG (47)
1444#define RIG_MODE_BIT48 CONSTANT_64BIT_FLAG (48)
1445#define RIG_MODE_BIT49 CONSTANT_64BIT_FLAG (49)
1446#define RIG_MODE_BIT50 CONSTANT_64BIT_FLAG (50)
1447#define RIG_MODE_BIT51 CONSTANT_64BIT_FLAG (51)
1448#define RIG_MODE_BIT52 CONSTANT_64BIT_FLAG (52)
1449#define RIG_MODE_BIT53 CONSTANT_64BIT_FLAG (53)
1450#define RIG_MODE_BIT54 CONSTANT_64BIT_FLAG (54)
1451#define RIG_MODE_BIT55 CONSTANT_64BIT_FLAG (55)
1452#define RIG_MODE_BIT56 CONSTANT_64BIT_FLAG (56)
1453#define RIG_MODE_BIT57 CONSTANT_64BIT_FLAG (57)
1454#define RIG_MODE_BIT58 CONSTANT_64BIT_FLAG (58)
1455#define RIG_MODE_BIT59 CONSTANT_64BIT_FLAG (59)
1456#define RIG_MODE_BIT60 CONSTANT_64BIT_FLAG (60)
1457#define RIG_MODE_BIT61 CONSTANT_64BIT_FLAG (61)
1458#define RIG_MODE_BIT62 CONSTANT_64BIT_FLAG (62)
1459#define RIG_MODE_TESTS_MAX CONSTANT_64BIT_FLAG (63)
1460#define RIG_MODE_ALL (0xffffffff)
1466#define RIG_MODE_SSB (RIG_MODE_USB|RIG_MODE_LSB)
1471#define RIG_MODE_PKTSSB (RIG_MODE_PKTUSB|RIG_MODE_PKTLSB)
1476#define RIG_MODE_ECSS (RIG_MODE_ECSSUSB|RIG_MODE_ECSSLSB)
1479#define RIG_DBLST_END 0
1480#define RIG_IS_DBLST_END(d) ((d)==0)
1502#define RIG_FRNG_END {Hz(0),Hz(0),RIG_MODE_NONE,0,0,RIG_VFO_NONE}
1503#define RIG_IS_FRNG_END(r) ((r).startf == Hz(0) && (r).endf == Hz(0))
1529#define RIG_TS_END {RIG_MODE_NONE, 0}
1530#define RIG_IS_TS_END(t) ((t).modes == RIG_MODE_NONE && (t).ts == 0)
1562#define RIG_FLT_ANY 0
1563#define RIG_FLT_END {RIG_MODE_NONE, 0}
1564#define RIG_IS_FLT_END(f) ((f).modes == RIG_MODE_NONE)
1565#define DEBUGMSGSAVE_SIZE 24000
1572#define RIG_CHFLAG_NONE 0
1576#define RIG_CHFLAG_SKIP (1<<0)
1580#define RIG_CHFLAG_DATA (1<<1)
1584#define RIG_CHFLAG_PSKIP (1<<2)
1596#define RIG_EXT_END {0, {.i=0}}
1597#define RIG_IS_EXT_END(x) ((x).token == 0)
1736#define RIG_CHAN_END {0,0,RIG_MTYPE_NONE}
1737#define RIG_IS_CHAN_END(c) ((c).type == RIG_MTYPE_NONE)
1743#define RIG_MEM_CAPS_ALL -1
1800#define EMPTY_STR_CAL { 0, { { 0, 0 }, } }
1830#define EMPTY_FLOAT_CAL { 0, { { 0, 0f }, } }
1833typedef int (* confval_cb_t)(
RIG *,
1852 RIG_SPECTRUM_MODE_NONE = 0,
1923#define RIG_MODEL(arg) .rig_model=arg,.macro_name=#arg
1925#define HAMLIB_CHECK_RIG_CAPS "HAMLIB_CHECK_RIG_CAPS"
2050 int (*rig_init)(
RIG *rig);
2051 int (*rig_cleanup)(
RIG *rig);
2052 int (*rig_open)(
RIG *rig);
2053 int (*rig_close)(
RIG *rig);
2066 int (*set_vfo)(
RIG *rig,
vfo_t vfo);
2067 int (*get_vfo)(
RIG *rig,
vfo_t *vfo);
2072 int (*get_dcd)(
RIG *rig,
vfo_t vfo, dcd_t *dcd);
2083 int (*set_split_mode)(
RIG *rig,
2087 int (*get_split_mode)(
RIG *rig,
2092 int (*set_split_freq_mode)(
RIG *rig,
2097 int (*get_split_freq_mode)(
RIG *rig,
2133 int (*power2mW)(
RIG *rig,
2134 unsigned int *mwpower,
2138 int (*mW2power)(
RIG *rig,
2140 unsigned int mwpower,
2173 int (*send_dtmf)(
RIG *rig,
vfo_t vfo,
const char *digits);
2174 int (*recv_dtmf)(
RIG *rig,
vfo_t vfo,
char *digits,
int *length);
2176 int (*send_morse)(
RIG *rig,
vfo_t vfo,
const char *msg);
2177 int (*stop_morse)(
RIG *rig,
vfo_t vfo);
2178 int (*wait_morse)(
RIG *rig,
vfo_t vfo);
2180 int (*send_voice_mem)(
RIG *rig,
vfo_t vfo,
int ch);
2181 int (*stop_voice_mem)(
RIG *rig,
vfo_t vfo);
2183 int (*set_bank)(
RIG *rig,
vfo_t vfo,
int bank);
2185 int (*set_mem)(
RIG *rig,
vfo_t vfo,
int ch);
2186 int (*get_mem)(
RIG *rig,
vfo_t vfo,
int *ch);
2192 int (*set_trn)(
RIG *rig,
int trn);
2193 int (*get_trn)(
RIG *rig,
int *trn);
2195 int (*decode_event)(
RIG *rig);
2200 const char * (*get_info)(
RIG *rig);
2202 int (*set_chan_all_cb)(
RIG *rig,
vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
2203 int (*get_chan_all_cb)(
RIG *rig,
vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
2205 int (*set_mem_all_cb)(
RIG *rig,
2208 confval_cb_t parm_cb,
2210 int (*get_mem_all_cb)(
RIG *rig,
2213 confval_cb_t parm_cb,
2216 int (*set_vfo_opt)(
RIG *rig,
int status);
2217 int (*rig_get_vfo_info) (
RIG *rig,
2223 int(*set_clock) (
RIG *rig,
int year,
int month,
int day,
int hour,
int min,
int sec,
double msec,
int utc_offset);
2224 int(*get_clock) (
RIG *rig,
int *year,
int *month,
int *day,
int *hour,
int *min,
int *sec,
double *msec,
int *utc_offset);
2231 int (*read_frame_direct)(
RIG *rig,
2232 size_t buffer_length,
2233 const unsigned char *buffer);
2234 int (*is_async_frame)(
RIG *rig,
2235 size_t frame_length,
2236 const unsigned char *frame);
2237 int (*process_async_frame)(
RIG *rig,
2238 size_t frame_length,
2239 const unsigned char *frame);
2241 char *hamlib_check_rig_caps;
2243 int (*password)(
RIG *rig,
const char *key1);
2244 int (*set_lock_mode)(
RIG *rig,
int mode);
2245 int (*get_lock_mode)(
RIG *rig,
int *mode);
2260 RIG_FUNCTION_CLEANUP,
2263 RIG_FUNCTION_SET_FREQ,
2264 RIG_FUNCTION_GET_FREQ,
2265 RIG_FUNCTION_SET_MODE,
2266 RIG_FUNCTION_GET_MODE,
2267 RIG_FUNCTION_SET_VFO,
2268 RIG_FUNCTION_GET_VFO,
2269 RIG_FUNCTION_SET_PTT,
2270 RIG_FUNCTION_GET_PTT,
2271 RIG_FUNCTION_GET_DCD,
2272 RIG_FUNCTION_SET_RPTR_SHIFT,
2273 RIG_FUNCTION_GET_RPTR_SHIFT,
2274 RIG_FUNCTION_SET_RPTR_OFFS,
2275 RIG_FUNCTION_GET_RPTR_OFFS,
2276 RIG_FUNCTION_SET_SPLIT_FREQ,
2277 RIG_FUNCTION_GET_SPLIT_FREQ,
2278 RIG_FUNCTION_SET_SPLIT_MODE,
2279 RIG_FUNCTION_SET_SPLIT_FREQ_MODE,
2280 RIG_FUNCTION_GET_SPLIT_FREQ_MODE,
2281 RIG_FUNCTION_SET_SPLIT_VFO,
2282 RIG_FUNCTION_GET_SPLIT_VFO,
2283 RIG_FUNCTION_SET_RIT,
2284 RIG_FUNCTION_GET_RIT,
2285 RIG_FUNCTION_SET_XIT,
2286 RIG_FUNCTION_GET_XIT,
2287 RIG_FUNCTION_SET_TS,
2288 RIG_FUNCTION_GET_TS,
2289 RIG_FUNCTION_SET_DCS_CODE,
2290 RIG_FUNCTION_GET_DCS_CODE,
2291 RIG_FUNCTION_SET_TONE,
2292 RIG_FUNCTION_GET_TONE,
2293 RIG_FUNCTION_SET_CTCSS_TONE,
2294 RIG_FUNCTION_GET_CTCSS_TONE,
2295 RIG_FUNCTION_SET_DCS_SQL,
2296 RIG_FUNCTION_GET_DCS_SQL,
2297 RIG_FUNCTION_SET_TONE_SQL,
2298 RIG_FUNCTION_GET_TONE_SQL,
2299 RIG_FUNCTION_SET_CTCSS_SQL,
2300 RIG_FUNCTION_GET_CTCSS_SQL,
2301 RIG_FUNCTION_POWER2MW,
2302 RIG_FUNCTION_MW2POWER,
2303 RIG_FUNCTION_SET_POWERSTAT,
2304 RIG_FUNCTION_GET_POWERSTAT,
2306 RIG_FUNCTION_SET_ANT,
2307 RIG_FUNCTION_GET_ANT,
2308 RIG_FUNCTION_SET_LEVEL,
2309 RIG_FUNCTION_GET_LEVEL,
2310 RIG_FUNCTION_SET_FUNC,
2311 RIG_FUNCTION_GET_FUNC,
2312 RIG_FUNCTION_SET_PARM,
2313 RIG_FUNCTION_GET_PARM,
2314 RIG_FUNCTION_SET_EXT_LEVEL,
2315 RIG_FUNCTION_GET_EXT_LEVEL,
2316 RIG_FUNCTION_SET_EXT_FUNC,
2317 RIG_FUNCTION_GET_EXT_FUNC,
2318 RIG_FUNCTION_SET_EXT_PARM,
2319 RIG_FUNCTION_GET_EXT_PARM,
2320 RIG_FUNCTION_SET_CONF,
2321 RIG_FUNCTION_GET_CONF,
2322 RIG_FUNCTION_SEND_DTMF,
2323 RIG_FUNCTION_SEND_MORSE,
2324 RIG_FUNCTION_STOP_MORSE,
2325 RIG_FUNCTION_WAIT_MORSE,
2326 RIG_FUNCTION_SEND_VOICE_MEM,
2327 RIG_FUNCTION_SET_BANK,
2328 RIG_FUNCTION_SET_MEM,
2329 RIG_FUNCTION_GET_MEM,
2330 RIG_FUNCTION_VFO_OP,
2332 RIG_FUNCTION_SET_TRN,
2333 RIG_FUNCTION_GET_TRN,
2334 RIG_FUNCTION_DECODE_EVENT,
2335 RIG_FUNCTION_SET_CHANNEL,
2336 RIG_FUNCTION_GET_CHANNEL,
2337 RIG_FUNCTION_GET_INFO,
2338 RIG_FUNCTION_SET_CHAN_ALL_CB,
2339 RIG_FUNCTION_GET_CHAN_ALL_CB,
2340 RIG_FUNCTION_SET_MEM_ALL_CB,
2341 RIG_FUNCTION_GET_MEM_ALL_CB,
2342 RIG_FUNCTION_SET_VFO_OPT,
2343 RIG_FUNCTION_READ_FRAME_DIRECT,
2344 RIG_FUNCTION_IS_ASYNC_FRAME,
2345 RIG_FUNCTION_PROCESS_ASYNC_FRAME,
2346 RIG_FUNCTION_GET_CONF2,
2347 RIG_FUNCTION_STOP_VOICE_MEM,
2362 RIG_CAPS_TARGETABLE_VFO,
2366 RIG_CAPS_HAS_GET_LEVEL,
2367 RIG_CAPS_HAS_SET_LEVEL,
2370enum rig_caps_cptr_e {
2371 RIG_CAPS_VERSION_CPTR,
2372 RIG_CAPS_MFG_NAME_CPTR,
2373 RIG_CAPS_MODEL_NAME_CPTR,
2374 RIG_CAPS_STATUS_CPTR
2389struct hamlib_async_pipe;
2391typedef struct hamlib_async_pipe hamlib_async_pipe_t;
2397#ifndef NO_OLD_INCLUDES
2416#if defined(IN_HAMLIB)
2418#define RIGPORT(r) (&(r)->state.rigport)
2419#define PTTPORT(r) (&(r)->state.pttport)
2420#define DCDPORT(r) (&(r)->state.dcdport)
2422#define AMPPORT(a) (&(a)->state.ampport)
2423#define ROTPORT(r) (&(r)->state.rotport)
2424#define ROTPORT2(r) (&(r)->state.rotport2)
2463#define HAMLIB_ELAPSED_GET 0
2464#define HAMLIB_ELAPSED_SET 1
2465#define HAMLIB_ELAPSED_INVALIDATE 2
2467#define HAMLIB_CACHE_ALWAYS (-1)
2532 struct timespec time_freqCurr;
2533 struct timespec time_freqOther;
2534 struct timespec time_freqMainA;
2535 struct timespec time_freqMainB;
2536 struct timespec time_freqMainC;
2537 struct timespec time_freqSubA;
2538 struct timespec time_freqSubB;
2539 struct timespec time_freqSubC;
2540 struct timespec time_freqMem;
2541 struct timespec time_vfo;
2542 struct timespec time_modeCurr;
2543 struct timespec time_modeOther;
2544 struct timespec time_modeMainA;
2545 struct timespec time_modeMainB;
2546 struct timespec time_modeMainC;
2547 struct timespec time_modeSubA;
2548 struct timespec time_modeSubB;
2549 struct timespec time_modeSubC;
2550 struct timespec time_modeMem;
2551 struct timespec time_widthCurr;
2552 struct timespec time_widthOther;
2553 struct timespec time_widthMainA;
2554 struct timespec time_widthMainB;
2555 struct timespec time_widthMainC;
2556 struct timespec time_widthSubA;
2557 struct timespec time_widthSubB;
2558 struct timespec time_widthSubC;
2559 struct timespec time_widthMem;
2560 struct timespec time_ptt;
2561 struct timespec time_split;
2569#include <hamlib/multicast.h>
2572 int multicast_running;
2575 volatile int runflag;
2580 pthread_mutex_t mutex;
2581 int mutex_initialized;
2584 struct sockaddr_in dest_addr;
2589typedef unsigned int rig_comm_status_t;
2591#define RIG_COMM_STATUS_OK 0x00
2592#define RIG_COMM_STATUS_CONNECTING 0x01
2593#define RIG_COMM_STATUS_DISCONNECTED 0x02
2594#define RIG_COMM_STATUS_TERMINATED 0x03
2595#define RIG_COMM_STATUS_WARNING 0x04
2596#define RIG_COMM_STATUS_ERROR 0x05
2600#ifndef NO_OLD_INCLUDES
2619typedef int (*vfo_cb_t)(
RIG *,
vfo_t, rig_ptr_t);
2621typedef int (*dcd_cb_t)(
RIG *,
vfo_t, dcd_t, rig_ptr_t);
2622typedef int (*pltune_cb_t)(
RIG *,
2627typedef int (*spectrum_cb_t)(
RIG *,
2699extern HAMLIB_EXPORT(
int)
rig_open HAMLIB_PARAMS((
RIG *rig));
2706extern HAMLIB_EXPORT(
int)
2709extern HAMLIB_EXPORT(
int)
2712extern HAMLIB_EXPORT(
void)
2713rig_lock(
RIG *rig,
int lock);
2716#define rig_set_freq(r,v,f) rig_set_freq(r,v,f,__builtin_FUNCTION())
2717extern HAMLIB_EXPORT(
int)
2720 freq_t freq,
const char*));
2722extern HAMLIB_EXPORT(
int)
2728#define rig_get_freq(r,v,f) rig_get_freq(r,v,f,__builtin_FUNCTION())
2729extern HAMLIB_EXPORT(
int)
2732 freq_t *freq,
const char*));
2734extern HAMLIB_EXPORT(
int)
2740extern HAMLIB_EXPORT(
int)
2745extern HAMLIB_EXPORT(
int)
2752#define rig_set_vfo(r,v) rig_set_vfo(r,v,__builtin_FUNCTION())
2753extern HAMLIB_EXPORT(
int)
2755 vfo_t vfo,
const char *func));
2757extern HAMLIB_EXPORT(
int)
2761extern HAMLIB_EXPORT(
int)
2765extern HAMLIB_EXPORT(
int)
2774extern HAMLIB_EXPORT(
int)
2777extern HAMLIB_EXPORT(
int)
2778netrigctl_get_vfo_mode HAMLIB_PARAMS((
RIG *rig));
2780extern HAMLIB_EXPORT(
int)
2784extern HAMLIB_EXPORT(
int)
2789extern HAMLIB_EXPORT(
int)
2794extern HAMLIB_EXPORT(
int)
2798extern HAMLIB_EXPORT(
int)
2803extern HAMLIB_EXPORT(
int)
2807extern HAMLIB_EXPORT(
int)
2812extern HAMLIB_EXPORT(
int)
2816extern HAMLIB_EXPORT(
int)
2821extern HAMLIB_EXPORT(
int)
2825extern HAMLIB_EXPORT(
int)
2830extern HAMLIB_EXPORT(
int)
2834extern HAMLIB_EXPORT(
int)
2839extern HAMLIB_EXPORT(
int)
2843extern HAMLIB_EXPORT(
int)
2848extern HAMLIB_EXPORT(
int)
2852extern HAMLIB_EXPORT(
int)
2857extern HAMLIB_EXPORT(
int)
2862extern HAMLIB_EXPORT(
int)
2868extern HAMLIB_EXPORT(
int)
2874extern HAMLIB_EXPORT(
int)
2881extern HAMLIB_EXPORT(
int)
2886extern HAMLIB_EXPORT(
int)
2892extern HAMLIB_EXPORT(
int)
2896extern HAMLIB_EXPORT(
int)
2901extern HAMLIB_EXPORT(
int)
2905extern HAMLIB_EXPORT(
int)
2910extern HAMLIB_EXPORT(
int)
2914extern HAMLIB_EXPORT(
int)
2919extern HAMLIB_EXPORT(
int)
2921 unsigned int *mwpower,
2925extern HAMLIB_EXPORT(
int)
2928 unsigned int mwpower,
2936extern HAMLIB_EXPORT(
int)
2941extern HAMLIB_EXPORT(
int)
2947#define rig_get_strength(r,v,s) rig_get_level((r),(v),RIG_LEVEL_STRENGTH, (value_t*)(s))
2949extern HAMLIB_EXPORT(
int)
2953extern HAMLIB_EXPORT(
int)
2958extern HAMLIB_EXPORT(
int)
2963HL_DEPRECATED
extern HAMLIB_EXPORT(
int)
2967extern HAMLIB_EXPORT(
int)
2968rig_get_conf2 HAMLIB_PARAMS((
RIG *rig,
2973extern HAMLIB_EXPORT(
int)
2976extern HAMLIB_EXPORT(
int)
2980extern HAMLIB_EXPORT(
int)
2984extern HAMLIB_EXPORT(
int)
2989extern HAMLIB_EXPORT(
int)
2995extern HAMLIB_EXPORT(
int)
3000extern HAMLIB_EXPORT(
int)
3006extern HAMLIB_EXPORT(
int)
3010extern HAMLIB_EXPORT(
int)
3015extern HAMLIB_EXPORT(
int)
3021extern HAMLIB_EXPORT(
int)
3027extern HAMLIB_EXPORT(
int)
3034extern HAMLIB_EXPORT(
const struct confparams *)
3038extern HAMLIB_EXPORT(
const struct confparams *)
3046extern HAMLIB_EXPORT(
int)
3052extern HAMLIB_EXPORT(
const struct confparams *)
3059extern HAMLIB_EXPORT(
int)
3062extern HAMLIB_EXPORT(
int)
3065extern HAMLIB_EXPORT(
int)
3070extern HAMLIB_EXPORT(
int)
3100extern HAMLIB_EXPORT(
int)
3105extern HAMLIB_EXPORT(
int)
3111extern HAMLIB_EXPORT(
int)
3114 const char *digits));
3115extern HAMLIB_EXPORT(
int)
3121extern HAMLIB_EXPORT(
int)
3126extern HAMLIB_EXPORT(
int)
3130extern HAMLIB_EXPORT(
int)
3134extern HAMLIB_EXPORT(
int)
3139extern HAMLIB_EXPORT(
int)
3143extern HAMLIB_EXPORT(
int)
3148extern HAMLIB_EXPORT(
int)
3152extern HAMLIB_EXPORT(
int)
3157extern HAMLIB_EXPORT(
int)
3166extern HAMLIB_EXPORT(
int)
3172extern HAMLIB_EXPORT(
scan_t)
3176extern HAMLIB_EXPORT(
int)
3180extern HAMLIB_EXPORT(
int)
3185extern HAMLIB_EXPORT(
int)
3189extern HAMLIB_EXPORT(
int)
3194extern HAMLIB_EXPORT(
int)
3199extern HAMLIB_EXPORT(
int)
3205extern HAMLIB_EXPORT(
int)
3209 confval_cb_t parm_cb,
3211extern HAMLIB_EXPORT(
int)
3215 confval_cb_t parm_cb,
3218extern HAMLIB_EXPORT(
int)
3224extern HAMLIB_EXPORT(
int)
3231extern HAMLIB_EXPORT(
const chan_t *)
3235extern HAMLIB_EXPORT(
int)
3238extern HAMLIB_EXPORT(
int)
3241extern HAMLIB_EXPORT(
int)
3245extern HAMLIB_EXPORT(
int)
3250extern HAMLIB_EXPORT(
int)
3254extern HAMLIB_EXPORT(
int)
3259extern HAMLIB_EXPORT(
int)
3264extern HAMLIB_EXPORT(
int)
3269extern HAMLIB_EXPORT(
int)
3274extern HAMLIB_EXPORT(
int)
3279extern HAMLIB_EXPORT(
int)
3283extern HAMLIB_EXPORT(
int)
3287extern HAMLIB_EXPORT(
int)
3291extern HAMLIB_EXPORT(
const char *)
3294extern HAMLIB_EXPORT(
struct rig_caps *)
3295rig_get_caps HAMLIB_PARAMS((
rig_model_t rig_model));
3312extern HAMLIB_EXPORT(
const char *)
3313rigerror HAMLIB_PARAMS((
int errnum));
3314extern HAMLIB_EXPORT(
const char *)
3317extern HAMLIB_EXPORT(
int)
3320#define HAMLIB_SETTINGS_FILE "hamlib_settings"
3328extern HAMLIB_EXPORT(
void)
3331extern HAMLIB_EXPORT(
void)
3334extern HAMLIB_EXPORT(
void)
3337#define rig_set_debug_level(level) rig_set_debug(level)
3339extern HAMLIB_EXPORT(
int)
3345extern HAMLIB_EXPORT_VAR(
char) debugmsgsave[DEBUGMSGSAVE_SIZE];
3346extern HAMLIB_EXPORT_VAR(
char) debugmsgsave2[DEBUGMSGSAVE_SIZE];
3348extern HAMLIB_EXPORT_VAR(
char) debugmsgsave3[DEBUGMSGSAVE_SIZE];
3349#define rig_debug_clear() { debugmsgsave[0] = debugmsgsave2[0] = debugmsgsave3[0] = 0; };
3353#define rig_debug(debug_level,fmt,...) do { snprintf(debugmsgsave2,sizeof(debugmsgsave2),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); add2debugmsgsave(debugmsgsave2); } while(0)
3358#define ELAPSED1 struct timespec __begin; elapsed_ms(&__begin, HAMLIB_ELAPSED_SET);
3359#define ELAPSED2 rig_debug(RIG_DEBUG_VERBOSE, "%s%d:%s: elapsed=%.0lfms\n", spaces(STATE(rig)->depth), STATE(rig)->depth, __func__, elapsed_ms(&__begin, HAMLIB_ELAPSED_GET));
3362#define SNPRINTF(s,n,...) { if (snprintf(s,n,##__VA_ARGS__) >= (n)) fprintf(stderr,"***** %s(%d): message truncated *****\n", __func__, __LINE__); }
3364extern HAMLIB_EXPORT(
void)
3366 const char *fmt, ...));
3368extern HAMLIB_EXPORT(vprintf_cb_t)
3372extern HAMLIB_EXPORT(FILE *)
3375extern HAMLIB_EXPORT(
int)
3376rig_register HAMLIB_PARAMS((
struct rig_caps *caps));
3378extern HAMLIB_EXPORT(
int)
3379rig_unregister HAMLIB_PARAMS((
rig_model_t rig_model));
3381extern HAMLIB_EXPORT(
int)
3382rig_list_foreach HAMLIB_PARAMS((
int (*cfunc)(
const struct rig_caps *, rig_ptr_t),
3385extern HAMLIB_EXPORT(
int)
3386rig_list_foreach_model HAMLIB_PARAMS((
int (*cfunc)(
const rig_model_t rig_model, rig_ptr_t),
3389extern HAMLIB_EXPORT(
int)
3390rig_load_backend HAMLIB_PARAMS((
const char *be_name));
3392extern HAMLIB_EXPORT(
int)
3393rig_check_backend HAMLIB_PARAMS((
rig_model_t rig_model));
3395extern HAMLIB_EXPORT(
int)
3396rig_load_all_backends HAMLIB_PARAMS((
void));
3400extern HAMLIB_EXPORT(
int)
3438extern HAMLIB_EXPORT(
const char *)
rig_license HAMLIB_PARAMS((
void));
3439extern HAMLIB_EXPORT(
const char *)
rig_version HAMLIB_PARAMS((
void));
3440extern HAMLIB_EXPORT(
const char *)
rig_copyright HAMLIB_PARAMS((
void));
3442extern HAMLIB_EXPORT(
void) rig_no_restore_ai(
void);
3444extern HAMLIB_EXPORT(
int) rig_get_cache_timeout_ms(
RIG *rig, hamlib_cache_t selection);
3445extern HAMLIB_EXPORT(
int) rig_set_cache_timeout_ms(
RIG *rig, hamlib_cache_t selection,
int ms);
3449extern HAMLIB_EXPORT(
int)
rig_get_rig_info(
RIG *rig,
char *response,
int max_response_len);
3453extern HAMLIB_EXPORT(
int)
rig_set_clock(
RIG *rig,
int year,
int month,
int day,
int hour,
int min,
int sec,
double msec,
int utc_offset);
3454extern HAMLIB_EXPORT(
int)
rig_get_clock(
RIG *rig,
int *year,
int *month,
int *day,
int *hour,
int *min,
int *sec,
double *msec,
int *utc_offset);
3456typedef unsigned long rig_useconds_t;
3457extern HAMLIB_EXPORT(
int) hl_usleep(rig_useconds_t msec);
3459extern HAMLIB_EXPORT(
int)
rig_cookie(
RIG *rig,
enum cookie_e cookie_cmd,
char *cookie,
int cookie_len);
3461extern HAMLIB_EXPORT(
int) rig_password(
RIG *rig,
const char *key1);
3462extern HAMLIB_EXPORT(
void) rig_password_generate_secret(
char *pass,
3463 char result[HAMLIB_SECRET_LENGTH + 1]);
3464extern HAMLIB_EXPORT(
int)
rig_send_raw(
RIG *rig,
const unsigned char* send,
int send_len,
unsigned char* reply,
int reply_len,
unsigned char *term);
3466extern HAMLIB_EXPORT(
int)
3472extern HAMLIB_EXPORT(
int)
3475 const char *locator));
3477extern HAMLIB_EXPORT(
char*) rig_make_md5(
const char *pass);
3479extern HAMLIB_EXPORT(
int) rig_set_lock_mode(
RIG *rig,
int lock);
3480extern HAMLIB_EXPORT(
int) rig_get_lock_mode(
RIG *rig,
int *lock);
3482extern HAMLIB_EXPORT(
int) rig_is_model(
RIG *rig,
rig_model_t model);
3484extern HAMLIB_EXPORT(
char*) rig_date_strget(
char *buf,
int buflen,
int localtime);
3486enum GPIO { GPIO1, GPIO2, GPIO3, GPIO4 };
3487extern HAMLIB_EXPORT(
int) rig_cm108_get_bit(
hamlib_port_t *p,
enum GPIO gpio,
int *bit);
3488extern HAMLIB_EXPORT(
int) rig_cm108_set_bit(
hamlib_port_t *p,
enum GPIO gpio,
int bit);
void add2debugmsgsave(const char *s)
Handle stack trace messages.
Definition rig.c:426
struct hamlib_port_deprecated hamlib_port_t_deprecated
struct hamlib_port hamlib_port_t
Port definition.
setting_t rig_parse_parm(const char *s)
Convert alpha string to RIG_PARM_...
Definition misc.c:1306
vfo_t rig_parse_vfo(const char *s)
Convert alpha string to enum RIG_VFO_...
Definition misc.c:643
const char * rig_strparm(setting_t parm)
Convert enum RIG_PARM_... to alpha string.
Definition misc.c:1356
const char * rig_strspectrummode(enum rig_spectrum_mode_e mode)
Convert enum RIG_SPECTRUM_MODE_... to alpha string.
Definition misc.c:1814
int rig_strrmodes(rmode_t modes, char *buf, int buflen)
Convert RIG_MODE or'd value to alpha string of all modes.
Definition misc.c:574
const char * rig_strvfo(vfo_t vfo)
Convert enum RIG_VFO_... to alpha string.
Definition misc.c:672
const char * rig_strscan(scan_t rscan)
Convert enum RIG_SCAN_... to alpha string.
Definition misc.c:1649
rptr_shift_t rig_parse_rptr_shift(const char *s)
Convert alpha char to enum RIG_RPT_SHIFT_...
Definition misc.c:1703
enum agc_level_e rig_levelagcstr(const char *agcString)
Convert AGC string... to agc_level_e.
Definition misc.c:1508
const char * rig_strfunc(setting_t func)
Convert enum RIG_FUNC_... to alpha string.
Definition misc.c:889
value_t rig_valueagclevel(enum agc_level_e agcLevel)
Convert a enum agc_level_e to value.
Definition misc.c:1457
const char * rig_strptrshift(rptr_shift_t shift)
convert enum RIG_RPT_SHIFT_... to printable character
Definition misc.c:1678
uint64_t rig_idx2setting(int i)
Definition misc.c:801
chan_type_t rig_parse_mtype(const char *s)
Convert alpha string to enum RIG_MTYPE_...
Definition misc.c:1749
const char * rig_stragclevel(enum agc_level_e level)
Convert enum RIG_AGC_... to alpha string.
Definition misc.c:1432
enum agc_level_e rig_levelagcvalue(int agcValue)
Convert a value to agc_level_e – constrains the range.
Definition misc.c:1477
const char * rig_strcommstatus(rig_comm_status_t status)
Convert enum RIG_COMM_STATUS... to alpha string.
Definition misc.c:2746
const char * rig_strstatus(enum rig_status_e status)
Convert enum RIG_STATUS_... to printable string.
Definition misc.c:429
setting_t rig_parse_level(const char *s)
Convert alpha string to enum RIG_LEVEL_...
Definition misc.c:1101
scan_t rig_parse_scan(const char *s)
Convert alpha string to enum RIG_SCAN_...
Definition misc.c:1624
const char * rig_strrmode(rmode_t mode)
Convert enum RIG_MODE to alpha string.
Definition misc.c:542
setting_t rig_parse_func(const char *s)
Convert alpha string to enum RIG_FUNC_...
Definition misc.c:813
const char * rig_strmtype(chan_type_t mtype)
Convert enum RIG_MTYPE_... to alpha string.
Definition misc.c:1774
rmode_t rig_parse_mode(const char *s)
Convert alpha string to enum RIG_MODE.
Definition misc.c:515
const char * rig_strvfop(vfo_op_t op)
Convert enum RIG_OP_... to alpha string.
Definition misc.c:1579
const char * rig_strlevel(setting_t level)
Convert enum RIG_LEVEL_... to alpha string.
Definition misc.c:1182
int rig_flush_force(hamlib_port_t *port, int flush_async_data)
Force flush of rig communication data buffers.
Definition misc.c:2252
vfo_op_t rig_parse_vfo_op(const char *s)
Convert alpha string to enum RIG_OP_...
Definition misc.c:1554
const char * rig_get_info(RIG *rig)
get general information from the radio
Definition rig.c:7946
int rig_set_vfo(RIG *rig, vfo_t vfo)
set the current VFO
Definition rig.c:3366
unsigned int vfo_t
VFO definition.
Definition rig.h:544
int rig_get_split_freq_mode(RIG *rig, vfo_t vfo, freq_t *tx_freq, rmode_t *tx_mode, pbwidth_t *tx_width)
get the current split frequency and mode
Definition rig.c:5656
int rig_send_dtmf(RIG *rig, vfo_t vfo, const char *digits)
send DTMF digits
Definition rig.c:7328
int rig_set_twiddle(RIG *rig, int seconds)
timeout (secs) to stop rigctld when VFO is manually changed
Definition rig.c:1964
struct chan_list chan_t
chan_t type
Definition rig.h:1748
unsigned int ant_t
Antenna typedef.
Definition rig.h:1015
meter_level_e
Level display meters.
Definition rig.h:1039
int rig_get_rig_info(RIG *rig, char *response, int max_response_len)
get freq/mode/width for requested VFO
Definition rig.c:8013
int rig_get_mem_all(RIG *rig, vfo_t vfo, channel_t chans[], const struct confparams cfgps[], value_t vals[])
get all channel and non-channel data
Definition mem.c:1527
int rig_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
get the status of the DCD
Definition rig.c:4278
serial_parity_e
Serial parity.
Definition rig.h:359
int rig_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split, vfo_t *tx_vfo)
get the current split mode
Definition rig.c:5995
int rig_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
get the mode of the target VFO
Definition rig.c:3035
int rig_get_cache(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq, rmode_t *mode, int *cache_ms_mode, pbwidth_t *width, int *cache_ms_width)
get cached values for a VFO
Definition cache.c:311
int rig_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan)
set channel data
Definition mem.c:683
int rig_set_split_vfo(RIG *rig, vfo_t rx_vfo, split_t split, vfo_t tx_vfo)
set the split mode
Definition rig.c:5744
dcd_e
Definition rig.h:680
struct cal_table cal_table_t
calibration table type
Definition rig.h:1797
hamlib_token_t rig_ext_token_lookup(RIG *rig, const char *name)
Simple lookup returning token id associated with name.
Definition ext.c:323
int rig_set_freq_callback(RIG *rig, freq_cb_t cb, rig_ptr_t arg)
set the callback for freq events
Definition event.c:374
hamlib_band_t
Band enumeration.
Definition rig.h:808
const char * hamlib_copyright2
Hamlib copyright notice.
Definition rig.c:125
int rig_get_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t *rptr_offs)
get the current repeater offset
Definition rig.c:4662
int rig_get_ext_func(RIG *rig, vfo_t vfo, hamlib_token_t token, int *status)
get the value of a function extra parameter
Definition settings.c:858
int rig_set_powerstat(RIG *rig, powerstat_t status)
turn on/off the radio
Definition rig.c:6902
int rig_get_powerstat(RIG *rig, powerstat_t *status)
get the on/off status of the radio
Definition rig.c:6954
int rig_set_dcs_sql(RIG *rig, vfo_t vfo, tone_t code)
set the current DCS code
Definition tones.c:496
long hamlib_token_t
configuration token
Definition rig.h:893
serial_control_state_e
Serial control state.
Definition rig.h:381
int rig_set_mem(RIG *rig, vfo_t vfo, int ch)
set the current memory channel number
Definition mem.c:67
int rig_power2mW(RIG *rig, unsigned int *mwpower, float power, freq_t freq, rmode_t mode)
conversion utility from relative range to absolute in mW
Definition rig.c:6721
setting_t rig_has_set_func(RIG *rig, setting_t func)
check ability of radio functions
Definition settings.c:468
int rig_get_vfo(RIG *rig, vfo_t *vfo)
get the current VFO
Definition rig.c:3513
int rig_set_split_freq_mode(RIG *rig, vfo_t vfo, freq_t tx_freq, rmode_t tx_mode, pbwidth_t tx_width)
set the split frequency and mode
Definition rig.c:5514
uint64_t rmode_t
Radio mode.
Definition rig.h:1392
int rig_set_vfo_callback(RIG *rig, vfo_cb_t cb, rig_ptr_t arg)
set the callback for vfo events
Definition event.c:430
shortfreq_t pbwidth_t
Definition rig.h:676
int rig_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
set a radio level setting
Definition settings.c:74
int rig_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit)
get the current RIT offset
Definition rig.c:6166
int rig_cleanup(RIG *rig)
release a rig handle and free associated memory
Definition rig.c:1920
rig_type_t
Rig type flags.
Definition rig.h:391
int rig_get_mem(RIG *rig, vfo_t vfo, int *ch)
get the current memory channel number
Definition mem.c:130
int rig_set_mem_all(RIG *rig, vfo_t vfo, const channel_t chans[], const struct confparams cfgps[], const value_t vals[])
set all channel and non-channel data
Definition mem.c:1459
int rig_set_ext_parm(RIG *rig, hamlib_token_t token, value_t val)
set a radio parm extra parameter
Definition settings.c:923
enum rig_port_e rig_port_t
Port type.
split_t
Split mode.
Definition rig.h:473
int rig_get_vfo_list(RIG *rig, char *buf, int buflen)
get list of available vfos
Definition rig.c:8201
rptr_shift_t
Repeater shift type.
Definition rig.h:463
const char * rig_license()
get the Hamlib license
Definition rig.c:8259
int rig_set_mem_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t arg)
set all channel and non-channel data by call-back
Definition mem.c:1325
int rig_get_dcs_sql(RIG *rig, vfo_t vfo, tone_t *code)
get the current DCS code
Definition tones.c:559
scan_t rig_has_scan(RIG *rig, scan_t scan)
check availability of scanning functions
Definition rig.c:7223
client_e
Definition rig.h:762
int rig_get_clock(RIG *rig, int *year, int *month, int *day, int *hour, int *min, int *sec, double *msec, int *utc_offset)
get the rig's clock
Definition rig.c:8238
int rig_get_mem_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, confval_cb_t parm_cb, rig_ptr_t arg)
get all channel and non-channel data by call-back
Definition mem.c:1393
int rig_set_ctcss_sql(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS squelch
Definition tones.c:365
ann_t
Announce.
Definition rig.h:958
int rig_set_dcs_code(RIG *rig, vfo_t vfo, tone_t code)
set the current encoding DCS code
Definition tones.c:231
int rig_set_dcd_callback(RIG *rig, dcd_cb_t cb, rig_ptr_t arg)
set the callback for dcd events
Definition event.c:486
int rig_get_channel(RIG *rig, vfo_t vfox, channel_t *chan, int read_only)
get channel data
Definition mem.c:827
int rig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
get the frequency of the target VFO
Definition rig.c:2494
int rig_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
activate/de-activate functions of radio
Definition settings.c:499
int rig_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
get the status of the PTT
Definition rig.c:3953
int rig_get_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg)
get all channel data, by callback
Definition mem.c:1125
int rig_mW2power(RIG *rig, float *power, unsigned int mwpower, freq_t freq, rmode_t mode)
conversion utility from absolute in mW to relative range
Definition rig.c:6795
int rig_set_bank(RIG *rig, vfo_t vfo, int bank)
set the current memory bank
Definition mem.c:193
const struct confparams * rig_ext_lookup_tok(RIG *rig, hamlib_token_t token)
lookup ext token, return pointer to confparams struct.
Definition ext.c:278
int rig_ext_func_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, rig_ptr_t), rig_ptr_t data)
Executes cfunc on all the elements stored in the extfuncs table.
Definition ext.c:81
const char * rig_version()
get the Hamlib version
Definition rig.c:8269
int rig_get_ctcss_sql(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS squelch
Definition tones.c:433
FILE * rig_set_debug_file(FILE *stream)
Change the output stream from stderr to a different stream.
Definition debug.c:333
int rig_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit)
get the current XIT offset
Definition rig.c:6316
const char * rig_get_caps_cptr(rig_model_t rig_model, enum rig_caps_cptr_e rig_caps)
Function to return char pointer value from rig->caps.
Definition misc.c:2691
int rig_set_spectrum_callback(RIG *rig, spectrum_cb_t cb, rig_ptr_t arg)
set the callback for spectrum line reception events
Definition event.c:544
int rig_get_parm(RIG *rig, setting_t parm, value_t *val)
get the value of a parameter
Definition settings.c:286
uint64_t rig_get_caps_int(rig_model_t rig_model, enum rig_caps_int_e rig_caps)
Function to return int value from rig->caps Does not support > 32-bit rig_caps values.
Definition misc.c:2645
rig_caps_int_e
Enumeration of rig->caps values.
Definition rig.h:2361
int rig_get_trn(RIG *rig, int *trn)
get the current transceive mode
Definition event.c:601
int rig_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
set the repeater offset
Definition rig.c:4585
int rig_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
get the current CTCSS sub-tone frequency
Definition tones.c:167
setting_t rig_has_set_level(RIG *rig, setting_t level)
check settable ability of level settings
Definition settings.c:350
rig_parm_e
Rig Parameters.
Definition rig.h:1169
int rig_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
set the antenna
Definition rig.c:6548
void rig_set_debug_time_stamp(int flag)
Enable or disable the time stamp on debugging output.
Definition debug.c:189
shortfreq_t rig_get_resolution(RIG *rig, rmode_t mode)
get the best frequency resolution of the rig
Definition rig.c:6860
int rig_get_vfo_info(RIG *rig, vfo_t vfo, freq_t *freq, rmode_t *mode, pbwidth_t *width, split_t *split, int *satmode)
get freq/mode/width for requested VFO
Definition rig.c:8120
pbwidth_t rig_passband_wide(RIG *rig, rmode_t mode)
get the wide passband of a mode
Definition rig.c:3307
struct channel channel_t
Channel structure typedef.
Definition rig.h:1645
uint64_t setting_t
Setting bit mask.
Definition rig.h:1234
powerstat_t
Radio power state.
Definition rig.h:738
multicast_item_e
Multicast data items 3 different data item can be included in the multicast JSON.
Definition rig.h:1212
setting_t rig_has_get_func(RIG *rig, setting_t func)
check ability of radio functions
Definition settings.c:438
int rig_set_uplink(RIG *rig, int val)
For GPredict to avoid reading frequency on uplink VFO.
Definition rig.c:1988
int rig_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
get the status of functions of the radio
Definition settings.c:596
int rig_set_split_freq(RIG *rig, vfo_t vfo, freq_t tx_freq)
set the split frequencies
Definition rig.c:4745
int rig_probe_all(hamlib_port_t *port, rig_probe_func_t cfunc, rig_ptr_t data)
try to guess rigs
Definition rig.c:7082
rig_errcode_e
Hamlib error codes.
Definition rig.h:209
int rig_ext_parm_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, rig_ptr_t), rig_ptr_t data)
Executes cfunc on all the elements stored in the extparms table.
Definition ext.c:181
rig_conf_e
parameter types
Definition rig.h:915
scan_t
Rig Scan operation.
Definition rig.h:877
int rig_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
send voice memory content
Definition rig.c:7764
int rig_recv_dtmf(RIG *rig, vfo_t vfo, char *digits, int *length)
receive DTMF digits
Definition rig.c:7405
int rig_set_mode_callback(RIG *rig, mode_cb_t cb, rig_ptr_t arg)
set the callback for mode events
Definition event.c:402
int rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
set the frequency of the target VFO
Definition rig.c:2146
int rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
set PTT on/off
Definition rig.c:3617
int rig_set_ext_level(RIG *rig, vfo_t vfo, hamlib_token_t token, value_t val)
set a radio level extra parameter
Definition settings.c:661
const char * hamlib_version2
Hamlib version string.
Definition rig.c:112
double freq_t
Frequency type.
Definition rig.h:484
int rig_scan(RIG *rig, vfo_t vfo, scan_t scan, int ch)
perform Memory/VFO operations
Definition rig.c:7256
cookie_e
Rig Cookie enumerations.
Definition rig.h:1202
int rig_send_morse(RIG *rig, vfo_t vfo, const char *msg)
send morse code
Definition rig.c:7481
void * rig_get_function_ptr(rig_model_t rig_model, enum rig_function_e rig_function)
Function to return pointer to rig_* function.
Definition misc.c:2352
int rig_setting2idx(setting_t s)
basically convert setting_t expressed 2^n to n
Definition settings.c:982
int rig_mem_count(RIG *rig)
get memory channel count
Definition mem.c:1651
ptt_t
PTT status.
Definition rig.h:707
const chan_t * rig_lookup_mem_caps(RIG *rig, int ch)
lookup the memory type and capabilities
Definition mem.c:1586
dcd_type_e
DCD (Data Carrier Detect) type.
Definition rig.h:691
RIG * rig_init(rig_model_t rig_model)
Allocate a new RIG handle.
Definition rig.c:616
setting_t rig_has_get_parm(RIG *rig, setting_t parm)
check retrieval ability of parameter settings
Definition settings.c:380
int rig_ext_level_foreach(RIG *rig, int(*cfunc)(RIG *, const struct confparams *, rig_ptr_t), rig_ptr_t data)
Executes cfunc on all the elements stored in the extlevels table.
Definition ext.c:131
int rig_get_ext_level(RIG *rig, vfo_t vfo, hamlib_token_t token, value_t *val)
get the value of a level extra parameter
Definition settings.c:727
int rig_set_pltune_callback(RIG *rig, pltune_cb_t cb, rig_ptr_t arg)
set the callback for pipelined tuning module
Definition event.c:516
int rig_get_conf(RIG *rig, hamlib_token_t token, char *val)
get the value of a configuration parameter
Definition conf.c:1558
struct freq_range_list freq_range_t
Frequency range.
int rig_set_clock(RIG *rig, int year, int month, int day, int hour, int min, int sec, double msec, int utc_offset)
set the rig's clock
Definition rig.c:8220
int rig_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
set CTCSS sub-tone frequency
Definition tones.c:99
int rig_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
set the mode of the target VFO
Definition rig.c:2834
vfo_op_t
VFO operation.
Definition rig.h:784
int rig_get_ts(RIG *rig, vfo_t vfo, shortfreq_t *ts)
get the current Tuning Step
Definition rig.c:6466
enum ptt_type_e ptt_type_t
PTT (Push To Talk) type.
signed long shortfreq_t
Short frequency type.
Definition rig.h:506
void rig_get_debug(enum rig_debug_level_e *debug_level)
Get the current debug level.
Definition debug.c:159
vprintf_cb_t rig_set_debug_callback(vprintf_cb_t cb, rig_ptr_t arg)
Set callback to handle debugging messages.
Definition debug.c:315
const char * rig_copyright()
get the Hamlib copyright
Definition rig.c:8279
int rig_need_debug(enum rig_debug_level_e debug_level)
Test if a given debug level is active.
Definition debug.c:175
rig_port_e
Port type.
Definition rig.h:338
int rig_wait_morse(RIG *rig, vfo_t vfo)
wait morse code
Definition rig.c:7693
int rig_close(RIG *rig)
close the communication to the rig
Definition rig.c:1746
pbwidth_t rig_passband_narrow(RIG *rig, rmode_t mode)
get the narrow passband of a mode
Definition rig.c:3254
serial_handshake_e
Serial handshake.
Definition rig.h:371
const char * rigerror(int errnum)
Add error message to debug output.
Definition rig.c:520
int rig_get_cache_freq(RIG *rig, vfo_t vfo, freq_t *freq, int *cache_ms_freq_p)
get cached values for a VFO
Definition cache.c:553
agc_level_e
AGC delay settings.
Definition rig.h:409
unsigned int tone_t
CTCSS and DCS type definition.
Definition rig.h:328
int rig_get_chan_all(RIG *rig, vfo_t vfo, channel_t chans[])
get all channel data
Definition mem.c:1209
int rig_set_chan_all(RIG *rig, vfo_t vfo, const channel_t chans[])
set all channel data
Definition mem.c:1166
int rig_set_vfo_opt(RIG *rig, int status)
set the vfo option for rigctld
Definition rig.c:7907
int rig_set_ptt_callback(RIG *rig, ptt_cb_t cb, rig_ptr_t arg)
set the callback for ptt events
Definition event.c:458
pbwidth_t rig_passband_normal(RIG *rig, rmode_t mode)
get the normal passband of a mode
Definition rig.c:3203
rig_debug_level_e
Hamlib debug levels.
Definition rig.h:259
#define RIG_SETTING_MAX
Maximum # of rig settings.
Definition rig.h:1240
const struct confparams * rig_ext_lookup(RIG *rig, const char *name)
lookup ext token by its name, return pointer to confparams struct.
Definition ext.c:231
setting_t rig_has_set_parm(RIG *rig, setting_t parm)
check settable ability of parameter settings
Definition settings.c:409
struct channel_cap channel_cap_t
Channel cap.
Definition rig.h:1687
struct s_rig RIG
Rig structure definition (see rig for details).
Definition rig.h:290
int rig_set_ext_func(RIG *rig, vfo_t vfo, hamlib_token_t token, int status)
set a radio function extra parameter
Definition settings.c:792
const struct confparams * rig_confparam_lookup(RIG *rig, const char *name)
lookup a confparam struct
Definition conf.c:1392
int rig_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit)
set the RIT
Definition rig.c:6094
hamlib_bandselect_t
Definition rig.h:828
int rig_stop_voice_mem(RIG *rig, vfo_t vfo)
stop sending voice memory
Definition rig.c:7833
int rig_get_twiddle(RIG *rig, int *seconds)
get the twiddle timeout value (secs)
Definition rig.c:2015
int rig_set_ts(RIG *rig, vfo_t vfo, shortfreq_t ts)
set the Tuning Step
Definition rig.c:6394
int rig_get_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t *option, ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx)
get the current antenna
Definition rig.c:6628
int rig_open(RIG *rig)
open the communication to the rig
Definition rig.c:1039
int rig_set_parm(RIG *rig, setting_t parm, value_t val)
set a radio parameter
Definition settings.c:252
enum dcd_type_e dcd_type_t
DCD (Data Carrier Detect) type.
int rig_get_dcs_code(RIG *rig, vfo_t vfo, tone_t *code)
get the current encoding DCS code
Definition tones.c:294
hamlib_token_t rig_token_lookup(RIG *rig, const char *name)
lookup a token id
Definition conf.c:1466
int rig_stop_morse(RIG *rig, vfo_t vfo)
stop morse code
Definition rig.c:7578
ptt_type_e
PTT (Push To Talk) type.
Definition rig.h:722
setting_t rig_has_get_level(RIG *rig, setting_t level)
check retrieval ability of level settings
Definition settings.c:320
uint64_t rig_level_e
Rig Level Settings.
Definition rig.h:1081
int rig_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
get the value of a level
Definition settings.c:157
const char * rigerror2(int errnum)
Get the string describing the passed error code.
Definition rig.c:492
int rig_set_chan_all_cb(RIG *rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t arg)
set all channel data, by callback
Definition mem.c:1078
int rig_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode, pbwidth_t tx_width)
set the split modes
Definition rig.c:5112
int rig_reset(RIG *rig, reset_t reset)
reset the radio
Definition rig.c:7009
struct gran gran_t
gran_t type
Definition rig.h:1771
int rig_token_foreach(RIG *rig, int(*cfunc)(const struct confparams *, rig_ptr_t), rig_ptr_t data)
call a function against each configuration token of a rig
Definition conf.c:1330
int rig_set_trn(RIG *rig, int trn)
control the transceive mode
Definition event.c:577
vfo_op_t rig_has_vfo_op(RIG *rig, vfo_op_t op)
check retrieval ability of VFO operations
Definition rig.c:7111
int rig_get_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t *rptr_shift)
get the current repeater shift
Definition rig.c:4501
int rig_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode, pbwidth_t *tx_width)
get the current split modes
Definition rig.c:5350
int rig_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t rptr_shift)
set the repeater shift
Definition rig.c:4423
reset_t
Reset operation.
Definition rig.h:750
rig_function_e
Enumeration of all rig_ functions.
Definition rig.h:2258
int rig_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq)
get the current split frequencies
Definition rig.c:4935
void rig_set_debug(enum rig_debug_level_e debug_level)
Change the current debug level.
Definition debug.c:146
const freq_range_t * rig_get_range(const freq_range_t *range_list, freq_t freq, rmode_t mode)
find the freq_range of freq/mode
Definition rig.c:7871
int rig_get_ext_parm(RIG *rig, hamlib_token_t token, value_t *val)
get the value of a parm extra parameter
Definition settings.c:955
int rig_vfo_op(RIG *rig, vfo_t vfo, vfo_op_t op)
perform Memory/VFO operations
Definition rig.c:7140
rig_status_e
Development status of the backend.
Definition rig.h:443
int rig_set_xit(RIG *rig, vfo_t vfo, shortfreq_t xit)
set the XIT
Definition rig.c:6244
int rig_set_conf(RIG *rig, hamlib_token_t token, const char *val)
set a radio configuration parameter
Definition conf.c:1497
void rig_debug(enum rig_debug_level_e debug_level, const char *fmt,...)
Print debugging messages through stderr by default.
Definition debug.c:205
struct cal_table_float cal_table_float_t
calibration table type for float values
Definition rig.h:1827
int rig_cookie(RIG *rig, enum cookie_e cookie_cmd, char *cookie, int cookie_len)
get a cookie to grab rig control
Definition rig.c:8308
rig_spectrum_mode_e
Spectrum scope modes.
Definition rig.h:1851
rig_model_t rig_probe(hamlib_port_t *port)
try to guess a rig
Definition rig.c:7054
chan_type_t
Memory channel type definition.
Definition rig.h:1700
@ RIG_PARITY_MARK
Definition rig.h:363
@ RIG_PARITY_NONE
Definition rig.h:360
@ RIG_PARITY_EVEN
Definition rig.h:362
@ RIG_PARITY_SPACE
Definition rig.h:364
@ RIG_PARITY_ODD
Definition rig.h:361
@ RIG_DCD_ON
Definition rig.h:682
@ RIG_DCD_OFF
Definition rig.h:681
@ RIG_BAND_AIR
Definition rig.h:823
@ RIG_BAND_UNUSED
Definition rig.h:822
@ RIG_BAND_20M
Definition rig.h:814
@ RIG_BAND_12M
Definition rig.h:817
@ RIG_BAND_60M
Definition rig.h:811
@ RIG_BAND_10M
Definition rig.h:818
@ RIG_BAND_430MHZ
Definition rig.h:825
@ RIG_BAND_40M
Definition rig.h:812
@ RIG_BAND_15M
Definition rig.h:816
@ RIG_BAND_GEN
Definition rig.h:820
@ RIG_BAND_30M
Definition rig.h:813
@ RIG_BAND_144MHZ
Definition rig.h:824
@ RIG_BAND_80M
Definition rig.h:810
@ RIG_BAND_MW
Definition rig.h:821
@ RIG_BAND_6M
Definition rig.h:819
@ RIG_BAND_17M
Definition rig.h:815
@ RIG_BAND_160M
Definition rig.h:809
@ RIG_SIGNAL_ON
Definition rig.h:383
@ RIG_SIGNAL_OFF
Definition rig.h:384
@ RIG_SIGNAL_UNSET
Definition rig.h:382
@ RIG_FLAG_COMPUTER
Definition rig.h:397
@ RIG_FLAG_TUNER
Definition rig.h:402
@ RIG_FLAG_SCANNER
Definition rig.h:394
@ RIG_FLAG_TRANSMITTER
Definition rig.h:393
@ RIG_FLAG_MOBILE
Definition rig.h:395
@ RIG_FLAG_TRUNKING
Definition rig.h:398
@ RIG_FLAG_APRS
Definition rig.h:399
@ RIG_FLAG_TNC
Definition rig.h:400
@ RIG_FLAG_HANDHELD
Definition rig.h:396
@ RIG_FLAG_DXCLUSTER
Definition rig.h:401
@ RIG_FLAG_RECEIVER
Definition rig.h:392
@ RIG_SPLIT_ON
Definition rig.h:475
@ RIG_SPLIT_OFF
Definition rig.h:474
@ RIG_RPT_SHIFT_PLUS
Definition rig.h:466
@ RIG_RPT_SHIFT_MINUS
Definition rig.h:465
@ RIG_RPT_SHIFT_NONE
Definition rig.h:464
@ RIG_CLIENT_WSJTX
Definition rig.h:764
@ RIG_CLIENT_UNKNOWN
Definition rig.h:763
@ RIG_CLIENT_GPREDICT
Definition rig.h:765
@ RIG_ANN_RXMODE
Definition rig.h:962
@ RIG_ANN_OFF
Definition rig.h:960
@ RIG_ANN_ENG
Definition rig.h:964
@ RIG_ANN_FREQ
Definition rig.h:961
@ RIG_ANN_NONE
Definition rig.h:959
@ RIG_ANN_CW
Definition rig.h:963
@ RIG_ANN_JAP
Definition rig.h:965
@ RIG_PARM_BEEP
Definition rig.h:1174
@ RIG_PARM_AFIF_LAN
Definition rig.h:1182
@ RIG_PARM_AFIF_WLAN
Definition rig.h:1183
@ RIG_PARM_BANDSELECT
Definition rig.h:1180
@ RIG_PARM_TIME
Definition rig.h:1175
@ RIG_PARM_SCREENSAVER
Definition rig.h:1178
@ RIG_PARM_ANN
Definition rig.h:1171
@ RIG_PARM_AFIF
Definition rig.h:1179
@ RIG_PARM_NONE
Definition rig.h:1170
@ RIG_PARM_KEYERTYPE
Definition rig.h:1181
@ RIG_PARM_AFIF_ACC
Definition rig.h:1184
@ RIG_PARM_BACKLIGHT
Definition rig.h:1173
@ RIG_PARM_KEYLIGHT
Definition rig.h:1177
@ RIG_PARM_BAT
Definition rig.h:1176
@ RIG_PARM_APO
Definition rig.h:1172
@ RIG_POWER_OPERATE
Definition rig.h:742
@ RIG_POWER_UNKNOWN
Definition rig.h:743
@ RIG_POWER_STANDBY
Definition rig.h:741
@ RIG_POWER_OFF
Definition rig.h:739
@ RIG_POWER_ON
Definition rig.h:740
@ RIG_ENIMPL
Definition rig.h:214
@ RIG_ECONF
Definition rig.h:212
@ RIG_ELIMIT
Definition rig.h:231
@ RIG_ENAVAIL
Definition rig.h:221
@ RIG_OK
Definition rig.h:210
@ RIG_EPROTO
Definition rig.h:218
@ RIG_EINTERNAL
Definition rig.h:217
@ RIG_EDOM
Definition rig.h:227
@ RIG_EIO
Definition rig.h:216
@ RIG_EVFO
Definition rig.h:226
@ RIG_ETIMEOUT
Definition rig.h:215
@ RIG_ENOMEM
Definition rig.h:213
@ RIG_EARG
Definition rig.h:225
@ RIG_EPOWER
Definition rig.h:230
@ RIG_EACCESS
Definition rig.h:232
@ RIG_ERJCTED
Definition rig.h:219
@ RIG_ESECURITY
Definition rig.h:229
@ RIG_BUSERROR
Definition rig.h:223
@ RIG_BUSBUSY
Definition rig.h:224
@ RIG_EDEPRECATED
Definition rig.h:228
@ RIG_ENTARGET
Definition rig.h:222
@ RIG_EINVAL
Definition rig.h:211
@ RIG_ETRUNC
Definition rig.h:220
@ RIG_CONF_STRING
Definition rig.h:916
@ RIG_CONF_BUTTON
Definition rig.h:920
@ RIG_CONF_CHECKBUTTON
Definition rig.h:919
@ RIG_CONF_BINARY
Definition rig.h:921
@ RIG_CONF_COMBO
Definition rig.h:917
@ RIG_CONF_INT
Definition rig.h:922
@ RIG_CONF_NUMERIC
Definition rig.h:918
@ RIG_SCAN_DELTA
Definition rig.h:883
@ RIG_SCAN_PLT
Definition rig.h:885
@ RIG_SCAN_PROG
Definition rig.h:882
@ RIG_SCAN_MEM
Definition rig.h:879
@ RIG_SCAN_NONE
Definition rig.h:878
@ RIG_SCAN_VFO
Definition rig.h:884
@ RIG_SCAN_PRIO
Definition rig.h:881
@ RIG_SCAN_SLCT
Definition rig.h:880
@ RIG_SCAN_STOP
Definition rig.h:886
@ RIG_COOKIE_RENEW
Definition rig.h:1205
@ RIG_COOKIE_RELEASE
Definition rig.h:1204
@ RIG_COOKIE_GET
Definition rig.h:1203
@ RIG_PTT_OFF
Definition rig.h:708
@ RIG_PTT_ON_DATA
Definition rig.h:711
@ RIG_PTT_ON_MIC
Definition rig.h:710
@ RIG_PTT_ON
Definition rig.h:709
@ RIG_DCD_SERIAL_CTS
Definition rig.h:695
@ RIG_DCD_PARALLEL
Definition rig.h:697
@ RIG_DCD_CM108
Definition rig.h:698
@ RIG_DCD_RIG
Definition rig.h:693
@ RIG_DCD_GPION
Definition rig.h:700
@ RIG_DCD_NONE
Definition rig.h:692
@ RIG_DCD_SERIAL_DSR
Definition rig.h:694
@ RIG_DCD_GPIO
Definition rig.h:699
@ RIG_DCD_SERIAL_CAR
Definition rig.h:696
@ RIG_OP_CPY
Definition rig.h:786
@ RIG_OP_DOWN
Definition rig.h:792
@ RIG_OP_TO_VFO
Definition rig.h:789
@ RIG_OP_TUNE
Definition rig.h:797
@ RIG_OP_FROM_VFO
Definition rig.h:788
@ RIG_OP_MCL
Definition rig.h:790
@ RIG_OP_RIGHT
Definition rig.h:796
@ RIG_OP_UP
Definition rig.h:791
@ RIG_OP_TOGGLE
Definition rig.h:798
@ RIG_OP_NONE
Definition rig.h:785
@ RIG_OP_BAND_UP
Definition rig.h:793
@ RIG_OP_BAND_DOWN
Definition rig.h:794
@ RIG_OP_LEFT
Definition rig.h:795
@ RIG_OP_XCHG
Definition rig.h:787
@ RIG_PORT_PACKET
Definition rig.h:343
@ RIG_PORT_UDP_NETWORK
Definition rig.h:349
@ RIG_PORT_NONE
Definition rig.h:339
@ RIG_PORT_CM108
Definition rig.h:350
@ RIG_PORT_GPIO
Definition rig.h:351
@ RIG_PORT_ULTRA
Definition rig.h:345
@ RIG_PORT_GPION
Definition rig.h:352
@ RIG_PORT_SERIAL
Definition rig.h:340
@ RIG_PORT_PARALLEL
Definition rig.h:347
@ RIG_PORT_NETWORK
Definition rig.h:341
@ RIG_PORT_DEVICE
Definition rig.h:342
@ RIG_PORT_RPC
Definition rig.h:346
@ RIG_PORT_DTMF
Definition rig.h:344
@ RIG_PORT_USB
Definition rig.h:348
@ RIG_HANDSHAKE_HARDWARE
Definition rig.h:374
@ RIG_HANDSHAKE_NONE
Definition rig.h:372
@ RIG_HANDSHAKE_XONXOFF
Definition rig.h:373
@ RIG_AGC_NONE
Definition rig.h:419
@ RIG_AGC_ON
Definition rig.h:418
@ RIG_AGC_USER
Definition rig.h:414
@ RIG_DEBUG_ERR
Definition rig.h:262
@ RIG_DEBUG_BUG
Definition rig.h:261
@ RIG_DEBUG_WARN
Definition rig.h:263
@ RIG_DEBUG_TRACE
Definition rig.h:265
@ RIG_DEBUG_VERBOSE
Definition rig.h:264
@ RIG_DEBUG_CACHE
Definition rig.h:266
@ RIG_DEBUG_NONE
Definition rig.h:260
@ RIG_BANDSELECT_600M
Definition rig.h:831
@ RIG_BANDSELECT_1_25M
Definition rig.h:849
@ RIG_BANDSELECT_GEN
Definition rig.h:844
@ RIG_BANDSELECT_17M
Definition rig.h:838
@ RIG_BANDSELECT_6M
Definition rig.h:842
@ RIG_BANDSELECT_9CM
Definition rig.h:854
@ RIG_BANDSELECT_160M
Definition rig.h:832
@ RIG_BANDSELECT_AIR
Definition rig.h:846
@ RIG_BANDSELECT_20M
Definition rig.h:837
@ RIG_BANDSELECT_MW
Definition rig.h:845
@ RIG_BANDSELECT_2200M
Definition rig.h:830
@ RIG_BANDSELECT_23CM
Definition rig.h:852
@ RIG_BANDSELECT_UNUSED
Definition rig.h:829
@ RIG_BANDSELECT_33CM
Definition rig.h:851
@ RIG_BANDSELECT_60M
Definition rig.h:834
@ RIG_BANDSELECT_3CM
Definition rig.h:856
@ RIG_BANDSELECT_4M
Definition rig.h:847
@ RIG_BANDSELECT_12M
Definition rig.h:840
@ RIG_BANDSELECT_WFM
Definition rig.h:843
@ RIG_BANDSELECT_5CM
Definition rig.h:855
@ RIG_BANDSELECT_15M
Definition rig.h:839
@ RIG_BANDSELECT_30M
Definition rig.h:836
@ RIG_BANDSELECT_70CM
Definition rig.h:850
@ RIG_BANDSELECT_40M
Definition rig.h:835
@ RIG_BANDSELECT_80M
Definition rig.h:833
@ RIG_BANDSELECT_13CM
Definition rig.h:853
@ RIG_BANDSELECT_2M
Definition rig.h:848
@ RIG_BANDSELECT_10M
Definition rig.h:841
@ RIG_PTT_RIG
Definition rig.h:724
@ RIG_PTT_RIG_MICDATA
Definition rig.h:728
@ RIG_PTT_SERIAL_DTR
Definition rig.h:725
@ RIG_PTT_NONE
Definition rig.h:723
@ RIG_PTT_PARALLEL
Definition rig.h:727
@ RIG_PTT_GPION
Definition rig.h:731
@ RIG_PTT_GPIO
Definition rig.h:730
@ RIG_PTT_CM108
Definition rig.h:729
@ RIG_PTT_SERIAL_RTS
Definition rig.h:726
@ RIG_RESET_MCALL
Definition rig.h:754
@ RIG_RESET_MASTER
Definition rig.h:755
@ RIG_RESET_NONE
Definition rig.h:751
@ RIG_RESET_VFO
Definition rig.h:753
@ RIG_RESET_SOFT
Definition rig.h:752
@ RIG_STATUS_STABLE
Definition rig.h:447
@ RIG_STATUS_BUGGY
Definition rig.h:448
@ RIG_STATUS_UNTESTED
Definition rig.h:445
@ RIG_STATUS_BETA
Definition rig.h:446
@ RIG_STATUS_ALPHA
Definition rig.h:444
@ RIG_SPECTRUM_MODE_CENTER_SCROLL
Definition rig.h:1855
@ RIG_SPECTRUM_MODE_FIXED_SCROLL
Definition rig.h:1856
@ RIG_SPECTRUM_MODE_FIXED
Definition rig.h:1854
@ RIG_SPECTRUM_MODE_CENTER
Definition rig.h:1853
@ RIG_MTYPE_VOICE
Definition rig.h:1709
@ RIG_MTYPE_PRIO
Definition rig.h:1708
@ RIG_MTYPE_EDGE
Definition rig.h:1703
@ RIG_MTYPE_MEM
Definition rig.h:1702
@ RIG_MTYPE_CALL
Definition rig.h:1704
@ RIG_MTYPE_SAT
Definition rig.h:1706
@ RIG_MTYPE_MORSE
Definition rig.h:1710
@ RIG_MTYPE_MEMOPAD
Definition rig.h:1705
@ RIG_MTYPE_SPLIT
Definition rig.h:1711
@ RIG_MTYPE_NONE
Definition rig.h:1701
@ RIG_MTYPE_BAND
Definition rig.h:1707
uint32_t rig_model_t
Definition riglist.h:1125
int locator2longlat(double *longitude, double *latitude, const char *locator)
Convert QRA locator (Maidenhead grid square) to Longitude/Latitude.
Definition locator.c:450
int longlat2locator(double longitude, double latitude, char *locator, int pair_count)
Convert longitude/latitude to QRA locator (Maidenhead grid square).
Definition locator.c:544
Hamlib port data structures.
int rig_send_raw(RIG *rig, const unsigned char *send, int send_len, unsigned char *reply, int reply_len, unsigned char *term)
Send verbatim data.
Definition rig.c:8926
void * rig_data_pointer(RIG *rig, rig_ptrx_t idx)
Get the address of a Hamlib data structure.
Definition rig.c:9112
Hamlib rig state data structure.
Hamlib rig (radio) model definitions.
Calibration table struct for float values.
Definition rig.h:1807
float val
Definition rig.h:1811
int size
Definition rig.h:1808
struct cal_table_float::@072126103202102107020356262247040377366075150327 table[HAMLIB_MAX_CAL_LENGTH]
int raw
Definition rig.h:1810
Calibration table struct.
Definition rig.h:1777
int val
Definition rig.h:1781
int raw
Definition rig.h:1780
struct cal_table::@331211052225021277273210161246231043124274055054 table[HAMLIB_MAX_CAL_LENGTH]
int size
Definition rig.h:1778
Memory channel list definition.
Definition rig.h:1728
int startc
Definition rig.h:1729
chan_type_t type
Definition rig.h:1731
channel_cap_t mem_caps
Definition rig.h:1732
int endc
Definition rig.h:1730
Channel capability definition.
Definition rig.h:1652
unsigned tx_vfo
Definition rig.h:1665
unsigned tx_freq
Definition rig.h:1660
unsigned mode
Definition rig.h:1657
unsigned dcs_code
Definition rig.h:1675
unsigned rit
Definition rig.h:1669
unsigned dcs_sql
Definition rig.h:1676
unsigned rptr_offs
Definition rig.h:1667
unsigned bank_num
Definition rig.h:1653
setting_t levels
Definition rig.h:1672
unsigned width
Definition rig.h:1658
unsigned rptr_shift
Definition rig.h:1666
unsigned tx_width
Definition rig.h:1662
unsigned ctcss_sql
Definition rig.h:1674
unsigned tx_mode
Definition rig.h:1661
unsigned freq
Definition rig.h:1656
setting_t funcs
Definition rig.h:1671
unsigned ctcss_tone
Definition rig.h:1673
unsigned tag
Definition rig.h:1681
unsigned ext_levels
Definition rig.h:1680
unsigned vfo
Definition rig.h:1654
unsigned ant
Definition rig.h:1655
unsigned split
Definition rig.h:1664
unsigned scan_group
Definition rig.h:1677
unsigned flags
Definition rig.h:1678
unsigned tuning_step
Definition rig.h:1668
unsigned xit
Definition rig.h:1670
unsigned channel_desc
Definition rig.h:1679
Channel structure.
Definition rig.h:1607
shortfreq_t tuning_step
Definition rig.h:1625
rmode_t mode
Definition rig.h:1613
tone_t ctcss_tone
Definition rig.h:1630
pbwidth_t tx_width
Definition rig.h:1618
vfo_t vfo
Definition rig.h:1610
value_t levels[64]
Definition rig.h:1629
shortfreq_t rptr_offs
Definition rig.h:1624
vfo_t tx_vfo
Definition rig.h:1621
tone_t dcs_code
Definition rig.h:1632
setting_t funcs
Definition rig.h:1628
struct ext_list * ext_levels
Definition rig.h:1637
tone_t ctcss_sql
Definition rig.h:1631
shortfreq_t xit
Definition rig.h:1627
int bank_num
Definition rig.h:1609
pbwidth_t width
Definition rig.h:1614
freq_t freq
Definition rig.h:1612
char tag[32]
Definition rig.h:1639
rptr_shift_t rptr_shift
Definition rig.h:1623
shortfreq_t rit
Definition rig.h:1626
char channel_desc[HAMLIB_MAXCHANDESC]
Definition rig.h:1636
rmode_t tx_mode
Definition rig.h:1617
split_t split
Definition rig.h:1620
freq_t tx_freq
Definition rig.h:1616
ant_t ant
Definition rig.h:1611
unsigned int flags
Definition rig.h:1635
int scan_group
Definition rig.h:1634
int channel_num
Definition rig.h:1608
tone_t dcs_sql
Definition rig.h:1633
Configuration parameter structure.
Definition rig.h:933
struct confparams::@033225172056077305142122337054032147025166204265::@163117262255361113366066204176146175153337215262 c
const char * combostr[RIG_COMBO_MAX]
Definition rig.h:947
hamlib_token_t token
Definition rig.h:934
struct confparams::@033225172056077305142122337054032147025166204265::@332164064105370312140027320331233300111000145211 n
const char * tooltip
Definition rig.h:937
const char * dflt
Definition rig.h:938
float min
Definition rig.h:942
float step
Definition rig.h:944
const char * label
Definition rig.h:936
float max
Definition rig.h:943
const char * name
Definition rig.h:935
union confparams::@033225172056077305142122337054032147025166204265 u
enum rig_conf_e type
Definition rig.h:939
Extension attribute definition.
Definition rig.h:1590
hamlib_token_t token
Definition rig.h:1591
value_t val
Definition rig.h:1592
Filter definition.
Definition rig.h:1557
rmode_t modes
Definition rig.h:1558
pbwidth_t width
Definition rig.h:1559
Frequency range.
Definition rig.h:1490
freq_t startf
Definition rig.h:1491
freq_t endf
Definition rig.h:1492
int low_power
Definition rig.h:1494
char * label
Definition rig.h:1498
ant_t ant
Definition rig.h:1497
int high_power
Definition rig.h:1495
vfo_t vfo
Definition rig.h:1496
rmode_t modes
Definition rig.h:1493
level/parm granularity definition
Definition rig.h:1762
value_t max
Definition rig.h:1764
value_t step
Definition rig.h:1765
value_t min
Definition rig.h:1763
Port definition.
Definition port.h:55
Multicast data items the are unique per rig instantiation This is meant for internal Hamlib use only.
Definition rig.h:2571
Rig cache data.
Definition rig.h:2491
Rig cache data.
Definition cache.h:45
Callback functions and args for rig event.
Definition rig.h:2651
rig_ptr_t mode_arg
Definition rig.h:2655
ptt_cb_t ptt_event
Definition rig.h:2658
vfo_cb_t vfo_event
Definition rig.h:2656
spectrum_cb_t spectrum_event
Definition rig.h:2664
mode_cb_t mode_event
Definition rig.h:2654
rig_ptr_t freq_arg
Definition rig.h:2653
rig_ptr_t spectrum_arg
Definition rig.h:2665
rig_ptr_t ptt_arg
Definition rig.h:2659
rig_ptr_t dcd_arg
Definition rig.h:2661
dcd_cb_t dcd_event
Definition rig.h:2660
rig_ptr_t pltune_arg
Definition rig.h:2663
pltune_cb_t pltune
Definition rig.h:2662
rig_ptr_t vfo_arg
Definition rig.h:2657
freq_cb_t freq_event
Definition rig.h:2652
Rig data structure.
Definition rig.h:1946
int write_delay
Definition rig.h:1966
setting_t has_set_func
Definition rig.h:1972
enum serial_handshake_e serial_handshake
Definition rig.h:1964
struct tuning_step_list tuning_steps[HAMLIB_TSLSTSIZ]
Definition rig.h:2025
int retry
Definition rig.h:1969
const char * model_name
Definition rig.h:1948
int attenuator[HAMLIB_MAXDBLSTSIZ]
Definition rig.h:1990
freq_range_t rx_range_list5[HAMLIB_FRQRANGESIZ]
Definition rig.h:2022
int serial_data_bits
Definition rig.h:1961
const char * clone_combo_get
Definition rig.h:2227
const char * version
Definition rig.h:1950
int serial_rate_max
Definition rig.h:1960
int targetable_vfo
Definition rig.h:2002
cal_table_float_t swr_cal
Definition rig.h:2029
ptt_type_t ptt_type
Definition rig.h:1955
const char * clone_combo_set
Definition rig.h:2226
cal_table_float_t vd_meter_cal
Definition rig.h:2033
int serial_stop_bits
Definition rig.h:1962
struct rig_spectrum_avg_mode spectrum_avg_modes[HAMLIB_MAX_SPECTRUM_AVG_MODES]
Definition rig.h:2039
int * ext_tokens
Definition rig.h:1984
gran_t parm_gran[64]
Definition rig.h:1979
const char * macro_name
Definition rig.h:2228
dcd_type_t dcd_type
Definition rig.h:1956
int async_data_supported
Definition rig.h:2230
enum agc_level_e agc_levels[HAMLIB_MAX_AGC_LEVELS]
Definition rig.h:1996
chan_t chan_list[HAMLIB_CHANLSTSIZ]
Definition rig.h:2008
int preamp[HAMLIB_MAXDBLSTSIZ]
Definition rig.h:1989
const rig_ptr_t priv
Definition rig.h:2043
const struct confparams * cfgparams
Definition rig.h:2042
enum rig_status_e status
Definition rig.h:1952
freq_range_t tx_range_list5[HAMLIB_FRQRANGESIZ]
Definition rig.h:2023
tone_t * dcs_list
Definition rig.h:1987
shortfreq_t max_rit
Definition rig.h:1991
const struct confparams * extlevels
Definition rig.h:1982
const char * copyright
Definition rig.h:1951
shortfreq_t max_xit
Definition rig.h:1992
setting_t has_set_level
Definition rig.h:1974
rig_model_t rig_model
Definition rig.h:1947
cal_table_float_t rfpower_meter_cal
Definition rig.h:2031
setting_t has_get_parm
Definition rig.h:1975
int chan_desc_sz
Definition rig.h:2006
enum serial_parity_e serial_parity
Definition rig.h:1963
freq_range_t rx_range_list1[HAMLIB_FRQRANGESIZ]
Definition rig.h:2014
int spectrum_attenuator[HAMLIB_MAXDBLSTSIZ]
Definition rig.h:2040
shortfreq_t max_ifshift
Definition rig.h:1993
cal_table_float_t comp_meter_cal
Definition rig.h:2032
rig_port_t port_type
Definition rig.h:1957
short timeout_retry
Definition rig.h:2246
const char * mfg_name
Definition rig.h:1949
tone_t * ctcss_list
Definition rig.h:1986
struct rig_spectrum_scope spectrum_scopes[HAMLIB_MAX_SPECTRUM_SCOPES]
Definition rig.h:2036
freq_range_t rx_range_list4[HAMLIB_FRQRANGESIZ]
Definition rig.h:2020
scan_t scan_ops
Definition rig.h:2001
cal_table_float_t alc_cal
Definition rig.h:2030
freq_range_t rx_range_list2[HAMLIB_FRQRANGESIZ]
Definition rig.h:2016
setting_t has_set_parm
Definition rig.h:1976
vfo_op_t vfo_ops
Definition rig.h:2000
setting_t has_get_func
Definition rig.h:1971
ann_t announces
Definition rig.h:1998
const struct confparams * extparms
Definition rig.h:1981
struct filter_list filters[HAMLIB_FLTLSTSIZ]
Definition rig.h:2026
int post_write_delay
Definition rig.h:1967
int transceive
Definition rig.h:2003
enum rig_spectrum_mode_e spectrum_modes[HAMLIB_MAX_SPECTRUM_MODES]
Definition rig.h:2037
int timeout
Definition rig.h:1968
freq_t spectrum_spans[HAMLIB_MAX_SPECTRUM_SPANS]
Definition rig.h:2038
freq_range_t tx_range_list1[HAMLIB_FRQRANGESIZ]
Definition rig.h:2015
cal_table_t str_cal
Definition rig.h:2028
cal_table_float_t id_meter_cal
Definition rig.h:2034
int bank_qty
Definition rig.h:2005
freq_range_t rx_range_list3[HAMLIB_FRQRANGESIZ]
Definition rig.h:2018
int rig_type
Definition rig.h:1954
setting_t has_get_level
Definition rig.h:1973
const struct confparams * extfuncs
Definition rig.h:1983
gran_t level_gran[64]
Definition rig.h:1978
freq_range_t tx_range_list4[HAMLIB_FRQRANGESIZ]
Definition rig.h:2021
int agc_level_count
Definition rig.h:1995
int serial_rate_min
Definition rig.h:1959
freq_range_t tx_range_list3[HAMLIB_FRQRANGESIZ]
Definition rig.h:2019
freq_range_t tx_range_list2[HAMLIB_FRQRANGESIZ]
Definition rig.h:2017
Spectrum scope averaging modes.
Definition rig.h:1863
Represents a single line of rig spectrum scope FFT data.
Definition rig.h:1880
size_t spectrum_data_length
Definition rig.h:1896
freq_t low_edge_freq
Definition rig.h:1893
int data_level_min
Definition rig.h:1883
int id
Definition rig.h:1881
enum rig_spectrum_mode_e spectrum_mode
Definition rig.h:1888
double signal_strength_max
Definition rig.h:1886
freq_t center_freq
Definition rig.h:1890
freq_t span_freq
Definition rig.h:1891
double signal_strength_min
Definition rig.h:1885
unsigned char * spectrum_data
Definition rig.h:1897
int data_level_max
Definition rig.h:1884
freq_t high_edge_freq
Definition rig.h:1894
Spectrum scope.
Definition rig.h:1843
Deprecated Rig state containing live data and customized fields.
Definition rig_state.h:257
Rig state containing live data and customized fields.
Definition rig_state.h:55
The Rig structure.
Definition rig.h:2679
struct rig_callbacks callbacks
Definition rig.h:2683
struct rig_state_deprecated state_deprecated
Definition rig.h:2682
struct rig_state state
Definition rig.h:2685
struct rig_caps * caps
Definition rig.h:2680
Tuning step definition.
Definition rig.h:1522
rmode_t modes
Definition rig.h:1523
shortfreq_t ts
Definition rig.h:1524
Universal approach for passing values.
Definition rig.h:1058
unsigned int u
Definition rig.h:1060
char * s
Definition rig.h:1062
float f
Definition rig.h:1061
const char * cs
Definition rig.h:1063
signed int i
Definition rig.h:1059