X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fserver%2Ftelnet_server.h;h=27148d7ceeaee357c8f2af0b445206f65dc72c66;hb=ebf2d733409e140cb220d95eb3a915fed14d69a4;hp=7b4b4a2236474c7c7418051360dd3ff5113e449e;hpb=a32de76d61304b310d4ef16278ef3f50f6402d85;p=openocd.git diff --git a/src/server/telnet_server.h b/src/server/telnet_server.h index 7b4b4a2236..27148d7cee 100644 --- a/src/server/telnet_server.h +++ b/src/server/telnet_server.h @@ -2,6 +2,12 @@ * Copyright (C) 2005 by Dominic Rath * * Dominic.Rath@gmx.de * * * + * Copyright (C) 2007,2008 Øyvind Harboe * + * oyvind.harboe@zylin.com * + * * + * Copyright (C) 2008 by Spencer Oliver * + * spen@spen-soft.co.uk * + * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * @@ -13,23 +19,20 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * along with this program. If not, see . * ***************************************************************************/ -#ifndef TELNET_SERVER_H -#define TELNET_SERVER_H -#include "server.h" +#ifndef OPENOCD_SERVER_TELNET_SERVER_H +#define OPENOCD_SERVER_TELNET_SERVER_H + +#include -#define TELNET_BUFFER_SIZE (1024) +#define TELNET_BUFFER_SIZE (10*1024) -#define TELNET_OPTION_MAX_SIZE (128) #define TELNET_LINE_HISTORY_SIZE (128) -#define TELNET_LINE_MAX_SIZE (256) +#define TELNET_LINE_MAX_SIZE (10*256) -enum telnet_states -{ +enum telnet_states { TELNET_STATE_DATA, TELNET_STATE_IAC, TELNET_STATE_SB, @@ -41,28 +44,26 @@ enum telnet_states TELNET_STATE_ESCAPE, }; -typedef struct telnet_connection_s -{ +struct telnet_connection { char *prompt; - int suppress_prompt; + bool prompt_visible; enum telnet_states state; char line[TELNET_LINE_MAX_SIZE]; - int line_size; - int line_cursor; - char option[TELNET_OPTION_MAX_SIZE]; - int option_size; + size_t line_size; + size_t line_cursor; char last_escape; char *history[TELNET_LINE_HISTORY_SIZE]; - int next_history; - int current_history; -} telnet_connection_t; + size_t next_history; + size_t current_history; + bool closed; +}; -typedef struct telnet_service_s -{ +struct telnet_service { char *banner; -} telnet_service_t; +}; -extern int telnet_init(char *banner); -extern int telnet_register_commands(command_context_t *command_context); +int telnet_init(char *banner); +int telnet_register_commands(struct command_context *command_context); +void telnet_service_free(void); -#endif /* TELNET_SERVER_H */ +#endif /* OPENOCD_SERVER_TELNET_SERVER_H */