diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2022-01-30 18:42:33 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2022-03-19 09:05:27 +0000 |
commit | 99c77806fea2625dfa2b5a3234267634d0342388 (patch) | |
tree | f9ff271c8c349cdf4b75d77b97e5751841663edf /src/server/telnet_server.c | |
parent | 36e29f49e1582c4fe32e3e02600c8a49129551e5 (diff) | |
download | riscv-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.c | 12 |
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) { |