-/**
- * Initialize interface upon startup. Return a successful no-op upon
- * subsequent invocations.
- */
-extern int jtag_interface_init(struct command_context_s* cmd_ctx);
+void jtag_set_nsrst_delay(unsigned delay);
+unsigned jtag_get_nsrst_delay(void);
+
+void jtag_set_ntrst_delay(unsigned delay);
+unsigned jtag_get_ntrst_delay(void);
+
+void jtag_set_nsrst_assert_width(unsigned delay);
+unsigned jtag_get_nsrst_assert_width(void);
+
+void jtag_set_ntrst_assert_width(unsigned delay);
+unsigned jtag_get_ntrst_assert_width(void);
+
+/** @returns The current state of TRST. */
+int jtag_get_trst(void);
+/** @returns The current state of SRST. */
+int jtag_get_srst(void);
+
+/** Enable or disable data scan verification checking. */
+void jtag_set_verify(bool enable);
+/** @returns True if data scan verification will be performed. */
+bool jtag_will_verify(void);
+
+/** Enable or disable verification of IR scan checking. */
+void jtag_set_verify_capture_ir(bool enable);
+/** @returns True if IR scan verification will be performed. */
+bool jtag_will_verify_capture_ir(void);
+
+/** Initialize debug adapter upon startup. */
+int adapter_init(struct command_context *cmd_ctx);