cygwin 1.7 build fixes
[fw/openocd] / src / server / tcl_server.c
index a12176eeac647bb716b1efaa75133c33658039e9..a772c0aca6d32ae0266d3a3717df9aceb6f92eaa 100644 (file)
@@ -81,13 +81,14 @@ static int tcl_new_connection(struct connection *connection)
 
 static int tcl_input(struct connection *connection)
 {
+       Jim_Interp *interp = (Jim_Interp *)connection->priv;
        int retval;
        int i;
        ssize_t rlen;
        const char *result;
        int reslen;
        struct tcl_connection *tclc;
-       char in[256];
+       unsigned char in[256];
 
        rlen = read_socket(connection->fd, &in, sizeof(in));
        if (rlen <= 0) {
@@ -156,7 +157,7 @@ static int tcl_closed(struct connection *connection)
        return ERROR_OK;
 }
 
-int tcl_init(void)
+int tcl_init(struct command_context *cmd_ctx)
 {
        int retval;
 
@@ -166,7 +167,9 @@ int tcl_init(void)
                return ERROR_OK;
        }
 
-       retval = add_service("tcl", CONNECTION_TCP, tcl_port, 1, tcl_new_connection, tcl_input, tcl_closed, NULL);
+       retval = add_service("tcl", CONNECTION_TCP, tcl_port, 1,
+                       &tcl_new_connection, &tcl_input,
+                       &tcl_closed, cmd_ctx->interp);
        return retval;
 }
 
@@ -175,10 +178,19 @@ COMMAND_HANDLER(handle_tcl_port_command)
        return CALL_COMMAND_HANDLER(server_port_command, &tcl_port);
 }
 
+static const struct command_registration tcl_command_handlers[] = {
+       {
+               .name = "tcl_port",
+               .handler = &handle_tcl_port_command,
+               .mode = COMMAND_CONFIG,
+               .help = "port on which to listen "
+                       "for incoming TCL syntax",
+               .usage = "<port>",
+       },
+       COMMAND_REGISTRATION_DONE
+};
+
 int tcl_register_commands(struct command_context *cmd_ctx)
 {
-       COMMAND_REGISTER(cmd_ctx, NULL, "tcl_port",
-                       handle_tcl_port_command, COMMAND_CONFIG,
-                       "port on which to listen for incoming TCL syntax");
-       return ERROR_OK;
+       return register_commands(cmd_ctx, NULL, tcl_command_handlers);
 }