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.
*/
-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;
}
/* connections */
-static int tcl_new_connection(connection_t *connection)
+static int tcl_new_connection(struct connection *connection)
{
struct tcl_connection *tclc;
return ERROR_OK;
}
-static int tcl_input(connection_t *connection)
+static int tcl_input(struct connection *connection)
{
+ Jim_Interp *interp = (Jim_Interp *)connection->priv;
int retval;
int i;
ssize_t rlen;
return ERROR_OK;
}
-static int tcl_closed(connection_t *connection)
+static int tcl_closed(struct connection *connection)
{
/* cleanup connection context */
if (connection->priv) {
return ERROR_OK;
}
-int tcl_init(void)
+int tcl_init(struct command_context *cmd_ctx)
{
int retval;
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;
}
return CALL_COMMAND_HANDLER(server_port_command, &tcl_port);
}
-int tcl_register_commands(command_context_t *cmd_ctx)
+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)
{
- register_command(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);
}