aboutsummaryrefslogtreecommitdiff
path: root/src/server/telnet_server.c
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2022-01-30 18:42:33 +0100
committerAntonio Borneo <borneo.antonio@gmail.com>2022-03-19 09:05:27 +0000
commit99c77806fea2625dfa2b5a3234267634d0342388 (patch)
treef9ff271c8c349cdf4b75d77b97e5751841663edf /src/server/telnet_server.c
parent36e29f49e1582c4fe32e3e02600c8a49129551e5 (diff)
downloadriscv-openocd-99c77806fea2625dfa2b5a3234267634d0342388.zip
riscv-openocd-99c77806fea2625dfa2b5a3234267634d0342388.tar.gz
riscv-openocd-99c77806fea2625dfa2b5a3234267634d0342388.tar.bz2
server: change prototype of add_service()
To easily add new methods to a service, pass all the methods through a struct. While there, drop the typedef for the methods and add currently unused new methods to support keep-alive and connections during keep-alive. No change in functionality. Change-Id: I2b5e7140db95021f6e7201e9d631ee340c60b453 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6838 Reviewed-by: Tomas Vanek <vanekt@fbl.cz> Tested-by: jenkins
Diffstat (limited to 'src/server/telnet_server.c')
-rw-r--r--src/server/telnet_server.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/server/telnet_server.c b/src/server/telnet_server.c
index 2ebcff1..791a1a5 100644
--- a/src/server/telnet_server.c
+++ b/src/server/telnet_server.c
@@ -946,6 +946,15 @@ static int telnet_connection_closed(struct connection *connection)
return ERROR_OK;
}
+static const struct service_driver telnet_service_driver = {
+ .name = "telnet",
+ .new_connection_during_keep_alive_handler = NULL,
+ .new_connection_handler = telnet_new_connection,
+ .input_handler = telnet_input,
+ .connection_closed_handler = telnet_connection_closed,
+ .keep_client_alive_handler = NULL,
+};
+
int telnet_init(char *banner)
{
if (strcmp(telnet_port, "disabled") == 0) {
@@ -963,8 +972,7 @@ int telnet_init(char *banner)
telnet_service->banner = banner;
- int ret = add_service("telnet", telnet_port, CONNECTION_LIMIT_UNLIMITED,
- telnet_new_connection, telnet_input, telnet_connection_closed,
+ int ret = add_service(&telnet_service_driver, telnet_port, CONNECTION_LIMIT_UNLIMITED,
telnet_service);
if (ret != ERROR_OK) {