A few more telnet updates
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4348 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
2223c0eac0
commit
70433b7fd5
@ -173,4 +173,4 @@
|
||||
telnet infrastructure. The new telnet daemon creates sessions that are
|
||||
"wrapped" as character devices and mapped to stdin, stdout, and stderr.
|
||||
Now the telnet session can be inherited by spawned tasks.
|
||||
* examples/telnetd: Add a test for the nte telnet daemon.
|
||||
* examples/telnetd: Add a test for the new telnet daemon.
|
||||
|
@ -93,9 +93,9 @@ static struct ptentry_s g_parsetab[] =
|
||||
|
||||
static void shell_help(int argc, char **argv)
|
||||
{
|
||||
printf("Available commands:");
|
||||
printf(" help, ? - show help");
|
||||
printf(" exit - exit shell");
|
||||
printf("Available commands:\n");
|
||||
printf(" help, ? - show help\n");
|
||||
printf(" exit - exit shell\n");
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@ -157,8 +157,8 @@ int shell_session(int argc, char *argv[])
|
||||
{
|
||||
char line[128];
|
||||
|
||||
printf("uIP command shell -- NuttX style");
|
||||
printf("Type '?' and return for help");
|
||||
printf("uIP command shell -- NuttX style\n");
|
||||
printf("Type '?' and return for help\n");
|
||||
|
||||
for(;;)
|
||||
{
|
||||
|
@ -50,6 +50,10 @@
|
||||
* CONFIG_TELNETD_NPOLLWAITERS - If the poll method is enabled, then this
|
||||
* value will defined the maximum number of threads that can be waiting
|
||||
* for events. Default: 1
|
||||
* CONFIG_TELNETD_RXBUFFER_SIZE - The size of the telnet receive buffer.
|
||||
* Default: 256 bytes.
|
||||
* CONFIG_TELNETD_TXBUFFER_SIZE - The size of the telnet transmit buffer.
|
||||
* Default: 256 bytes.
|
||||
* CONFIG_TELNETD_DUMPBUFFER - dumping of all input/output buffers.
|
||||
*/
|
||||
|
||||
@ -59,8 +63,12 @@
|
||||
|
||||
/* Configurable settings */
|
||||
|
||||
#ifndef CONFIG_TELNETD_IOBUFFER_SIZE
|
||||
# define CONFIG_TELNETD_IOBUFFER_SIZE 512
|
||||
#ifndef CONFIG_TELNETD_RXBUFFER_SIZE
|
||||
# define CONFIG_TELNETD_RXBUFFER_SIZE 256
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_TELNETD_TXBUFFER_SIZE
|
||||
# define CONFIG_TELNETD_TXBUFFER_SIZE 256
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -107,8 +107,8 @@ struct telnetd_dev_s
|
||||
uint8_t td_offset; /* Offset to the valid, pending bytes in the rxbuffer */
|
||||
uint8_t td_crefs; /* The number of open references to the session */
|
||||
FAR struct socket *td_psock; /* A reference to the internal socket structure */
|
||||
char td_rxbuffer[CONFIG_TELNETD_IOBUFFER_SIZE];
|
||||
char td_txbuffer[CONFIG_TELNETD_IOBUFFER_SIZE];
|
||||
char td_rxbuffer[CONFIG_TELNETD_RXBUFFER_SIZE];
|
||||
char td_txbuffer[CONFIG_TELNETD_TXBUFFER_SIZE];
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
@ -518,7 +518,7 @@ static ssize_t telnetd_read(FAR struct file *filep, FAR char *buffer, size_t len
|
||||
else
|
||||
{
|
||||
ret = psock_recv(priv->td_psock, priv->td_rxbuffer,
|
||||
CONFIG_TELNETD_IOBUFFER_SIZE, 0);
|
||||
CONFIG_TELNETD_RXBUFFER_SIZE, 0);
|
||||
if (ret > 0)
|
||||
{
|
||||
/* Process the received telnet data */
|
||||
@ -558,9 +558,11 @@ static ssize_t telnetd_write(FAR struct file *filep, FAR const char *buffer, siz
|
||||
|
||||
eol = telnetd_putchar(priv, ch, &ncopied);
|
||||
|
||||
/* Was that the end of a line? */
|
||||
/* Was that the end of a line? Or is the buffer too full to hold the
|
||||
* next largest character sequence ("\r\n\0")?
|
||||
*/
|
||||
|
||||
if (eol)
|
||||
if (eol || ncopied > CONFIG_TELNETD_TXBUFFER_SIZE-3)
|
||||
{
|
||||
/* Yes... send the data now */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user