📄 utils.c
字号:
#ifndef lintstatic const char rcsid[] = "$Id: utils.c,v 1.2 2001/10/25 23:56:29 efalk Exp $" ;#endif/* * Copyright (c) 1995 by Edward A. Falk *//********** * * * @ @ @@@@@ @@@ @ @@@@ * @ @ @ @ @ @ * @ @ @ @ @ @@@ * @ @ @ @ @ @ * @@@ @ @@@ @@@@@ @@@@ * * UTILS - utilities used by xmodem library. * * Routines provided here: * * * name (args) * Brief description. * * int sendCancel() * * send cancel string <CAN><CAN> * * * int sendFlush(c) * char c ; * * flush input, send one character, return nonzero on error * * * int sendChr(c) * char c ; * * send one character, return nonzero on error * * * int sendStr(str, len) * char *str ; * int len ; * * send string, return nonzero on error * * * int calcChecksum(ptr, count) * char *ptr ; * int count ; * * compute checksum (used by xmodem) * * * Edward A. Falk * * January, 1995 * * * **********/#include <sys/termios.h>#include <sys/ioctl.h>#include "xmodem.h"intsendCancel(){ return sendFlush(CAN) || sendFlush(CAN) ;} /* send one character, return nonzero on error */intsendFlush(char c){ /* first, flush input port */ /* TODO: caller provide a way to do this? */ if( xmRfd == -1 ) return XmErrNotOpen ; /* TODO: caller provides flush */ if( ioctl(xmRfd, TCFLSH, TCIFLUSH) == -1 ) return XmErrSys ; return sendChr(c) ;} /* send one character, return nonzero on error */intsendChr(char c){ /* TODO: caller provide character output func? */ if( xmTfd == -1 ) return XmErrNotOpen ; return write(xmTfd, &c, 1) ==1 ? 0 : XmErrSys ;} /* send multiple characters, return nonzero on error */intsendStr(char *str, int len){ /* TODO: caller provide character output func? */ if( xmTfd == -1 ) return XmErrNotOpen ; return write(xmTfd, str, len) == len ? 0 : XmErrSys ;} /* compute checksum */intcalcChecksum(char *ptr, int count){ register int csum = 0 ; while( --count >= 0 ) csum += (u_char) *ptr++ ; return csum & 255 ;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -