#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include <inttypes.h>
#include <time.h>
#include <string.h>
#include <ctype.h>
#include "efs.def"
#ifdef __cplusplus
extern "C" {
#endif
#pragma CODE_SECTION(PrintResult , ".commontext")
#pragma CODE_SECTION (transmit_file , ".nettextslow");
#pragma CODE_SECTION (user_menu , ".nettextslow");
#ifdef __cplusplus
}
#endif
#define TMENU1 0
#define TMENU2 1
#define EMPTY_LINE ""
" File upload... ",
" Boot command... ",
" New telnet connection established from ",
" Telnet file upload... ",
" Telnet connection closed\r\n",
" File download... ",
" success\r\n",
" error\r\n",
};
{
struct tm *local_time;
sprintf ( buffer, "%s", asctime (local_time));
buffer[24] = 0;
switch ( telnet_ret-> reason )
{
CPuts (
" input control switched to telnet session\r\n");
break;
sprintf ( buffer, "%s", asctime (local_time));
buffer[24] = 0;
CPrintf (
"\r\n ---------- UTC time: "VT100_BLUE"%s"VT100_DEFAULT
" ----------\r\n", buffer);
local_time = localtime ((const time_t *)&delta);
CPuts (
" session duration [hh:mm:ss]: ");
" %02d:%02d:%02d\r\n"
VT100_DEFAULT,
local_time->tm_hour, local_time->tm_min, local_time->tm_sec );
CPuts (
" input control switched back to serial terminal\r\n");
break;
default:
further_details = 1;
break;
}
if (!further_details) return;
switch ( telnet_ret-> error_code )
{
fp = telnet_ret-> fp;
if (telnet_ret-> offset==0)
{
if (!strncmp(fp->
dir,
"0:",2))
{
CPuts (
" RAM-disc:\r\n");
}
if (!strncmp(fp->
dir,
"1:",2))
{
CPuts (
" NAND-disc:\r\n");
}
#ifdef USE_SPIDRIVE
if (!strncmp(fp->
dir,
"2:",2))
{
}
#endif
}
else
{
CPrintf (
" EFS offset: 0x%08"PRIx32
"\r\n", telnet_ret-> offset);
}
CPrintf (
" file name: %s\r\n", fp-> name);
CPrintf (
" file size: %"PRId32
"\r\n", telnet_ret-> fp-> size);
break;
default:
net_print_error (telnet_ret-> error_code,
CPrintf);
break;
}
}
unsigned int rw,
unsigned int flags )
{
char *transmit_buffer;
{
return (0);
}
if ( transmit_buffer ==
NULL )
{
return (0);
}
dir-> data_con = server;
dir->
buffer = transmit_buffer;
dir-> pos = 0L;
dir-> rw = rw;
{
}
{
switch (dir-> error)
{
break;
break;
break;
break;
break;
break;
break;
break;
default:
}
}
else
{
}
return (0);
}
{
static unsigned int rw = 0;
static unsigned int menu_level =
TMENU1;
switch ( menu_level )
{
switch ( tolower(c) )
{
case 'u':
break;
case 'd':
break;
default :
rw = 0;
break;
}
break;
switch ( tolower(c) )
{
case 'i' :
{
}
else
{
}
transfer = &application;
break;
#ifdef HAS_SETUP_FILE
case 's' :
if ( rw & FTP_WRITE )
{
}
else
{
}
transfer = &setup;
break;
#endif
case 'c' :
if ( rw & FTP_WRITE )
{
}
else
{
}
transfer = &config;
break;
case 0x1b :
rw = 0;
break;
default :
break;
}
break;
default :
break;
}
if ( transfer )
{
telnet_ret->
fp = transfer;
return (1);
}
return (0);
}
#pragma CODE_SECTION(main , ".commontext");
{
int main_loop = 1;
CPrintf (
" *** timer %d mapped to CPU int %d ***\r\n",
CPuts (
" network startup time [sec]: ");
"%"PRId32".%03"PRId32"\r\n"
create_hello_msg(),
) == FALSE )
{
prg_exit (
"Telnet_initialize_server() failed");
}
CPrintf (
" *** Telnet port 23 open ***\r\n");
#ifdef HAS_SETUP_FILE
setup.buffer =
#endif
config.buffer = application.buffer =
NULL;
#ifdef HAS_SETUP_FILE
#endif
CPuts (
"\r\n Entering main loop, waiting for telnet connection ...\r\n");
while ( main_loop )
{
{
}
}
return (0);
}