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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? zsend.c

?? communication source code Zmodem
?? C
?? 第 1 頁 / 共 3 頁
字號:
/*--------------------------------------------------------------------------*/
/* 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 */



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人h动漫精品一区二区| 久久久精品免费免费| 久久久久久黄色| 日韩综合小视频| 色综合久久六月婷婷中文字幕| 日韩一级片在线观看| 亚洲欧美一区二区三区国产精品| 亚洲电影第三页| 99视频精品在线| 精品国产乱码久久久久久1区2区| 国产欧美一区视频| 2020国产精品| av资源网一区| 精品无码三级在线观看视频| 日韩一区二区三区精品视频| 日韩中文字幕1| 2021中文字幕一区亚洲| 国产精品18久久久久久vr| 久久久激情视频| 成人黄色免费短视频| 中文字幕一区二区三| 91麻豆福利精品推荐| 亚洲男人天堂av| 777午夜精品视频在线播放| 国产精品白丝jk白祙喷水网站| 欧美精品一区二区三区在线| 国产大陆亚洲精品国产| 国产精品久久久久久亚洲伦| 欧美三级中文字幕在线观看| 午夜国产精品影院在线观看| 欧美v国产在线一区二区三区| 韩国v欧美v亚洲v日本v| 日本一区二区综合亚洲| 成人av网址在线观看| 亚洲男人的天堂在线观看| 色综合色综合色综合 | 亚洲综合丁香婷婷六月香| 日本韩国精品在线| 肉肉av福利一精品导航| 欧美国产一区在线| 在线观看日韩电影| 粉嫩一区二区三区在线看| 久久久久国产一区二区三区四区| 久久se精品一区二区| 成人欧美一区二区三区在线播放| 99国产精品久久久久久久久久| 亚洲男女毛片无遮挡| 制服丝袜国产精品| av网站一区二区三区| 丝袜亚洲另类欧美综合| 亚洲国产精品传媒在线观看| 欧美日韩午夜在线视频| 成人黄色网址在线观看| 日韩高清一级片| 中文字幕在线视频一区| 日韩三级在线免费观看| 91黄色免费网站| 久久成人久久爱| 亚洲第一福利视频在线| 亚洲欧美中日韩| 欧美一级高清大全免费观看| 不卡区在线中文字幕| 韩国精品久久久| 免费视频最近日韩| 亚洲乱码中文字幕| 国产精品美女久久久久av爽李琼| 这里只有精品电影| 欧美日韩国产电影| 欧美日韩一区小说| 91成人免费在线视频| 91在线视频在线| 成人免费视频播放| 床上的激情91.| 国产一区在线视频| 麻豆一区二区三| 狠狠色丁香九九婷婷综合五月| 日韩精品1区2区3区| 天天影视色香欲综合网老头| 亚洲午夜一区二区| 天天av天天翘天天综合网| 亚洲3atv精品一区二区三区| 亚洲成人中文在线| 日本91福利区| 国产精品亚洲午夜一区二区三区| 国产一区二区三区免费| 国产精品一区二区久久不卡| 国产毛片一区二区| 国产成人丝袜美腿| 国产福利精品一区二区| 国产麻豆精品theporn| 成人午夜大片免费观看| 91免费观看国产| 在线播放中文字幕一区| 久久婷婷国产综合国色天香 | 51精品久久久久久久蜜臀| 午夜av区久久| 国产成人精品一区二区三区网站观看| 成人av资源在线| 欧美日韩一区成人| 久久久久97国产精华液好用吗| 久久九九影视网| 视频一区免费在线观看| 丰满白嫩尤物一区二区| 欧美精品一卡二卡| 中文字幕乱码久久午夜不卡| 五月天网站亚洲| www.亚洲人| 精品国产一区二区三区久久影院| 中文字幕中文乱码欧美一区二区| 日韩专区中文字幕一区二区| 成人激情免费网站| 日韩亚洲欧美一区| 成人欧美一区二区三区黑人麻豆| 亚洲国产日韩a在线播放性色| 成人的网站免费观看| 日韩欧美一级在线播放| 亚洲精品久久久久久国产精华液| 国产精品资源在线看| 91精品国产高清一区二区三区蜜臀| 国产精品进线69影院| 麻豆中文一区二区| 欧美精选一区二区| 一区二区三区四区国产精品| 高清视频一区二区| 亚洲精品在线一区二区| 日韩av电影免费观看高清完整版| 99re亚洲国产精品| 中文字幕一区二区三区在线播放| 国产电影一区在线| 国产欧美一区二区精品秋霞影院 | 在线视频国内自拍亚洲视频| 国产精品国产三级国产专播品爱网| 日本一不卡视频| 91精品福利在线一区二区三区 | 91精品国产色综合久久不卡电影 | 国产成人av资源| 国产日韩欧美不卡| 国产成人av电影免费在线观看| 精品日韩成人av| 玖玖九九国产精品| 久久久99久久| 972aa.com艺术欧美| 亚洲精品国产一区二区精华液 | 石原莉奈一区二区三区在线观看| 欧美视频你懂的| 奇米综合一区二区三区精品视频| 欧美一区二区视频在线观看2020| 青青草国产精品97视觉盛宴| 51精品国自产在线| 精品一区二区日韩| 国产欧美日本一区二区三区| 91国产丝袜在线播放| 老司机精品视频一区二区三区| 欧美本精品男人aⅴ天堂| 成人免费高清视频| 亚洲美女少妇撒尿| 精品国偷自产国产一区| 国产成人综合网站| 亚洲精品成人少妇| 精品久久国产字幕高潮| 99热精品一区二区| 免费观看日韩电影| 中文字幕一区二区三区精华液| 欧美色综合天天久久综合精品| 精品一区二区三区免费观看| 一区视频在线播放| 日韩视频免费直播| 色婷婷一区二区| 国产精品亚洲一区二区三区在线 | 欧美大肚乱孕交hd孕妇| 99国产精品99久久久久久| 日本欧美肥老太交大片| 亚洲另类中文字| 久久久久久久电影| 制服丝袜国产精品| 欧美伊人久久大香线蕉综合69 | 精品国产凹凸成av人网站| 在线看国产一区| 91丝袜美腿高跟国产极品老师 | 国产一区二区不卡老阿姨| 日本一区二区在线不卡| 久久网这里都是精品| 日韩情涩欧美日韩视频| 欧美日韩电影一区| 欧美怡红院视频| 色偷偷一区二区三区| gogogo免费视频观看亚洲一| 国产乱码精品一区二区三区五月婷| 午夜精品一区二区三区三上悠亚| 国产精品福利一区二区| 国产日本亚洲高清| 国产精品午夜春色av| 国产日韩欧美亚洲| 日韩视频一区二区| 欧美成人猛片aaaaaaa| 欧美一区二区精美| 精品电影一区二区三区| 久久美女艺术照精彩视频福利播放| 欧美成人r级一区二区三区| 久久一区二区视频|