📄 dnsetshow.c
字号:
/*
* File: dnsetshow.c
* Purpose: Set/show commands related to network downloads
*
* Notes:
*/
#include "src/include/dbug.h"
#include "src/uif/net/net.h"
#ifdef DBUG_NETWORK
/********************************************************************/
const char IPFMT[] = "%d.%d.%d.%d\n";
const char SETERR3[] = "Error: Invalid IP address: %s\n";
/********************************************************************/
int
ip_convert_address (char *ipstring, uint8 ipaddr[])
{
int i,j,k,l;
l = strlen(ipstring);
for (i = 0; i < l; i++)
{
if ((ipstring[i] != '.') && ((ipstring[i] < '0') ||
(ipstring[i] > '9')))
{
return 0;
}
}
/* the characters in the string are at least valid */
j = 0;
k = 0;
for (i = 0; i < l; i++)
{
if (ipstring[i] != '.')
{
if (++j > 3) /* number of digits in portion */
return 0;
}
else
{
if (++k > 3) /* number of periods */
return 0;
if (j == 0) /* number of digits in portion */
return 0;
else
j = 0;
}
}
/* at this point, all the pieces are good, form ip_address */
k = 0; j = 0;
for (i = 0; i < l; i++)
{
if (ipstring[i] != '.')
{
k = (k * 10) + ipstring[i] - '0';
}
else
{
ipaddr[j++] = (unsigned char)k;
k = 0;
}
}
ipaddr[j] = (uint8)k;
return 1;
}
/********************************************************************/
void
uif_setcmd_server (int argc, char **argv)
{
uint8 netaddr[4]; /* IP address */
(void)argc;
if (argv[2] == NULL)
{
board_get_server(netaddr);
printf(IPFMT,
netaddr[0],
netaddr[1],
netaddr[2],
netaddr[3]);
return;
}
if (!ip_convert_address(argv[2],netaddr))
{
printf(SETERR3,argv[2]);
return;
}
board_set_server(netaddr);
}
/********************************************************************/
void
uif_setcmd_client (int argc, char **argv)
{
uint8 netaddr[4]; /* IP address */
(void)argc;
if (argv[2] == NULL)
{
board_get_client(netaddr);
printf(IPFMT,
netaddr[0],
netaddr[1],
netaddr[2],
netaddr[3]);
return;
}
if (!ip_convert_address(argv[2],netaddr))
{
printf(SETERR3,argv[2]);
return;
}
board_set_client(netaddr);
}
/********************************************************************/
void
uif_setcmd_gateway (int argc, char **argv)
{
uint8 netaddr[4]; /* IP address */
(void)argc;
if (argv[2] == NULL)
{
board_get_gateway(netaddr);
printf(IPFMT,
netaddr[0],
netaddr[1],
netaddr[2],
netaddr[3]);
return;
}
if (!ip_convert_address(argv[2],netaddr))
{
printf(SETERR3,argv[2]);
return;
}
board_set_gateway(netaddr);
}
/********************************************************************/
void
uif_setcmd_netmask (int argc, char **argv)
{
uint8 netaddr[4]; /* IP address */
(void)argc;
if (argv[2] == NULL)
{
board_get_netmask(netaddr);
printf(IPFMT,
netaddr[0],
netaddr[1],
netaddr[2],
netaddr[3]);
return;
}
if (!ip_convert_address(argv[2],netaddr))
{
printf(SETERR3,argv[2]);
return;
}
board_set_netmask(netaddr);
}
/********************************************************************/
void
uif_setcmd_filename (int argc, char **argv)
{
char fn[128];
(void)argc;
if (argv[2] == NULL)
{
board_get_filename(fn);
printf("%s\n",fn);
return;
}
board_set_filename(argv[2]);
}
/********************************************************************/
void
uif_setcmd_filetype (int argc, char **argv)
{
(void)argc;
if (argv[2] == NULL)
{
switch (board_get_filetype())
{
case UIF_DLIO_COFF:
printf("COFF\n");
break;
case UIF_DLIO_SREC:
printf("S-Record\n");
break;
case UIF_DLIO_ELF:
printf("ELF\n");
break;
case UIF_DLIO_IMAGE:
printf("Image\n");
break;
default:
/* board_set_filetype(DOWNLOAD_SREC); */
printf("Unknown\n");
break;
}
return;
}
if (strncasecmp(argv[2],"image",1) == 0)
{
board_set_filetype(UIF_DLIO_IMAGE);
return;
}
if (strncasecmp(argv[2],"srecord",1) == 0)
{
board_set_filetype(UIF_DLIO_SREC);
return;
}
if (strncasecmp(argv[2],"coff",1) == 0)
{
board_set_filetype(UIF_DLIO_COFF);
return;
}
if (strncasecmp(argv[2],"elf",1) == 0)
{
board_set_filetype(UIF_DLIO_ELF);
return;
}
printf("Error: Invalid Filetype: %s\n",argv[2]);
}
/********************************************************************/
#if 0
void
uif_setcmd_autoboot (int argc, char **argv)
{
(void)argc;
if (argv[2] == NULL)
{
if (board_get_autoboot())
{
printf("On\n");
}
else
{
printf("Off\n");
}
return;
}
if (strncasecmp(argv[2],"on",2) == 0)
{
board_set_autoboot(1);
}
else
{
board_set_autoboot(0);
}
}
#endif
/********************************************************************/
#endif /* #ifdef DBUG_NETWORK */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -