diff options
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/server.c | 20 | ||||
-rw-r--r-- | src/server/server.h | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/server/server.c b/src/server/server.c index d2596112..03f0ee6e 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -549,3 +549,23 @@ int handle_shutdown_command(struct command_context_s *cmd_ctx, char *cmd, char * return ERROR_COMMAND_CLOSE_CONNECTION; } + +int server_port_command(struct command_context_s *cmd_ctx, + char *cmd, char **args, int argc, unsigned short *out) +{ + switch (argc) { + case 0: + command_print(cmd_ctx, "%d", *out); + break; + case 1: + { + uint16_t port; + COMMAND_PARSE_NUMBER(u16, args[0], port); + *out = port; + break; + } + default: + return ERROR_INVALID_ARGUMENTS; + } + return ERROR_OK; +} diff --git a/src/server/server.h b/src/server/server.h index 2dba3dab..dab28eca 100644 --- a/src/server/server.h +++ b/src/server/server.h @@ -75,6 +75,9 @@ extern int server_quit(void); extern int server_loop(command_context_t *command_context); extern int server_register_commands(command_context_t *context); +int server_port_command(struct command_context_s *cmd_ctx, + char *cmd, char **args, int argc, unsigned short *port); + extern int server_use_pipes; #define ERROR_SERVER_REMOTE_CLOSED (-400) |