target: add async algorithm timeout
[fw/openocd] / src / svf / svf.h
index 822cad22e94eb303f9ea41e777c43801ee85800d..76d00b868de25d319bf718ea472b8df1d5aaf8ed 100644 (file)
  *   Free Software Foundation, Inc.,                                       *
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
+
 #ifndef SVF_H
 #define SVF_H
 
-#include "command.h"
+#include <jtag/jtag.h>
+
+int svf_register_commands(struct command_context *cmd_ctx);
+
+/**
+ * svf_add_statemove() moves from the current state to @a goal_state.
+ *
+ * @param goal_state The final TAP state.
+ * @return ERROR_OK on success, or an error code on failure.
+ *
+ * The current and goal states must satisfy svf_tap_state_is_stable().
+ * State transition paths used by this routine are those given in the
+ * SVF specification for single-argument STATE commands (and also used
+ * for various other state transitions).
+ */
+int svf_add_statemove(tap_state_t goal_state);
 
-extern int svf_register_commands(struct command_context_s *cmd_ctx);
+/**
+ * svf_tap_state_is_stable() returns true for stable non-SHIFT states
+ *
+ * @param state The TAP state in question
+ * @return true iff the state is stable and not a SHIFT state.
+ */
+bool svf_tap_state_is_stable(tap_state_t state);
 
-#endif /* SVF_H */
+#endif /* SVF_H */