aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjaylink/libjaylink.h2
-rw-r--r--libjaylink/strutil.c31
2 files changed, 33 insertions, 0 deletions
diff --git a/libjaylink/libjaylink.h b/libjaylink/libjaylink.h
index c74e04e..2a87442 100644
--- a/libjaylink/libjaylink.h
+++ b/libjaylink/libjaylink.h
@@ -573,6 +573,8 @@ JAYLINK_API int jaylink_parse_serial_number(const char *str,
uint32_t *serial_number);
JAYLINK_API const char *jaylink_hardware_type_string(
enum jaylink_hardware_type type);
+JAYLINK_API const char *jaylink_target_interface_string(
+ enum jaylink_target_interface iface);
/*--- swd.c -----------------------------------------------------------------*/
diff --git a/libjaylink/strutil.c b/libjaylink/strutil.c
index 4b8f3d5..75755a8 100644
--- a/libjaylink/strutil.c
+++ b/libjaylink/strutil.c
@@ -91,3 +91,34 @@ JAYLINK_API const char *jaylink_hardware_type_string(
return NULL;
}
+
+/**
+ * Get the string representation of a target interface.
+ *
+ * @param[in] iface Target interface.
+ *
+ * @return The string representation of the given target interface, or NULL
+ * for an unknown interface.
+ *
+ * @since 0.3.0
+ */
+JAYLINK_API const char *jaylink_target_interface_string(
+ enum jaylink_target_interface iface)
+{
+ switch (iface) {
+ case JAYLINK_TIF_JTAG:
+ return "JTAG";
+ case JAYLINK_TIF_SWD:
+ return "SWD";
+ case JAYLINK_TIF_BDM3:
+ return "BDM3";
+ case JAYLINK_TIF_FINE:
+ return "FINE";
+ case JAYLINK_TIF_2W_JTAG_PIC32:
+ return "2-wire JTAG for PIC32";
+ default:
+ break;
+ }
+
+ return NULL;
+}