xmodem收发c程序实例
.h 文件
/*****************************************************************************/
/*
* xmodem
*/
/*************************************************************************************
*
* 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 (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* 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
*************************************************************************************/
#include
#include
#include
#include/*printf*/
#include/*open*/
#include/*bzero*/
#include/*exit*/
#include/*times*/
#include/*pid_t*/
#include/*termios,tcgetattr(),tcsetattr()*/
#include
#include/*ioctl*/
#include
#include/*bzero*/
/*
Xmodem Frame form: <255-blk #>
*/
#define XMODEM_SOH 0x01
#define XMODEM_STX 0x02
#define XMODEM_EOT 0x04
#define XMODEM_ACK 0x06
#define XMODEM_NAK 0x15
#define XMODEM_CAN 0x18
#define XMODEM_CRC_CHR'C'
#define XMODEM_CRC_SIZE 2/* Crc_High Byte + Crc_Low Byte */
#define XMODEM_FRAME_ID_SIZE 2 /* Frame_Id + 255-Frame_Id */
#define XMODEM_DATA_SIZE_SOH 128 /* for Xmodem protocol */
#define XMODEM_DATA_SIZE_STX 1024 /* for 1K xmodem protocol */
#define USE_1K_XMODEM 0 /* 1 for use 1k_xmodem 0 for xmodem */
#defineTIMEOUT_USEC0
#defineTIME