"ABSENT"
};
-typedef struct
+struct svf_statemove
{
tap_state_t from;
tap_state_t to;
uint32_t num_of_moves;
tap_state_t paths[8];
-}svf_statemove_t;
+};
/*
* These paths are from the SVF specification for the STATE command, to be
* and many SVF implementations, we don't want to risk missing that state.
* To get to RESET, always we ignore the current state.
*/
-static const svf_statemove_t svf_statemoves[] =
+static const struct svf_statemove svf_statemoves[] =
{
// from to num_of_moves, paths[8]
// {TAP_RESET, TAP_RESET, 1, {TAP_RESET}},
#define XXR_TDO (1 << 1)
#define XXR_MASK (1 << 2)
#define XXR_SMASK (1 << 3)
-typedef struct
+struct svf_xxr_para
{
int len;
int data_mask;
uint8_t *tdo;
uint8_t *mask;
uint8_t *smask;
-}svf_xxr_para_t;
+};
-typedef struct
+struct svf_para
{
float frequency;
tap_state_t ir_end_state;
tap_state_t runtest_end_state;
trst_mode_t trst_mode;
- svf_xxr_para_t hir_para;
- svf_xxr_para_t hdr_para;
- svf_xxr_para_t tir_para;
- svf_xxr_para_t tdr_para;
- svf_xxr_para_t sir_para;
- svf_xxr_para_t sdr_para;
-}svf_para_t;
+ struct svf_xxr_para hir_para;
+ struct svf_xxr_para hdr_para;
+ struct svf_xxr_para tir_para;
+ struct svf_xxr_para tdr_para;
+ struct svf_xxr_para sir_para;
+ struct svf_xxr_para sdr_para;
+};
-static svf_para_t svf_para;
-static const svf_para_t svf_para_init =
+static struct svf_para svf_para;
+static const struct svf_para svf_para_init =
{
// frequency, ir_end_state, dr_end_state, runtest_run_state, runtest_end_state, trst_mode
0, TAP_IDLE, TAP_IDLE, TAP_IDLE, TAP_IDLE, TRST_Z,
{0, 0, NULL, NULL, NULL, NULL},
};
-typedef struct
+struct svf_check_tdo_para
{
int line_num; // used to record line number of the check operation
// so more information could be printed
int enabled; // check is enabled or not
int buffer_offset; // buffer_offset to buffers
int bit_len; // bit length to check
-}svf_check_tdo_para_t;
+};
#define SVF_CHECK_TDO_PARA_SIZE 1024
-static svf_check_tdo_para_t *svf_check_tdo_para = NULL;
+static struct svf_check_tdo_para *svf_check_tdo_para = NULL;
static int svf_check_tdo_para_index = 0;
static int svf_read_command_from_file(int fd);
static int svf_check_tdo(void);
static int svf_add_check_para(uint8_t enabled, int buffer_offset, int bit_len);
-static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str);
+static int svf_run_command(struct command_context *cmd_ctx, char *cmd_str);
static int svf_fd = 0;
static char *svf_command_buffer = NULL;
static int svf_command_buffer_size = 0;
static int svf_line_number = 1;
-static jtag_tap_t *tap = NULL;
+static struct jtag_tap *tap = NULL;
#define SVF_MAX_BUFFER_SIZE_TO_COMMIT (4 * 1024)
static uint8_t *svf_tdi_buffer = NULL, *svf_tdo_buffer = NULL, *svf_mask_buffer = NULL;
static int svf_quiet = 0;
-static void svf_free_xxd_para(svf_xxr_para_t *para)
+static void svf_free_xxd_para(struct svf_xxr_para *para)
{
if (NULL != para)
{
return ERROR_FAIL;
}
-static int handle_svf_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_svf_command)
{
#define SVF_NUM_OF_OPTIONS 1
- int command_num = 0, i;
+ int command_num = 0;
int ret = ERROR_OK;
long long time_ago;
// parse variant
svf_quiet = 0;
- for (i = 1; i < argc; i++)
+ for (unsigned i = 1; i < argc; i++)
{
if (!strcmp(args[i], "quiet"))
{
svf_command_buffer_size = 0;
svf_check_tdo_para_index = 0;
- svf_check_tdo_para = malloc(sizeof(svf_check_tdo_para_t) * SVF_CHECK_TDO_PARA_SIZE);
+ svf_check_tdo_para = malloc(sizeof(struct svf_check_tdo_para) * SVF_CHECK_TDO_PARA_SIZE);
if (NULL == svf_check_tdo_para)
{
LOG_ERROR("not enough memory");
return ERROR_OK;
}
-static int svf_run_command(struct command_context_s *cmd_ctx, char *cmd_str)
+static int svf_run_command(struct command_context *cmd_ctx, char *cmd_str)
{
char *argus[256], command;
int num_of_argu = 0, i;
int run_count;
float min_time, max_time;
// for XXR
- svf_xxr_para_t *xxr_para_tmp;
+ struct svf_xxr_para *xxr_para_tmp;
uint8_t **pbuffer_tmp;
- scan_field_t field;
+ struct scan_field field;
// for STATE
tap_state_t *path = NULL, state;
return ERROR_OK;
}
-int svf_register_commands(struct command_context_s *cmd_ctx)
+int svf_register_commands(struct command_context *cmd_ctx)
{
register_command(cmd_ctx, NULL, "svf",
&handle_svf_command, COMMAND_EXEC,