提交 306b236b 编写于 作者: A Alexandru Gagniuc 提交者: Tom Rini

common/xyzModem.c: unifdef (Remove useless #ifdefs)

Signed-off-by: NAlexandru Gagniuc <alex.g@adaptrum.com>
上级 0dcf18c6
...@@ -39,25 +39,17 @@ ...@@ -39,25 +39,17 @@
#define CAN 0x18 #define CAN 0x18
#define EOF 0x1A /* ^Z for DOS officionados */ #define EOF 0x1A /* ^Z for DOS officionados */
#define USE_YMODEM_LENGTH
/* Data & state local to the protocol */ /* Data & state local to the protocol */
static struct static struct
{ {
#ifdef REDBOOT
hal_virtual_comm_table_t *__chan;
#else
int *__chan; int *__chan;
#endif
unsigned char pkt[1024], *bufp; unsigned char pkt[1024], *bufp;
unsigned char blk, cblk, crc1, crc2; unsigned char blk, cblk, crc1, crc2;
unsigned char next_blk; /* Expected block */ unsigned char next_blk; /* Expected block */
int len, mode, total_retries; int len, mode, total_retries;
int total_SOH, total_STX, total_CAN; int total_SOH, total_STX, total_CAN;
bool crc_mode, at_eof, tx_ack; bool crc_mode, at_eof, tx_ack;
#ifdef USE_YMODEM_LENGTH
unsigned long file_length, read_length; unsigned long file_length, read_length;
#endif
} xyz; } xyz;
#define xyzModem_CHAR_TIMEOUT 2000 /* 2 seconds */ #define xyzModem_CHAR_TIMEOUT 2000 /* 2 seconds */
...@@ -66,7 +58,6 @@ static struct ...@@ -66,7 +58,6 @@ static struct
#define xyzModem_CAN_COUNT 3 /* Wait for 3 CAN before quitting */ #define xyzModem_CAN_COUNT 3 /* Wait for 3 CAN before quitting */
#ifndef REDBOOT /*SB */
typedef int cyg_int32; typedef int cyg_int32;
static int static int
CYGACC_COMM_IF_GETC_TIMEOUT (char chan, char *c) CYGACC_COMM_IF_GETC_TIMEOUT (char chan, char *c)
...@@ -156,17 +147,7 @@ parse_num (char *s, unsigned long *val, char **es, char *delim) ...@@ -156,17 +147,7 @@ parse_num (char *s, unsigned long *val, char **es, char *delim)
if (_is_hex (c) && ((digit = _from_hex (c)) < radix)) if (_is_hex (c) && ((digit = _from_hex (c)) < radix))
{ {
/* Valid digit */ /* Valid digit */
#ifdef CYGPKG_HAL_MIPS
/* FIXME: tx49 compiler generates 0x2539018 for MUL which */
/* isn't any good. */
if (16 == radix)
result = result << 4;
else
result = 10 * result;
result += digit;
#else
result = (result * radix) + digit; result = (result * radix) + digit;
#endif
} }
else else
{ {
...@@ -190,41 +171,8 @@ parse_num (char *s, unsigned long *val, char **es, char *delim) ...@@ -190,41 +171,8 @@ parse_num (char *s, unsigned long *val, char **es, char *delim)
return true; return true;
} }
#endif
#define USE_SPRINTF
#ifdef DEBUG #ifdef DEBUG
#ifndef USE_SPRINTF
/*
* Note: this debug setup only works if the target platform has two serial ports
* available so that the other one (currently only port 1) can be used for debug
* messages.
*/
static int
zm_dprintf (char *fmt, ...)
{
int cur_console;
va_list args;
va_start (args, fmt);
#ifdef REDBOOT
cur_console =
CYGACC_CALL_IF_SET_CONSOLE_COMM
(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
CYGACC_CALL_IF_SET_CONSOLE_COMM (1);
#endif
diag_vprintf (fmt, args);
#ifdef REDBOOT
CYGACC_CALL_IF_SET_CONSOLE_COMM (cur_console);
#endif
}
static void
zm_flush (void)
{
}
#else
/* /*
* Note: this debug setup works by storing the strings in a fixed buffer * Note: this debug setup works by storing the strings in a fixed buffer
*/ */
...@@ -253,23 +201,13 @@ zm_dprintf (char *fmt, ...) ...@@ -253,23 +201,13 @@ zm_dprintf (char *fmt, ...)
static void static void
zm_flush (void) zm_flush (void)
{ {
#ifdef REDBOOT
char *p = zm_out_start;
while (*p)
mon_write_char (*p++);
#endif
zm_out = zm_out_start; zm_out = zm_out_start;
} }
#endif
static void static void
zm_dump_buf (void *buf, int len) zm_dump_buf (void *buf, int len)
{ {
#ifdef REDBOOT
diag_vdump_buf_with_offset (zm_dprintf, buf, len, 0);
#else
#endif
} }
static unsigned char zm_buf[2048]; static unsigned char zm_buf[2048];
...@@ -476,9 +414,6 @@ xyzModem_get_hdr (void) ...@@ -476,9 +414,6 @@ xyzModem_get_hdr (void)
int int
xyzModem_stream_open (connection_info_t * info, int *err) xyzModem_stream_open (connection_info_t * info, int *err)
{ {
#ifdef REDBOOT
int console_chan;
#endif
int stat = 0; int stat = 0;
int retries = xyzModem_MAX_RETRIES; int retries = xyzModem_MAX_RETRIES;
int crc_retries = xyzModem_MAX_RETRIES_WITH_CRC; int crc_retries = xyzModem_MAX_RETRIES_WITH_CRC;
...@@ -492,29 +427,9 @@ xyzModem_stream_open (connection_info_t * info, int *err) ...@@ -492,29 +427,9 @@ xyzModem_stream_open (connection_info_t * info, int *err)
} }
#endif #endif
#ifdef REDBOOT
/* Set up the I/O channel. Note: this allows for using a different port in the future */
console_chan =
CYGACC_CALL_IF_SET_CONSOLE_COMM
(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
if (info->chan >= 0)
{
CYGACC_CALL_IF_SET_CONSOLE_COMM (info->chan);
}
else
{
CYGACC_CALL_IF_SET_CONSOLE_COMM (console_chan);
}
xyz.__chan = CYGACC_CALL_IF_CONSOLE_PROCS ();
CYGACC_CALL_IF_SET_CONSOLE_COMM (console_chan);
CYGACC_COMM_IF_CONTROL (*xyz.__chan, __COMMCTL_SET_TIMEOUT,
xyzModem_CHAR_TIMEOUT);
#else
/* TODO: CHECK ! */ /* TODO: CHECK ! */
int dummy = 0; int dummy = 0;
xyz.__chan = &dummy; xyz.__chan = &dummy;
#endif
xyz.len = 0; xyz.len = 0;
xyz.crc_mode = true; xyz.crc_mode = true;
xyz.at_eof = false; xyz.at_eof = false;
...@@ -524,10 +439,8 @@ xyzModem_stream_open (connection_info_t * info, int *err) ...@@ -524,10 +439,8 @@ xyzModem_stream_open (connection_info_t * info, int *err)
xyz.total_SOH = 0; xyz.total_SOH = 0;
xyz.total_STX = 0; xyz.total_STX = 0;
xyz.total_CAN = 0; xyz.total_CAN = 0;
#ifdef USE_YMODEM_LENGTH
xyz.read_length = 0; xyz.read_length = 0;
xyz.file_length = 0; xyz.file_length = 0;
#endif
CYGACC_COMM_IF_PUTC (*xyz.__chan, (xyz.crc_mode ? 'C' : NAK)); CYGACC_COMM_IF_PUTC (*xyz.__chan, (xyz.crc_mode ? 'C' : NAK));
...@@ -546,12 +459,10 @@ xyzModem_stream_open (connection_info_t * info, int *err) ...@@ -546,12 +459,10 @@ xyzModem_stream_open (connection_info_t * info, int *err)
/* Y-modem file information header */ /* Y-modem file information header */
if (xyz.blk == 0) if (xyz.blk == 0)
{ {
#ifdef USE_YMODEM_LENGTH
/* skip filename */ /* skip filename */
while (*xyz.bufp++); while (*xyz.bufp++);
/* get the length */ /* get the length */
parse_num ((char *) xyz.bufp, &xyz.file_length, NULL, " "); parse_num ((char *) xyz.bufp, &xyz.file_length, NULL, " ");
#endif
/* The rest of the file name data block quietly discarded */ /* The rest of the file name data block quietly discarded */
xyz.tx_ack = true; xyz.tx_ack = true;
} }
...@@ -604,13 +515,8 @@ xyzModem_stream_read (char *buf, int size, int *err) ...@@ -604,13 +515,8 @@ xyzModem_stream_read (char *buf, int size, int *err)
("ACK block %d (%d)\n", xyz.blk, __LINE__)); ("ACK block %d (%d)\n", xyz.blk, __LINE__));
xyz.next_blk = (xyz.next_blk + 1) & 0xFF; xyz.next_blk = (xyz.next_blk + 1) & 0xFF;
#if defined(xyzModem_zmodem) || defined(USE_YMODEM_LENGTH)
if (xyz.mode == xyzModem_xmodem || xyz.file_length == 0) if (xyz.mode == xyzModem_xmodem || xyz.file_length == 0)
{ {
#else
if (1)
{
#endif
/* Data blocks can be padded with ^Z (EOF) characters */ /* Data blocks can be padded with ^Z (EOF) characters */
/* This code tries to detect and remove them */ /* This code tries to detect and remove them */
if ((xyz.bufp[xyz.len - 1] == EOF) && if ((xyz.bufp[xyz.len - 1] == EOF) &&
...@@ -625,7 +531,6 @@ xyzModem_stream_read (char *buf, int size, int *err) ...@@ -625,7 +531,6 @@ xyzModem_stream_read (char *buf, int size, int *err)
} }
} }
#ifdef USE_YMODEM_LENGTH
/* /*
* See if accumulated length exceeds that of the file. * See if accumulated length exceeds that of the file.
* If so, reduce size (i.e., cut out pad bytes) * If so, reduce size (i.e., cut out pad bytes)
...@@ -640,7 +545,6 @@ xyzModem_stream_read (char *buf, int size, int *err) ...@@ -640,7 +545,6 @@ xyzModem_stream_read (char *buf, int size, int *err)
xyz.len -= (xyz.read_length - xyz.file_length); xyz.len -= (xyz.read_length - xyz.file_length);
} }
} }
#endif
break; break;
} }
else if (xyz.blk == ((xyz.next_blk - 1) & 0xFF)) else if (xyz.blk == ((xyz.next_blk - 1) & 0xFF))
...@@ -809,10 +713,3 @@ xyzModem_error (int err) ...@@ -809,10 +713,3 @@ xyzModem_error (int err)
/* /*
* RedBoot interface * RedBoot interface
*/ */
#if 0 /* SB */
GETC_IO_FUNCS (xyzModem_io, xyzModem_stream_open, xyzModem_stream_close,
xyzModem_stream_terminate, xyzModem_stream_read,
xyzModem_error);
RedBoot_load (xmodem, xyzModem_io, false, false, xyzModem_xmodem);
RedBoot_load (ymodem, xyzModem_io, false, false, xyzModem_ymodem);
#endif
...@@ -44,9 +44,6 @@ ...@@ -44,9 +44,6 @@
#define xyzModem_abort 2 #define xyzModem_abort 2
#ifdef REDBOOT
extern getc_io_funcs_t xyzModem_io;
#else
#define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT #define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT
#define CYGACC_CALL_IF_SET_CONSOLE_COMM(x) #define CYGACC_CALL_IF_SET_CONSOLE_COMM(x)
...@@ -60,12 +57,8 @@ typedef struct { ...@@ -60,12 +57,8 @@ typedef struct {
char *filename; char *filename;
int mode; int mode;
int chan; int chan;
#ifdef CYGPKG_REDBOOT_NETWORKING
struct sockaddr_in *server;
#endif
} connection_info_t; } connection_info_t;
#endif
int xyzModem_stream_open(connection_info_t *info, int *err); int xyzModem_stream_open(connection_info_t *info, int *err);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册