Remove misleading typedef and redundant suffix from struct connection.
static int gdb_breakpoint_override;
static enum breakpoint_type gdb_breakpoint_override_type;
static int gdb_breakpoint_override;
static enum breakpoint_type gdb_breakpoint_override_type;
-extern int gdb_error(connection_t *connection, int retval);
+extern int gdb_error(struct connection *connection, int retval);
static unsigned short gdb_port = 3333;
static const char *DIGITS = "0123456789abcdef";
static unsigned short gdb_port = 3333;
static const char *DIGITS = "0123456789abcdef";
-int check_pending(connection_t *connection, int timeout_s, int *got_data)
+int check_pending(struct connection *connection, int timeout_s, int *got_data)
{
/* a non-blocking socket will block if there is 0 bytes available on the socket,
* but return with as many bytes as are available immediately
{
/* a non-blocking socket will block if there is 0 bytes available on the socket,
* but return with as many bytes as are available immediately
-int gdb_get_char(connection_t *connection, int* next_char)
+int gdb_get_char(struct connection *connection, int* next_char)
{
struct gdb_connection *gdb_con = connection->priv;
int retval = ERROR_OK;
{
struct gdb_connection *gdb_con = connection->priv;
int retval = ERROR_OK;
-int gdb_putback_char(connection_t *connection, int last_char)
+int gdb_putback_char(struct connection *connection, int last_char)
{
struct gdb_connection *gdb_con = connection->priv;
{
struct gdb_connection *gdb_con = connection->priv;
/* The only way we can detect that the socket is closed is the first time
* we write to it, we will fail. Subsequent write operations will
* succeed. Shudder! */
/* The only way we can detect that the socket is closed is the first time
* we write to it, we will fail. Subsequent write operations will
* succeed. Shudder! */
-int gdb_write(connection_t *connection, void *data, int len)
+int gdb_write(struct connection *connection, void *data, int len)
{
struct gdb_connection *gdb_con = connection->priv;
if (gdb_con->closed)
{
struct gdb_connection *gdb_con = connection->priv;
if (gdb_con->closed)
return ERROR_SERVER_REMOTE_CLOSED;
}
return ERROR_SERVER_REMOTE_CLOSED;
}
-int gdb_put_packet_inner(connection_t *connection, char *buffer, int len)
+int gdb_put_packet_inner(struct connection *connection, char *buffer, int len)
{
int i;
unsigned char my_checksum = 0;
{
int i;
unsigned char my_checksum = 0;
-int gdb_put_packet(connection_t *connection, char *buffer, int len)
+int gdb_put_packet(struct connection *connection, char *buffer, int len)
{
struct gdb_connection *gdb_con = connection->priv;
gdb_con->busy = 1;
{
struct gdb_connection *gdb_con = connection->priv;
gdb_con->busy = 1;
-static __inline__ int fetch_packet(connection_t *connection, int *checksum_ok, int noack, int *len, char *buffer)
+static __inline__ int fetch_packet(struct connection *connection, int *checksum_ok, int noack, int *len, char *buffer)
{
unsigned char my_checksum = 0;
char checksum[3];
{
unsigned char my_checksum = 0;
char checksum[3];
-int gdb_get_packet_inner(connection_t *connection, char *buffer, int *len)
+int gdb_get_packet_inner(struct connection *connection, char *buffer, int *len)
{
int character;
int retval;
{
int character;
int retval;
-int gdb_get_packet(connection_t *connection, char *buffer, int *len)
+int gdb_get_packet(struct connection *connection, char *buffer, int *len)
{
struct gdb_connection *gdb_con = connection->priv;
gdb_con->busy = 1;
{
struct gdb_connection *gdb_con = connection->priv;
gdb_con->busy = 1;
-int gdb_output_con(connection_t *connection, const char* line)
+int gdb_output_con(struct connection *connection, const char* line)
{
char *hex_buffer;
int i, bin_size;
{
char *hex_buffer;
int i, bin_size;
-static void gdb_frontend_halted(struct target_s *target, connection_t *connection)
+static void gdb_frontend_halted(struct target_s *target, struct connection *connection)
{
struct gdb_connection *gdb_connection = connection->priv;
{
struct gdb_connection *gdb_connection = connection->priv;
int gdb_target_callback_event_handler(struct target_s *target, enum target_event event, void *priv)
{
int retval;
int gdb_target_callback_event_handler(struct target_s *target, enum target_event event, void *priv)
{
int retval;
- connection_t *connection = priv;
+ struct connection *connection = priv;
target_handle_event(target, event);
switch (event)
target_handle_event(target, event);
switch (event)
-int gdb_new_connection(connection_t *connection)
+int gdb_new_connection(struct connection *connection)
{
struct gdb_connection *gdb_connection = malloc(sizeof(struct gdb_connection));
struct gdb_service *gdb_service = connection->service->priv;
{
struct gdb_connection *gdb_connection = malloc(sizeof(struct gdb_connection));
struct gdb_service *gdb_service = connection->service->priv;
-int gdb_connection_closed(connection_t *connection)
+int gdb_connection_closed(struct connection *connection)
{
struct gdb_service *gdb_service = connection->service->priv;
struct gdb_connection *gdb_connection = connection->priv;
{
struct gdb_service *gdb_service = connection->service->priv;
struct gdb_connection *gdb_connection = connection->priv;
-void gdb_send_error(connection_t *connection, uint8_t the_error)
+void gdb_send_error(struct connection *connection, uint8_t the_error)
{
char err[4];
snprintf(err, 4, "E%2.2X", the_error);
gdb_put_packet(connection, err, 3);
}
{
char err[4];
snprintf(err, 4, "E%2.2X", the_error);
gdb_put_packet(connection, err, 3);
}
-int gdb_last_signal_packet(connection_t *connection, target_t *target, char* packet, int packet_size)
+int gdb_last_signal_packet(struct connection *connection, target_t *target, char* packet, int packet_size)
{
char sig_reply[4];
int signal;
{
char sig_reply[4];
int signal;
-int gdb_get_registers_packet(connection_t *connection, target_t *target, char* packet, int packet_size)
+int gdb_get_registers_packet(struct connection *connection, target_t *target, char* packet, int packet_size)
{
reg_t **reg_list;
int reg_list_size;
{
reg_t **reg_list;
int reg_list_size;
-int gdb_set_registers_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_set_registers_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
int i;
reg_t **reg_list;
{
int i;
reg_t **reg_list;
-int gdb_get_register_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_get_register_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
char *reg_packet;
int reg_num = strtoul(packet + 1, NULL, 16);
{
char *reg_packet;
int reg_num = strtoul(packet + 1, NULL, 16);
-int gdb_set_register_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_set_register_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
char *separator;
uint8_t *bin_buf;
{
char *separator;
uint8_t *bin_buf;
-int gdb_error(connection_t *connection, int retval)
+int gdb_error(struct connection *connection, int retval)
*
* 8191 bytes by the looks of it. Why 8191 bytes instead of 8192?????
*/
*
* 8191 bytes by the looks of it. Why 8191 bytes instead of 8192?????
*/
-int gdb_read_memory_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_read_memory_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
char *separator;
uint32_t addr = 0;
{
char *separator;
uint32_t addr = 0;
-int gdb_write_memory_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_write_memory_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
char *separator;
uint32_t addr = 0;
{
char *separator;
uint32_t addr = 0;
-int gdb_write_memory_binary_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_write_memory_binary_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
char *separator;
uint32_t addr = 0;
{
char *separator;
uint32_t addr = 0;
-int gdb_step_continue_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_step_continue_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
int current = 0;
uint32_t address = 0x0;
{
int current = 0;
uint32_t address = 0x0;
-int gdb_breakpoint_watchpoint_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_breakpoint_watchpoint_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
int type;
enum breakpoint_type bp_type = BKPT_SOFT /* dummy init to avoid warning */;
{
int type;
enum breakpoint_type bp_type = BKPT_SOFT /* dummy init to avoid warning */;
-int gdb_query_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_query_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
command_context_t *cmd_ctx = connection->cmd_ctx;
struct gdb_connection *gdb_connection = connection->priv;
{
command_context_t *cmd_ctx = connection->cmd_ctx;
struct gdb_connection *gdb_connection = connection->priv;
-int gdb_v_packet(connection_t *connection, target_t *target, char *packet, int packet_size)
+int gdb_v_packet(struct connection *connection, target_t *target, char *packet, int packet_size)
{
struct gdb_connection *gdb_connection = connection->priv;
struct gdb_service *gdb_service = connection->service->priv;
{
struct gdb_connection *gdb_connection = connection->priv;
struct gdb_service *gdb_service = connection->service->priv;
-int gdb_detach(connection_t *connection, target_t *target)
+int gdb_detach(struct connection *connection, target_t *target)
{
struct gdb_service *gdb_service = connection->service->priv;
{
struct gdb_service *gdb_service = connection->service->priv;
static void gdb_log_callback(void *priv, const char *file, unsigned line,
const char *function, const char *string)
{
static void gdb_log_callback(void *priv, const char *file, unsigned line,
const char *function, const char *string)
{
- connection_t *connection = priv;
+ struct connection *connection = priv;
struct gdb_connection *gdb_con = connection->priv;
if (gdb_con->busy)
struct gdb_connection *gdb_con = connection->priv;
if (gdb_con->busy)
/* Do not allocate this on the stack */
char gdb_packet_buffer[GDB_BUFFER_SIZE];
/* Do not allocate this on the stack */
char gdb_packet_buffer[GDB_BUFFER_SIZE];
-static void gdb_sig_halted(connection_t *connection)
+static void gdb_sig_halted(struct connection *connection)
{
char sig_reply[4];
snprintf(sig_reply, 4, "T%2.2x", 2);
{
char sig_reply[4];
snprintf(sig_reply, 4, "T%2.2x", 2);
-int gdb_input_inner(connection_t *connection)
+int gdb_input_inner(struct connection *connection)
{
struct gdb_service *gdb_service = connection->service->priv;
target_t *target = gdb_service->target;
{
struct gdb_service *gdb_service = connection->service->priv;
target_t *target = gdb_service->target;
-int gdb_input(connection_t *connection)
+int gdb_input(struct connection *connection)
{
int retval = gdb_input_inner(connection);
struct gdb_connection *gdb_con = connection->priv;
{
int retval = gdb_input_inner(connection);
struct gdb_connection *gdb_con = connection->priv;
int add_connection(struct service *service, command_context_t *cmd_ctx)
{
socklen_t address_size;
int add_connection(struct service *service, command_context_t *cmd_ctx)
{
socklen_t address_size;
+ struct connection *c, **p;
int retval;
int flag = 1;
int retval;
int flag = 1;
- c = malloc(sizeof(connection_t));
+ c = malloc(sizeof(struct connection));
c->fd = -1;
memset(&c->sin, 0, sizeof(c->sin));
c->cmd_ctx = copy_command_context(cmd_ctx);
c->fd = -1;
memset(&c->sin, 0, sizeof(c->sin));
c->cmd_ctx = copy_command_context(cmd_ctx);
-int remove_connection(struct service *service, connection_t *connection)
+int remove_connection(struct service *service, struct connection *connection)
- connection_t **p = &service->connections;
- connection_t *c;
+ struct connection **p = &service->connections;
+ struct connection *c;
/* find connection */
while ((c = *p))
/* find connection */
while ((c = *p))
if (service->connections)
{
if (service->connections)
{
for (c = service->connections; c; c = c->next)
{
for (c = service->connections; c; c = c->next)
{
/* handle activity on connections */
if (service->connections)
{
/* handle activity on connections */
if (service->connections)
{
for (c = service->connections; c;)
{
for (c = service->connections; c;)
{
{
if ((retval = service->input(c)) != ERROR_OK)
{
{
if ((retval = service->input(c)) != ERROR_OK)
{
- connection_t *next = c->next;
+ struct connection *next = c->next;
if (service->type == CONNECTION_PIPE)
{
/* if connection uses a pipe then shutdown openocd on error */
if (service->type == CONNECTION_PIPE)
{
/* if connection uses a pipe then shutdown openocd on error */
-typedef struct connection_s
{
int fd;
struct sockaddr_in sin;
{
int fd;
struct sockaddr_in sin;
struct service *service;
int input_pending;
void *priv;
struct service *service;
int input_pending;
void *priv;
- struct connection_s *next;
-} connection_t;
+ struct connection *next;
+};
-typedef int (*new_connection_handler_t)(connection_t *connection);
-typedef int (*input_handler_t)(connection_t *connection);
-typedef int (*connection_closed_handler_t)(connection_t *connection);
+typedef int (*new_connection_handler_t)(struct connection *connection);
+typedef int (*input_handler_t)(struct connection *connection);
+typedef int (*connection_closed_handler_t)(struct connection *connection);
int fd;
struct sockaddr_in sin;
int max_connections;
int fd;
struct sockaddr_in sin;
int max_connections;
- connection_t *connections;
+ struct connection *connections;
new_connection_handler_t new_connection;
input_handler_t input;
connection_closed_handler_t connection_closed;
new_connection_handler_t new_connection;
input_handler_t input;
connection_closed_handler_t connection_closed;
static unsigned short tcl_port = 6666;
/* handlers */
static unsigned short tcl_port = 6666;
/* handlers */
-static int tcl_new_connection(connection_t *connection);
-static int tcl_input(connection_t *connection);
-static int tcl_output(connection_t *connection, const void *buf, ssize_t len);
-static int tcl_closed(connection_t *connection);
+static int tcl_new_connection(struct connection *connection);
+static int tcl_input(struct connection *connection);
+static int tcl_output(struct connection *connection, const void *buf, ssize_t len);
+static int tcl_closed(struct connection *connection);
/* write data out to a socket.
*
* this is a blocking write, so the return value must equal the length, if
* that is not the case then flag the connection with an output error.
*/
/* write data out to a socket.
*
* this is a blocking write, so the return value must equal the length, if
* that is not the case then flag the connection with an output error.
*/
-int tcl_output(connection_t *connection, const void *data, ssize_t len)
+int tcl_output(struct connection *connection, const void *data, ssize_t len)
{
ssize_t wlen;
struct tcl_connection *tclc;
{
ssize_t wlen;
struct tcl_connection *tclc;
-static int tcl_new_connection(connection_t *connection)
+static int tcl_new_connection(struct connection *connection)
{
struct tcl_connection *tclc;
{
struct tcl_connection *tclc;
-static int tcl_input(connection_t *connection)
+static int tcl_input(struct connection *connection)
-static int tcl_closed(connection_t *connection)
+static int tcl_closed(struct connection *connection)
{
/* cleanup connection context */
if (connection->priv) {
{
/* cleanup connection context */
if (connection->priv) {
* we write to it, we will fail. Subsequent write operations will
* succeed. Shudder!
*/
* we write to it, we will fail. Subsequent write operations will
* succeed. Shudder!
*/
-int telnet_write(connection_t *connection, const void *data, int len)
+int telnet_write(struct connection *connection, const void *data, int len)
{
struct telnet_connection *t_con = connection->priv;
if (t_con->closed)
{
struct telnet_connection *t_con = connection->priv;
if (t_con->closed)
return ERROR_SERVER_REMOTE_CLOSED;
}
return ERROR_SERVER_REMOTE_CLOSED;
}
-int telnet_prompt(connection_t *connection)
+int telnet_prompt(struct connection *connection)
{
struct telnet_connection *t_con = connection->priv;
{
struct telnet_connection *t_con = connection->priv;
return telnet_write(connection, t_con->prompt, strlen(t_con->prompt));
}
return telnet_write(connection, t_con->prompt, strlen(t_con->prompt));
}
-int telnet_outputline(connection_t *connection, const char *line)
+int telnet_outputline(struct connection *connection, const char *line)
int telnet_output(struct command_context_s *cmd_ctx, const char* line)
{
int telnet_output(struct command_context_s *cmd_ctx, const char* line)
{
- connection_t *connection = cmd_ctx->output_handler_priv;
+ struct connection *connection = cmd_ctx->output_handler_priv;
return telnet_outputline(connection, line);
}
return telnet_outputline(connection, line);
}
void telnet_log_callback(void *priv, const char *file, unsigned line,
const char *function, const char *string)
{
void telnet_log_callback(void *priv, const char *file, unsigned line,
const char *function, const char *string)
{
- connection_t *connection = priv;
+ struct connection *connection = priv;
struct telnet_connection *t_con = connection->priv;
int i;
struct telnet_connection *t_con = connection->priv;
int i;
telnet_write(connection, "\b", 1);
}
telnet_write(connection, "\b", 1);
}
-int telnet_new_connection(connection_t *connection)
+int telnet_new_connection(struct connection *connection)
{
struct telnet_connection *telnet_connection = malloc(sizeof(struct telnet_connection));
struct telnet_service *telnet_service = connection->service->priv;
{
struct telnet_connection *telnet_connection = malloc(sizeof(struct telnet_connection));
struct telnet_service *telnet_service = connection->service->priv;
-void telnet_clear_line(connection_t *connection, struct telnet_connection *t_con)
+void telnet_clear_line(struct connection *connection, struct telnet_connection *t_con)
{
/* move to end of line */
if (t_con->line_cursor < t_con->line_size)
{
/* move to end of line */
if (t_con->line_cursor < t_con->line_size)
t_con->line_cursor = 0;
}
t_con->line_cursor = 0;
}
-int telnet_input(connection_t *connection)
+int telnet_input(struct connection *connection)
{
int bytes_read;
char buffer[TELNET_BUFFER_SIZE];
{
int bytes_read;
char buffer[TELNET_BUFFER_SIZE];
-int telnet_connection_closed(connection_t *connection)
+int telnet_connection_closed(struct connection *connection)
{
struct telnet_connection *t_con = connection->priv;
int i;
{
struct telnet_connection *t_con = connection->priv;
int i;
-int telnet_set_prompt(connection_t *connection, char *prompt)
+int telnet_set_prompt(struct connection *connection, char *prompt)
{
struct telnet_connection *t_con = connection->priv;
{
struct telnet_connection *t_con = connection->priv;
Linking to existing account procedure
If you already have an account and want to add another login method
you
MUST first sign in with your existing account and
then change URL to read
https://review.openocd.org/login/?link
to get to this page again but this time it'll work for linking. Thank you.
SSH host keys fingerprints
1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=.. |
|+o.. . |
|*.o . . |
|+B . . . |
|Bo. = o S |
|Oo.+ + = |
|oB=.* = . o |
| =+=.+ + E |
|. .=o . o |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)