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

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

?? main.c

?? 一個(gè)使用IPX協(xié)議在兩臺(tái)機(jī)器間傳送文件的程序
?? C
字號(hào):
/*

   MAIN.C

   (c) 1996 Oliver Kraus

   Versions:
      1.0        simple transfer version
      2.0        rewritten
      2.1        keep date/time, crc-16
      2.2        write error with zero-size files
      2.3        rewitten file access
      2.4        check for *.*
      2.5        new packet size, lfn, ratio calculation
      2.6        lfn switch, direntry overflow error, path problems
      2.7        kill switch

*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include "tptx.h"
#include "tprx.h"
#include "crdir.h"
#include "cmdline.h"
#include "cbreak.h"
/* #include "debugmem.h" */

char *init_error = "init error";
/*
      time    bytes/s size      pos/crc   name
 xxx% xxxx.xs xxxxxxx xxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
*/
char *head_str =
"     time    bytes/s       pos/size crc  name\n"
"------------------------------------------------------------------------------\n";


long cl_socket = 2007;
int is_subdir  = 0;
int is_help    = 0;
int is_test_mode = 0;
int is_disable_crc = 0;
int is_crc32 = 0;
int is_nobreak = 0;
int is_verbose = 0;
int is_lfn = 0;
int is_terminate = 0;

cl_entry_struct cl_list[] =
{
   { CL_TYP_LONG, "sn",    &cl_socket,  0 },
   { CL_TYP_ON,   "test",  &is_test_mode,  0 },
   { CL_TYP_ON,   "nocrc", &is_disable_crc,  0 },
   { CL_TYP_ON,   "crc32", &is_crc32,  0 },
   { CL_TYP_ON,   "kill",  &is_terminate,  0 },
   { CL_TYP_ON,   "nobreak", &is_nobreak,  0 },
   { CL_TYP_ON,   "help",  &is_help,    0 },
   { CL_TYP_ON,   "lfn",   &is_lfn,     0 },
   { CL_TYP_ON,   "h",     &is_help,    0 },
   { CL_TYP_ON,   "?",     &is_help,    0 },
   { CL_TYP_ON,   "s",     &is_subdir,  0 },
   { CL_TYP_ON,   "v",     &is_verbose,  0 },
   CL_ENTRY_LAST
};

void help(void)
{
   printf("ipxcopy [options] [filemask]          V2.7 " __DATE__ "\n");
   printf("file transfer program, based on ipx\n");
   printf("freeware by Oliver Kraus, kraus@lrs.e-technik.uni-erlangen.de\n");
   printf("options:\n");
   printf("   -h -?        show this text\n");
   printf("   -sn num      socketnumber (current: %ld)\n", cl_socket );
   printf("transmitter only:\n");
   printf("   -v           verbose mode\n" );
   printf("   -s           include subdirectories\n" );
   printf("   -test        do not write files\n");
   printf("   -nocrc       disable crc\n");
   printf("   -crc32       use crc-32 (default: crc-16)\n");
   printf("   -lfn         use win95 long file names\n");
   printf("   -kill        kill receiver\n");
   printf("receiver only:\n");
   printf("   -nobreak     do not stop on errors\n");
   printf("filemask:\n");
   printf("   *   match zero, one or more characters\n");
   printf("   ?   match exactly one character\n");
}

void print_pdata(tp_pdata_struct *d, int is_end)
{
   long t;
   size_t len, offset = 0;
   t = clock()-d->file_start;
   len = strlen(d->path);
   if ( len > 37 )
      offset = len-37;
   if ( is_end == 0 )
   {
      printf("%3ld%% %4ld.%lds %7ld %9ld/%-9ld %-37s\r",
         d->curr < 0x07fff0000L/100L ?
            (long)(d->curr*100L)/d->total :
            (long)((d->curr>>8)*100L)/(d->total>>8),
         (long)t/CLOCKS_PER_SEC,
         (long)(((t*10L)/CLOCKS_PER_SEC) % 10L),
         d->curr < 0x07fff0000L/CLOCKS_PER_SEC ?
            (d->curr*CLOCKS_PER_SEC)/t :
            (d->curr/t)*CLOCKS_PER_SEC,
         (long)d->curr,
         (long)d->total,
         d->path+offset);
   }
   else
   {
      printf("%3ld%% %4ld.%lds %7ld %9ld  %08lx %-37s\r",
         (long)(100L),
         (long)t/CLOCKS_PER_SEC,
         (long)(((t*10L)/CLOCKS_PER_SEC) % 10L),
         d->curr < 0x07fff0000L/CLOCKS_PER_SEC ?
            (d->curr*CLOCKS_PER_SEC)/t : (d->curr/t)*CLOCKS_PER_SEC,
         (long)d->total,
         (unsigned long)d->crc,
         d->path+offset);
   }
   fflush(stdout);
}

int rx_aux( int msg, void *data )
{
   tp_pdata_struct *d = (tp_pdata_struct *)data;
   switch(msg)
   {
      case TP_MSG_PSTART:
         break;
      case TP_MSG_PDATA:
         print_pdata(d, 0);
         break;
      case TP_MSG_PEND:
         print_pdata(d, 1);
         printf("\n");
         /* printf("retransmitted packets: %ld\n", d->missed); */
         break;
   }
   return 1;
}


int rx()
{
   tprx_type tprx;
   tprx = tprx_Open((short)cl_socket);
   if ( tprx == NULL )
      return 1;
   tprx_SetAux(tprx, rx_aux);
   if ( is_nobreak != 0 )
      tprx_DisableBreak(tprx);
   printf(head_str);
   for(;;)
   {
      if ( tprx_Dispatch(tprx) != 0 )
         break;
   }
   tprx_Close(tprx);
   return 0;
}

int tx_aux( int msg, void *data )
{
   tp_pdata_struct *d = (tp_pdata_struct *)data;
   switch(msg)
   {
      case TP_MSG_PSTART:
         break;
      case TP_MSG_PDATA:
         print_pdata(d, 0);
         break;
      case TP_MSG_PEND:
         print_pdata(d, 1);
         printf("\n");
         break;
   }
   return 1;
}

int tx(tptx_type tptx, char *phy_name, char *log_name, char *log_sname)
{
   int ret;
   tptx_Send(tptx, phy_name, log_name, log_sname);

   for(;;)
   {
      ret = tptx_Dispatch(tptx);
      if ( ret == 2 )
         return 0;
      if ( ret != 0 )
         break;
   }
   return 1;
}

int file_tx()
{
   static char drive[10];
   static char dir[C_MAX_PATHNAME];
   static char fname[C_MAX_FILE];
   static char ext[C_MAX_FILE];
   static char path[C_MAX_PATHNAME];
   CRDIR *d;
   struct c_dirent *e;
   tptx_type tptx;
   clock_t total_start = clock();
   clock_t total_time;
   long files, dirs;

   /* strupr(cl_file_list[0]); */

   _splitpath( cl_file_list[0], drive, dir, fname, ext );
   strcpy(path, drive);
   strcat(path, dir);
   strcat(fname, ext);
   if ( strcmp(fname, "*.*") == 0 )
      strcpy(fname, "*");

   if ( is_verbose != 0 )
   {
      printf("path: %s\n", path);
      printf("mask: %s\n", fname);
   }

   if ( is_subdir )
      d = c_openrdir(path, fname,
         CRDIR_GO_DIRS|CRDIR_RET_DIRS|CRDIR_MATCH_LFN|CRDIR_REL_PATH);
   else
      d = c_openrdir(path, fname, CRDIR_MATCH_LFN|CRDIR_REL_PATH);

   if ( d == NULL )
   {
      printf("init error with path '%s', filemask '%s'\n", path, fname);
      return 0;
   }

   tptx = tptx_Open((short)cl_socket, is_lfn);
   if ( tptx == NULL )
   {
      c_closerdir(d);
      return 0;
   }
   tptx_SetAux(tptx, tx_aux);
   if ( is_test_mode != 0 )
      tptx_SetFlag(tptx, TP_FLAG_IS_TEST_MODE);
   if ( is_disable_crc != 0 )
      tptx_SetFlag(tptx, TP_FLAG_IS_DISABLE_CRC);
   if ( is_crc32 != 0 )
      tptx_SetFlag(tptx, TP_FLAG_IS_CRC32);

   files = 0;
   dirs = 0;

   printf(head_str);
   for(;;)
   {
      static char phy_path[C_MAX_PATHNAME];
      static char log_path[C_MAX_PATHNAME];
      static char log_spath[C_MAX_PATHNAME];
      e = c_readrdir(d);
      if ( e == NULL )
         break;

      if ( (tptx->flags & TP_FLAG_IS_LFN) == 0 )
      {
         sprintf(phy_path, "%s%s","",c_get_short_name(e));
         sprintf(log_path, "%s%s",c_getspath(d),c_get_short_name(e));
         sprintf(log_spath, "%s%s",c_getspath(d),c_get_short_name(e));
      }
      else
      {
         /* this is currently the short name, because we use fopen */
         sprintf(phy_path, "%s%s","",c_get_short_name(e));

         sprintf(log_path, "%s%s",c_getpath(d),c_get_name(e));
         sprintf(log_spath, "%s%s",c_getspath(d),c_get_short_name(e));
      }
      if ( is_verbose != 0 )
      {

         if ( (tptx->flags & TP_FLAG_IS_LFN) != 0 )
            fprintf(stdout, "lfn: ");
         fprintf(stdout, "%s --> %s\n", phy_path, log_path);
         /* fprintf(stdout, "%s, %s\n", c_get_name(e), c_get_short_name(e)); */
         fflush(stdout);
      }
      if ( c_is_dir(e) != 0 )
      {
         dirs++;
         if ( tx(tptx, NULL, log_path, log_spath) == 0 )
            break;
      }
      else
      {
         files++;
         if ( tx(tptx, phy_path, log_path, log_spath) == 0 )
            break;
      }
   }
   c_closerdir(d);

   if ( e == NULL )
   {
      total_time = clock()-total_start;
      printf("      ------ ------- ---------\n");
      printf("     %4ld.%lds %7ld %9ld bytes in %ld files and %ld dirs\n",
            (long)tptx->f_time_sum/CLOCKS_PER_SEC,
            (long)(((tptx->f_time_sum*10L)/CLOCKS_PER_SEC) % 10L),
            tptx->f_len_sum < 0x07fff0000L/CLOCKS_PER_SEC ?
               (tptx->f_len_sum*CLOCKS_PER_SEC)/tptx->f_time_sum :
               (tptx->f_len_sum/tptx->f_time_sum)*CLOCKS_PER_SEC,
            (long)tptx->f_len_sum, files, dirs);
      if ( is_verbose != 0 )
      {
         printf("total%4ld.%lds %7ld %9ld\n",
               (long)total_time/CLOCKS_PER_SEC,
               (long)(((total_time*10L)/CLOCKS_PER_SEC) % 10L),
               tptx->f_len_sum < 0x07fff0000L/CLOCKS_PER_SEC ?
                  (tptx->f_len_sum*CLOCKS_PER_SEC)/total_time :
                  (tptx->f_len_sum/total_time)*CLOCKS_PER_SEC,
               (long)tptx->f_len_sum);
      }
   }

   tptx_Close(tptx);

   return 1;
}


int main(int argc, char *argv[])
{
   static char path[C_MAX_PATHNAME];
   int ret;

   /*
   FILE *fp = fopen("error.log", "w");
   malloc_SetWarningLevel(8);
   malloc_SetStream(fp);
   */

   if ( cl_Do(cl_list, argc, argv) == 0 )
   {
      puts("cmdline error");
      help();
      return 1;
   }

   if ( is_help != 0 )
   {
      help();
      return 1;
   }

   break_Install();

   strcpy(path, c_getcwd());

   if ( is_terminate != 0 )
   {
      tptx_type tptx;
      tptx = tptx_Open((short)cl_socket, is_lfn);
      if ( tptx != NULL )
      {
         puts("ipxcopy: sending kill signal");
         tptx_TerminateReceiver(tptx);
         tptx_Close(tptx);
      }
   }
   else
   {
      if ( cl_file_cnt < 1 )
      {
         puts("ipxcopy receiver (-h for help)");
         ret = (rx() == 0 ? 1 : 0);
      }
      else
      {
         puts("ipxcopy transmitter");
         if ( is_test_mode != 0 )
            puts("test mode enabled");
         if ( is_disable_crc != 0 )
            puts("crc calculation disabled");
         ret = (file_tx() == 0 ? 1 : 0);
      }
   }

   /*
   malloc_PrintInfo();
   fclose(fp);
   */

   c_set_path(path);




   break_Remove();

   return ret;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣中文字幕一区二区三区| 日韩精品中文字幕一区二区三区 | 精品国精品国产| 这里只有精品免费| 欧美高清视频一二三区 | 国产欧美一区二区三区在线老狼| 日韩一区二区视频在线观看| 欧美乱妇一区二区三区不卡视频| 91高清在线观看| 色婷婷综合久久久久中文一区二区 | 成人污视频在线观看| 成人午夜伦理影院| 不卡电影一区二区三区| av不卡在线观看| 色悠悠久久综合| 欧美伊人久久大香线蕉综合69| 欧美日韩在线三级| 日韩亚洲欧美高清| 久久久久久夜精品精品免费| 国产日韩精品一区二区浪潮av| 国产精品国产自产拍高清av王其| 亚洲人吸女人奶水| 日韩精品一级中文字幕精品视频免费观看 | 天堂久久久久va久久久久| 日韩精品亚洲专区| 黑人精品欧美一区二区蜜桃| 懂色一区二区三区免费观看| 91丝袜高跟美女视频| 欧美日韩一区二区三区免费看| 7878成人国产在线观看| 久久青草国产手机看片福利盒子| 国产精品不卡一区二区三区| 伊人色综合久久天天| 奇米综合一区二区三区精品视频| 国产精品亚洲一区二区三区妖精| av在线不卡免费看| 欧美高清视频www夜色资源网| 日韩久久免费av| 中文字幕一区二区三区在线不卡| 亚洲成人手机在线| 国产精品一区二区在线观看网站| 色狠狠综合天天综合综合| 日韩欧美在线123| 国产精品久久久久久久久图文区| 亚洲成人激情社区| 国产精品99久久久| 欧美日韩精品免费观看视频| 国产亚洲一二三区| 亚洲国产综合人成综合网站| 国产黄色91视频| 9191久久久久久久久久久| 久久久蜜桃精品| 调教+趴+乳夹+国产+精品| 风间由美一区二区三区在线观看| 欧美精品在线观看一区二区| 欧美激情一区二区在线| 亚洲va天堂va国产va久| 国产**成人网毛片九色| 欧美一卡二卡三卡| 亚洲美女在线国产| 国产精品一区二区久激情瑜伽| 欧美日韩午夜在线| 国产精品久久久久影院亚瑟| 免费观看日韩电影| 日本久久一区二区| 国产亚洲一区字幕| 日本成人在线网站| 色国产精品一区在线观看| 久久网站最新地址| 日本美女视频一区二区| 色婷婷精品久久二区二区蜜臀av| www欧美成人18+| 日韩国产一区二| 91精品1区2区| 国产精品免费av| 极品少妇一区二区| 538prom精品视频线放| 亚洲精品欧美在线| 波多野结衣一区二区三区| 精品国产污污免费网站入口| 视频一区二区中文字幕| 欧美在线小视频| 亚洲人成电影网站色mp4| 国产91精品欧美| 久久亚洲精品小早川怜子| 日韩电影免费在线看| 欧美日韩国产精选| 夜夜揉揉日日人人青青一国产精品| 99视频精品全部免费在线| 欧美激情综合五月色丁香小说| 国产综合一区二区| 久久综合网色—综合色88| 美女网站在线免费欧美精品| 欧美一区二区三区四区五区| 香蕉成人啪国产精品视频综合网| 色视频一区二区| 亚洲精品国产视频| 色综合网色综合| 日韩伦理免费电影| 99久久综合狠狠综合久久| 国产精品福利电影一区二区三区四区| 国产精品一线二线三线| 久久久国产精品麻豆 | 日韩欧美一区二区视频| 青青草国产成人99久久| 日韩欧美国产成人一区二区| 久久99精品国产麻豆婷婷洗澡| 日韩欧美国产精品| 国产自产高清不卡| 久久精品视频在线看| 成人免费视频视频在线观看免费| 国产日韩欧美不卡| 99re这里只有精品视频首页| **网站欧美大片在线观看| 色综合久久久久网| 亚洲一区二区三区影院| 欧美另类一区二区三区| 免费成人深夜小野草| 亚洲精品一区在线观看| 国产精品一区二区在线观看网站| 国产欧美一区二区精品久导航| 成人高清免费观看| 亚洲狼人国产精品| 欧美日韩精品免费观看视频| 免费高清成人在线| 精品99999| 99r国产精品| 午夜精品久久久久久久99水蜜桃| 日韩视频123| 国产精品99久久不卡二区| 亚洲欧美偷拍三级| 欧美丰满一区二区免费视频| 精品写真视频在线观看| 国产精品高清亚洲| 欧美日韩免费在线视频| 久久99久久99| **欧美大码日韩| 91精品国产色综合久久不卡蜜臀| 激情五月激情综合网| 亚洲日本在线观看| 日韩视频在线一区二区| 国产成人在线色| 亚洲狠狠丁香婷婷综合久久久| 日韩一区二区中文字幕| 成人av午夜电影| 婷婷国产v国产偷v亚洲高清| 久久精品视频在线免费观看| 欧日韩精品视频| 国内精品伊人久久久久av一坑 | 亚洲成人免费视| 精品成人一区二区| 日本电影欧美片| 久久电影网电视剧免费观看| 自拍视频在线观看一区二区| 91麻豆精品国产自产在线观看一区 | 91免费版在线| 精品亚洲欧美一区| 亚洲老妇xxxxxx| 久久女同精品一区二区| 在线看日韩精品电影| 国产呦精品一区二区三区网站 | 99国产精品久久久久| 美国十次了思思久久精品导航| 综合久久国产九一剧情麻豆| 欧美一级免费大片| 91色在线porny| 国产伦精品一区二区三区免费迷| 亚洲一区二区三区视频在线| 国产午夜精品一区二区| 欧美一区二区美女| 欧美主播一区二区三区美女| 盗摄精品av一区二区三区| 免费成人av在线| 一区二区三区蜜桃网| 国产精品乱人伦一区二区| 日韩免费一区二区三区在线播放| 一本大道综合伊人精品热热| 国产剧情在线观看一区二区| 日本欧美大码aⅴ在线播放| 一片黄亚洲嫩模| 自拍偷拍欧美精品| 国产亚洲污的网站| 欧美成va人片在线观看| 欧美日韩国产高清一区| 在线免费亚洲电影| 91香蕉视频在线| 成人理论电影网| 国产精品一区免费视频| 久久99精品国产91久久来源| 日韩精品色哟哟| 亚洲国产精品一区二区www在线| 国产精品免费久久久久| 欧美激情综合五月色丁香| 久久美女高清视频| 日韩亚洲欧美综合| 91精品国产综合久久久蜜臀粉嫩 | 亚洲成人免费在线观看| 亚洲乱码国产乱码精品精98午夜| 国产精品人人做人人爽人人添| 欧美激情一区二区三区|