亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? zsend.c

?? zmodem文件傳輸協(xié)議的源碼
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
/*--------------------------------------------------------------------------*/
/* FILE: zsend.c    (Opus zmodem transmitter)                               */
/*                                                                          */
/*                                                                          */
/*               The Opus Computer-Based Conversation System                */
/*       (c) Copyright 1986, Wynn Wagner III, All Rights Reserved           */
/*                                                                          */
/*      This implementation of Chuck Forsberg's ZMODEM protocol was         */
/*              for Opus by Rick Huebner and Wynn Wagner III                */
/*                                                                          */
/* (MSC/4 with /Zp /Ox)                                                     */
/*                                                                          */
/*                                                                          */
/*                                                                          */
/*                                                                          */
/*  This module is similar to a routine used by Opus-Cbcs (1.00).  It is    */
/*  provided for your information only.  You will find routines that need   */
/*  to be coded and identifiers to be resolved.                             */
/*                                                                          */
/*  There is absolutely no guarantee that anything here will work.  If you  */
/*  break this routine, you own both pieces.                                */
/*                                                                          */
/*  USAGE:  You may use this material in any program with no obligation     */
/*          as long as there is no charge for your program.  For more       */
/*          information about commercial use, contact the "OPUSinfo HERE"   */
/*          BBS (124/111).                                                  */
/*                                                                          */
/*  NOTE:   There are a couple of things the Opus implementation does that  */
/*          aren't part of the original ZModem protocol.  They all deal     */
/*          with WaZOO type ("ZedZap") netmail and should only show up when */
/*          used under that condition.                                      */
/*                                                                          */
/*             * The maximum packet size can grow larger than 1k.  It is    */
/*               sensitive to the baud rate.  (2400b=2048k; 9600b=8192k)    */
/*             * The sender must be able to send nothing.  In other words,  */
/*               the sending system must be able to initiate and terminate  */
/*               a zmodem send session without having to actually send a    */
/*               file.  Normally this kind of thing would never happen in   */
/*               zmodem.                                                    */
/*                                                                          */
/*                                                                          */
/*--------------------------------------------------------------------------*/

#include "zmodem.h"


/*--------------------------------------------------------------------------*/
/* Global routines                                                          */
/*--------------------------------------------------------------------------*/
int cdecl send_Zmodem(byte *,byte *,int,int,int);


/*--------------------------------------------------------------------------*/
/* Private routines                                                         */
/*--------------------------------------------------------------------------*/
static void pascal ZS_SendBinaryHeader(unsigned short ,byte *);
static void pascal ZS_SendData(byte *,int,unsigned short);
static void pascal ZS_SendByte(byte);
static int  pascal ZS_GetReceiverInfo(void);
static int  pascal ZS_SendFile(int,int);
static int  pascal ZS_SendFileData(int);
static int  pascal ZS_SyncWithReceiver(void);
static void pascal ZS_EndSend(void);



/*--------------------------------------------------------------------------*/
/* Private data                                                             */
/*--------------------------------------------------------------------------*/
static FILE *Infile;             /* Handle of file being sent               */
static byte *Txbuf;              /* Pointer to transmit buffer              */
static long  Strtpos;            /* Starting byte position of download      */
static long  Txpos;              /* Transmitted file position               */
static int Rxbuflen;             /* Receiver's max buffer length            */


/*--------------------------------------------------------------------------*/
/* External data not otherwise declared                                     */
/*--------------------------------------------------------------------------*/
extern char *FLAGGING_msg;
extern char *NOTSENT_msg;
extern char *TRUNC_msg;
extern char *KBD_msg;






/*--------------------------------------------------------------------------*/
/* SEND ZMODEM (send a file)                                                */
/*   returns TRUE (1) for good xfer, FALSE (0) for bad                      */
/*   sends one file per call; 'fsent' flags start and end of batch          */
/*--------------------------------------------------------------------------*/
int cdecl send_Zmodem(fname,alias,doafter,fsent,wazoo)
   byte  *fname;
   byte  *alias;
   int   doafter;
   int   fsent;
   int   wazoo;
   begin
      register byte *p;
      register byte *q;
      struct stat    f;

      int   i;
      int   rc;


      _BRK_DISABLE();
      XON_ENABLE();

      errno    =
      z_size   = 0;
      Infile   = NULL;
      Txbuf    = NULL;



      if (fname) set_xy("");

      switch(fsent)
         begin
            case 0:
            case NOTHING_TO_DO:  n_disable();
                                 if (!wazoo)
                                    begin
                                       Z_PutString("rz\r");
                                       Z_PutLongIntoHeader(0L);
                                       Z_SendHexHeader(ZRQINIT, Txhdr);
                                    end
                                 Rxtimeout   = 20;
                                 if (ZS_GetReceiverInfo() == ERROR) return FALSE;
         end


      Rxtimeout   = (int )(614400L/(long )cur_baud);
      Rxtimeout  /= 10;

      if (Rxtimeout < 10) Rxtimeout = 10;
      if (Rxtimeout > 58) Rxtimeout = 58;


      if (fname == NULL) goto Done;

      /*--------------------------------------------------------------------*/
      /* Prepare the file for transmission.  Just ignore file open errors   */
      /* because there may be other files that can be sent.                 */
      /*--------------------------------------------------------------------*/
      Filename = fname;
      CLEAR_IOERR();
      Infile   = fopen(Filename,read_binary);
      if (had_error(OPEN_msg,Filename)) return OK;
      
      Txbuf    = zalloc();

      /*--------------------------------------------------------------------*/
      /* Send the file                                                      */
      /*--------------------------------------------------------------------*/
      rc       = TRUE;


      /*--------------------------------------------------------------------*/
      /* Display outbound filename, size, and ETA for sysop                 */
      /*--------------------------------------------------------------------*/
      fstat(fileno(Infile), &f);

      message(NULL);
      cprintf( "Z-Send %s, %ldb",Filename,f.st_size);

      i  = (int)(f.st_size*10/cur_baud+27)/54;
      if (i) cprintf(", %d min.",i);

      set_xy(NULL);

      /*--------------------------------------------------------------------*/
      /* Get outgoing file name; no directory path, lower case              */
      /*--------------------------------------------------------------------*/
      for (p=(alias!=NULL)?alias:Filename, q=Txbuf ; *p; )
         begin
            if ((*q++ = tolower(*p)) == '\\') q = Txbuf;
            p++;
         end

      *q++  = '\0';
      p     = q;

      /*--------------------------------------------------------------------*/
      /* Zero out remainder of file header packet                           */
      /*--------------------------------------------------------------------*/
      while (q < (Txbuf + KSIZE)) *q++ = '\0';

      /*--------------------------------------------------------------------*/
      /* Store filesize, time last modified, and file mode in header packet */
      /*--------------------------------------------------------------------*/
      sprintf(p, "%lu %lo %o", f.st_size, f.st_mtime, f.st_mode);

      /*--------------------------------------------------------------------*/
      /* Transmit the filename block and begin the download                 */
      /*--------------------------------------------------------------------*/
      throughput(0,0L);


      /*--------------------------------------------------------------------*/
      /* Check the results                                                  */
      /*--------------------------------------------------------------------*/
      switch( ZS_SendFile(1+strlen(p)+(p-Txbuf), wazoo) )
         begin

            case ERROR: /*--------------------------------------------------*/
                        /* Something tragic happened                        */
                        /*--------------------------------------------------*/
                        if (wazoo)
                           begin
                              status_line( NOTSENT_msg );
                              mdm_hangup();
                           end
                        goto Err_Out;


            case OK:    /*--------------------------------------------------*/
                        /* File was sent                                    */
                        /*--------------------------------------------------*/
                        CLEAR_IOERR();
                        fclose(Infile);
                        had_error(CLOSE_msg,Filename);
                        Infile   = NULL;

                        status_line( "=DL %s", Filename );

                        /*--------------------------------------------------*/
                        /* Special WaZOO file handling following a          */
                        /* successful transmission.                         */
                        /*--------------------------------------------------*/
                        switch(doafter)
                           begin
                              case DELETE_AFTER:   /*-----------------------*/
                                                   /* Delete File           */
                                                   /*-----------------------*/
                                                   CLEAR_IOERR();
                                                   unlink(Filename);
                                                   had_error(UNLINK_msg,Filename);
                                                   break;
   
                              case TRUNC_AFTER:    /*-----------------------*/
                                                   /* Truncate File         */
                                                   /*-----------------------*/
                                                   CLEAR_IOERR();
                                                   i = open(Filename,O_TRUNC,S_IWRITE);
                                                   had_error( TRUNC_msg, Filename );
                                                   status_line(FLAGGING_msg,Filename);
                                                   close(i);
                                                   break;
                           end /* switch */


            default:    /*--------------------------------------------------*/
                        /* Probably a ZSKIP                                 */
                        /*--------------------------------------------------*/
                        goto Done;

         end /* switch */

Err_Out:
      rc = FALSE;

Done:
      if (Infile) fclose(Infile);
      if (Txbuf)  free(Txbuf);

      if (fsent < 0) ZS_EndSend();

      return rc;

   end /* send_Zmodem */



?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久一二三区| 亚洲一区在线看| 精品成人私密视频| 欧美精品成人一区二区三区四区| 91亚洲精华国产精华精华液| 99re6这里只有精品视频在线观看| 99久久99久久综合| 91麻豆福利精品推荐| 色综合色综合色综合| 91色视频在线| 欧美亚州韩日在线看免费版国语版| 色av综合在线| 欧美老女人在线| 欧美精品九九99久久| 日韩亚洲欧美一区| 精品美女一区二区三区| 国产亚洲欧美日韩俺去了| 国产日韩精品一区二区浪潮av| 欧美激情一区不卡| 最新中文字幕一区二区三区| 亚洲最大色网站| 午夜在线成人av| 九色porny丨国产精品| 高清视频一区二区| 色综合天天综合网国产成人综合天| 在线精品观看国产| 欧美一区二区三区精品| 久久亚洲私人国产精品va媚药| 国产精品久久久久三级| 亚洲一区在线播放| 狠狠色狠狠色综合日日91app| 丁香激情综合国产| 欧美综合在线视频| 精品国精品国产尤物美女| 亚洲国产精品高清| 亚洲午夜久久久久中文字幕久| 日本成人在线看| 国产69精品久久99不卡| 91久久精品网| 欧美成人在线直播| 综合久久久久综合| 全部av―极品视觉盛宴亚洲| 国产精品123区| 在线免费观看日本一区| 日韩精品自拍偷拍| 椎名由奈av一区二区三区| 婷婷久久综合九色综合绿巨人| 国产精品综合二区| 欧美日韩精品三区| 国产精品久久久久久久久久免费看| 偷窥少妇高潮呻吟av久久免费| 国产福利电影一区二区三区| 欧美日韩激情一区| 中文字幕精品一区二区精品绿巨人 | 精品制服美女久久| 成人免费va视频| 欧美一区三区四区| 亚洲美女视频一区| 国产一区二区精品久久91| 99视频一区二区| 日韩一级二级三级精品视频| 日韩理论电影院| 国产毛片一区二区| 91精品国产综合久久久蜜臀图片| 国产精品久久免费看| 美女mm1313爽爽久久久蜜臀| 色综合天天天天做夜夜夜夜做| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲成av人在线观看| 不卡一二三区首页| 久久久精品免费免费| 日本系列欧美系列| 91黄色激情网站| 日本一区二区三区国色天香| 久久9热精品视频| 欧美日韩国产免费一区二区| 国产精品国产三级国产有无不卡| 久久er精品视频| 91精品黄色片免费大全| 亚洲综合清纯丝袜自拍| 99riav一区二区三区| 国产欧美日韩三级| 九色综合国产一区二区三区| 91精品国产综合久久精品性色| 一区二区三区精品在线观看| a级精品国产片在线观看| 国产亚洲女人久久久久毛片| 日本美女一区二区| 欧美一区二区三区在线电影| 亚洲成人久久影院| 欧美这里有精品| 亚洲午夜av在线| 欧美三级中文字幕| 亚洲成年人影院| 欧美午夜精品久久久久久超碰| 日韩一区在线看| 99热这里都是精品| 国产精品久久午夜夜伦鲁鲁| 成人免费视频视频在线观看免费 | 精品国产精品网麻豆系列 | 97se亚洲国产综合自在线| 国产欧美1区2区3区| 岛国一区二区在线观看| 国产精品丝袜在线| 99精品视频一区二区三区| 国产精品理论片在线观看| 不卡影院免费观看| 国产女同性恋一区二区| 成人激情文学综合网| 亚洲欧洲另类国产综合| 99视频超级精品| 一区二区成人在线视频| 欧美日韩小视频| 婷婷夜色潮精品综合在线| 日韩亚洲欧美在线| 国产一区二区视频在线| 日本一区二区三级电影在线观看 | 国产精品99久久久久| 久久久精品国产99久久精品芒果| 高潮精品一区videoshd| 国产精品国产三级国产三级人妇| 99久久国产综合精品女不卡| 一区二区三区美女视频| 91精品国产一区二区三区| 久久99久久久久久久久久久| 国产亚洲精久久久久久| 91一区二区在线| 亚洲不卡一区二区三区| 精品黑人一区二区三区久久| 国产精品一区二区在线播放| 亚洲色图.com| 91精品综合久久久久久| 国产成人午夜精品5599| 亚洲丝袜自拍清纯另类| 欧美日韩国产经典色站一区二区三区| 麻豆精品视频在线观看免费| 国产欧美一区视频| 欧美色图在线观看| 国产一区二区三区免费看 | 国产高清精品网站| 亚洲男女毛片无遮挡| 日韩一区二区在线看| 成人福利视频网站| 亚洲国产精品麻豆| 久久伊人中文字幕| 色88888久久久久久影院野外 | 91精品福利视频| 激情图片小说一区| 亚洲精品视频在线观看网站| 日韩欧美一区在线| 成人动漫精品一区二区| 天天色天天操综合| 久久久噜噜噜久噜久久综合| 欧美特级限制片免费在线观看| 国产一区欧美一区| 亚洲一区二区三区四区不卡| 久久九九全国免费| 综合婷婷亚洲小说| 日韩精品一区二| 在线精品视频小说1| 国产精品系列在线观看| 天天免费综合色| 国产精品久久影院| 欧美精品一区二区三区高清aⅴ| 色综合久久久久久久久| 国产一区91精品张津瑜| 亚洲一区二区三区激情| 国产精品国产精品国产专区不片| 91精品蜜臀在线一区尤物| 99久久99久久精品免费观看 | 欧美伊人精品成人久久综合97| 狠狠狠色丁香婷婷综合激情| 亚洲永久免费视频| 国产精品女人毛片| 26uuu国产一区二区三区| 在线综合+亚洲+欧美中文字幕| 91在线你懂得| 国产精品99久久久久| 老司机精品视频在线| 亚洲尤物在线视频观看| 亚洲欧洲日本在线| 国产欧美日韩另类视频免费观看| 日韩亚洲欧美在线| 欧美日韩久久久一区| 色综合天天综合| av中文一区二区三区| 国产黑丝在线一区二区三区| 精品在线免费观看| 青青草国产精品亚洲专区无| 亚洲图片有声小说| 一区二区三区蜜桃网| 亚洲激情在线播放| 1000部国产精品成人观看| 国产精品区一区二区三| 国产日韩欧美一区二区三区乱码| 久久久综合视频| 精品国产91久久久久久久妲己 | 国产精品美女www爽爽爽| 久久精品一区二区三区四区| 欧美va亚洲va在线观看蝴蝶网|