@@ 101,24 101,24 @@ static int hamlib_err2errno(int e)
panic("Unknown hamlib error code: %u", e);
}
-#define MAP() \
- ENTRY(HRIG_MODE_AM, RIG_MODE_AM) \
- ENTRY(HRIG_MODE_C4FM, RIG_MODE_C4FM) \
- ENTRY(HRIG_MODE_FM, RIG_MODE_FM) \
- ENTRY(HRIG_MODE_FM_DATA, RIG_MODE_PKTFM) \
- ENTRY(HRIG_MODE_LSB, RIG_MODE_LSB) \
- ENTRY(HRIG_MODE_LSB_CW, RIG_MODE_CWR) \
- ENTRY(HRIG_MODE_LSB_DATA, RIG_MODE_PKTLSB) \
- ENTRY(HRIG_MODE_LSB_RTTY, RIG_MODE_RTTYR) \
- ENTRY(HRIG_MODE_USB, RIG_MODE_USB) \
- ENTRY(HRIG_MODE_USB_CW, RIG_MODE_CW) \
- ENTRY(HRIG_MODE_USB_DATA, RIG_MODE_PKTUSB) \
- ENTRY(HRIG_MODE_USB_RTTY, RIG_MODE_RTTY)
+#define MAP() \
+ ENTRY(HRIG_MODE_AM, RIG_MODE_AM, "AM") \
+ ENTRY(HRIG_MODE_C4FM, RIG_MODE_C4FM, "C4FM") \
+ ENTRY(HRIG_MODE_FM, RIG_MODE_FM, "FM") \
+ ENTRY(HRIG_MODE_FM_DATA, RIG_MODE_PKTFM, "DATA-FM") \
+ ENTRY(HRIG_MODE_LSB, RIG_MODE_LSB, "LSB") \
+ ENTRY(HRIG_MODE_LSB_CW, RIG_MODE_CWR, "CW") \
+ ENTRY(HRIG_MODE_LSB_DATA, RIG_MODE_PKTLSB, "DATA-L") \
+ ENTRY(HRIG_MODE_LSB_RTTY, RIG_MODE_RTTYR, "RTTY") \
+ ENTRY(HRIG_MODE_USB, RIG_MODE_USB, "USB") \
+ ENTRY(HRIG_MODE_USB_CW, RIG_MODE_CW, "CW") \
+ ENTRY(HRIG_MODE_USB_DATA, RIG_MODE_PKTUSB, "DATA-U") \
+ ENTRY(HRIG_MODE_USB_RTTY, RIG_MODE_RTTY, "RTTY")
static int hamlib_mode2hmode(rmode_t mode)
{
switch (mode) {
-#define ENTRY(hmode, rmode) case rmode: return hmode;
+#define ENTRY(hmode, rmode, str) case rmode: return hmode;
MAP()
#undef ENTRY
}
@@ 132,7 132,7 @@ static rmode_t hamlib_hmode2mode(enum hr
case HRIG_MODE_UNKNOWN:
break;
-#define ENTRY(hmode, rmode) case hmode: return rmode;
+#define ENTRY(hmode, rmode, str) case hmode: return rmode;
MAP()
#undef ENTRY
}
@@ 140,6 140,20 @@ static rmode_t hamlib_hmode2mode(enum hr
return RIG_MODE_NONE;
}
+const char *hamlib_mode_name(enum hrig_mode mode)
+{
+ switch (mode) {
+ case HRIG_MODE_UNKNOWN:
+ return NULL;
+
+#define ENTRY(hmode, rmode, str) case hmode: return str;
+ MAP()
+#undef ENTRY
+ }
+
+ return NULL;
+}
+
const char *hamlib_mode_name_raw(enum hrig_mode mode)
{
switch (mode) {
@@ 39,6 39,8 @@ enum hrig_mode {
HRIG_MODE_USB_RTTY,
};
+/* mode name usable for logging */
+extern const char *hamlib_mode_name(enum hrig_mode mode);
/* string-ified version of the enum */
extern const char *hamlib_mode_name_raw(enum hrig_mode mode);