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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? download.c

?? hifn ipsec固件下載工具
?? C
?? 第 1 頁 / 共 5 頁
字號:
                                 sframe_p,                                 rframe_p);         if (status == HFTC_RESULT_UNKNOWN)         {            /* We need to retransmit, go back to last good position */            fseek(f,fpos,SEEK_SET);            blockNumber = savedBlock;            status = HFTC_CALL_AGAIN;         }         else         {            /* Success, save our file position in case we need to retransmit */            fpos = ftell(f);            dataRecord++;            savedBlock = blockNumber;         }      } while (status == HFTC_CALL_AGAIN);   } while (HFTC_FALSE);   return status;} /* End doDownloadConfig *//*----------------------------------------------------------------------------* *   download_file *----------------------------------------------------------------------------* * @ingroup CD_API_UTIL * @brief Download a code image. * * This uses the code download API to download one code image out of code * file. * * @param filename      RO: File to download. * @param param_p       RO: Parameters pointer * * @par Externals: *    PCIDeviceID       File static variable to hold the PCI device id, used *                      to know if we need to apply the Viper Patch. *    imagesLoaded      File static variable counting the number of images *                      loaded.  Used to prevent resets from occuring after *                      the first image has been loaded. * * @return *    HFTC_STATUS_OK    Download success * * @par Errors: *    HFTC_NO_MORE_RESOURCE     Resource exhausted. *    HFTC_FILE_ERROR           Couldn't open file, or no file. * * @par Assumptions: *    Assumes a single thread doing a download.  This is because of the *    file static socket data, and MII length pad workaround file static *    data. * *----------------------------------------------------------------------------*/HFTC_Status_t download_file(char               *filename,                            download_param_t   *param_p){   HFTC_Status_t           status       = HFTC_STATUS_OK;   HFTC_Status_t           closeStatus  = HFTC_STATUS_OK;   HFTC_Unit_t             unit         = 0;   HFTC_Status_t           istatus;   /*      Pointers to allocated data.   */   HFTC_Buffer_t       *codeBuffer              = NULL;   HFTC_Buffer_t       *sframe                  = NULL;   HFTC_Buffer_t       *rframe                  = NULL;   /*      Program Download Config Variables   */   uint32_t             frameLen                = FRAMELEN;   HFTC_Boolean_t       resetState              = HFTC_TRUE; /* On First Call */   HFTC_Boolean_t       force                   = HFTC_FALSE;   /* Download options passed to HFTC_CD_SetCodeDownloadOptions */   HFTC_DownloadOptions_t downloadOptions;   /* Program Argument Data Variables */   FILE                *f                       = NULL;   HFTC_Boolean_t       fileOpened              = HFTC_FALSE;   if (DL_DEBUG)   {      printf("-->%s (%s)\n", __func__, filename);   }   do   {      /*         Set frameLen based on the buffer length plus the overhead bytes         needed.  We will need this value set properly when we call         HFTC_CD_InitCodeDownload.      */      frameLen = param_p->codeBufferLen + HFTC_CODE_FRAME_OVERHEAD_BYTE_SIZE;      /*         Allocate code buffer and frame.      */      codeBuffer = HFTC_malloc(param_p->codeBufferLen);      if (codeBuffer == NULL)      {         printf("** ERROR: Allocation of buffer size = %d failed.\n",                param_p->codeBufferLen);         status = HFTC_NO_MORE_RESOURCE;         break;      }      sframe = HFTC_malloc(frameLen);      if (sframe == NULL)      {         printf("** ERROR: Allocation of framelen for transmit = %d failed.\n",                frameLen);         status = HFTC_NO_MORE_RESOURCE;         break;      }      rframe = HFTC_malloc(frameLen);      if (rframe == NULL)      {         printf("** ERROR: Allocation of framelen for receive = %d failed.\n",                frameLen);         status = HFTC_NO_MORE_RESOURCE;         break;      }      /*         Open the input file.      */      if (strlen(filename) == 0)      {         /* Print help. */         printf("** ERROR: No file name given.\n");         printUsage();         status = HFTC_FILE_ERROR;         break;      }      f = fopen(filename,"r");      if (f == NULL)      {         printf("** ERROR: Can't open file '%s'.\n", filename);         status = HFTC_FILE_ERROR;         break;      }      fileOpened = HFTC_TRUE;      if (DL_DEBUG)      {         printf("   %s opened %s\n", __func__, filename);      }      printf("  Downloading %s...%s",             filename,             strlen(filename) > 25 ? "\n    " : " ");      fflush(stdout);      /*         Open up a socket for send/receive of download data.       */      socket_fd_fs = HFTC_socket_open(param_p->interface, &socket_addr_fs,                                      HFTC_TRUE,                                      HFTC_PPCI_DEFAULT_TIMEOUT_MILLISECONDS);      if (socket_fd_fs == HFTC_INVALID_SOCKET_FD)      {         printf("** ERROR: socket open on interface '%s' failed!\n",                param_p->interface);         status = HFTC_SOCKET_ERROR;         break;      }      /*         Set any download options that we need.      */      if (param_p->mii133MHzDownload == HFTC_TRUE)      {         downloadOptions.version = HFTC_DOWNLOAD_OPTIONS_VERSION_1;         downloadOptions.mii133MHzDownload = HFTC_TRUE;         status = HFTC_CD_SetCodeDownloadOptions(unit, &downloadOptions);      }      if (status != HFTC_STATUS_OK)      {         printf("Set code download options failed; status = %s (%d).\n",                HFTC_Status_t_text(status), status);         break;      }      /*         Do the initCodeDownload call.      */      if (DL_DEBUG)      {         printf("   %s first init code download.  resetState=%s\n", __func__,                HFTC_Boolean_t_text(resetState));      }      status = doInitCodeDownload(unit,                                  resetState,                                  param_p,                                  frameLen,                                  sframe,                                  rframe);      resetState = HFTC_FALSE;      switch (status)      {         case HFTC_STATUS_OK:            if (DL_DEBUG)            {               printf("Successful init.\n");            }            break;         case HFTC_NOT_INITIALIZED:            if (DL_DEBUG)            {               printf("Boot ROM or DIAG code not running; %s",                (param_p->noSoftBootReset == HFTC_FALSE)                  ? "attempt soft boot reset.\n"                  : "continuing.\n");            }            force = HFTC_FALSE;            break;         default:            printf("** ERROR: Init code download failed.  Status = %s (%d).\n",                   HFTC_Status_t_text(status), status);            force = HFTC_TRUE;            break;      }      /*         Now we can gather some information and make sure the image will load.         We use a separate status here because we may want to still be able to         try doing a soft boot reset even if we couldn't get information.      */      istatus = doInfoGathering(f,                                unit,                                param_p->processorType,                                param_p->codeBufferLen,                                codeBuffer);      if (istatus != HFTC_STATUS_OK)      {         printf("Information-gathering failure.  Status = %s (%d).\n",                HFTC_Status_t_text(istatus), istatus);         status = istatus;         break;      }      /*         Softboot reset.         A soft boot reset may change the PPCI Address on the hardware.         Note that if a registration call was being done above, we would         need to do a registration call again before using the UT-API.         However, we have not done a registration call in this example, so         we don't need to register again.  Also, the code here is still         within the Download API realm, which knows that a soft boot reset         may change the PPCI address.  The call found a little lower to         doInitCodeDownload will eventually call HFTC_CD_InitCodeDownload,         which will reset the Download APIs concept of the PPCI address.      */      if ((param_p->forceSoftBootReset == HFTC_TRUE) ||          ((status != HFTC_STATUS_OK) &&           (param_p->noSoftBootReset == HFTC_FALSE)))      {         if (imagesLoaded > 0)         {            printf("\n\n"                   "Reset needed, yet this is not the first image loaded.\n"                   "This indicates a problem which will require a reset\n"                   "before loading.  Use the --force-reset flag to accomplish\n"                   "the reset.\n\n");            fflush(stdout);            break;         }         printf("reset...");         fflush(stdout);         status = doSoftBootReset(unit, force, sframe);         if (status != HFTC_STATUS_OK)         {            printf("Soft boot reset failed.  status = %s (%d).\n",                   HFTC_Status_t_text(status), status);            break;         }         /* Sleep a bit after the reset */         status = HFTC_nanosleep(250000000);         if (status != HFTC_STATUS_OK)         {            printf("\nHFTC_nanosleep failed, status = %s (%d)\n",                  HFTC_Status_t_text(status), status);            break;         }         /*            After a soft boot reset, the targets PPCI Address gets reset.            So, we reset the addresses here.         */         param_p->destPPCIAddrDpu = DEST_PPCIADDR_DPU;         param_p->destPPCIAddrEsc = DEST_PPCIADDR_ESC;         resetState = HFTC_TRUE;         /*            Since we just reset, apply the Viper reset patch if this is a            Viper.  Also, since we know this is a viper, we know we don't            need the MII length adjust, so set that parameter to false.  If            it is not a Viper, check if the load is over the MII.         */         if (is_viper())         {            status = viper_reset_patch(param_p);            MIIAdjust = HFTC_FALSE;         }         else if (param_p->miiDownload == HFTC_FALSE)         {            MIIAdjust = HFTC_FALSE;         }         /*            Do the initCodeDownload call again.  We are doing this again            because we called softbootreset.         */         if (DL_DEBUG)         {            printf("   %s init post soft reset.  resetState=%s\n", __func__,                   (resetState == HFTC_TRUE) ? "TRUE" : "FALSE");         }         status = doInitCodeDownload(unit,                                     resetState,                                     param_p,                                     frameLen,                                     sframe,                                     rframe);         if (status != HFTC_STATUS_OK)         {            printf("Init code download failed.  status = %s (%d).\n",                   HFTC_Status_t_text(status), status);            break;         }         resetState = HFTC_FALSE;      }      /*         Get back to the start of the file.      */      rewind(f);      /*         Now that we know we have a good image, start the download!      */      status = doCodeDownload(f,                              unit,                              param_p->codeBufferLen,                              frameLen,                              codeBuffer,                              sframe,                              rframe);      if (status != HFTC_STATUS_OK)      {         printf("Download failed!  status = %s (%d)\n",                HFTC_Status_t_text(status), status);         break;      }      /*         Verify that the code image was properly downloaded.      */      if (param_p->noVerify == HFTC_FALSE)      {         status = doCodeVerify(unit, frameLen, sframe, rframe);         if (status != HFTC_STATUS_OK)         {            printf("Verify failed!  status = %s (%d)\n",                   HFTC_Status_t_text(status), status);            break;         }      }      /*         Set to do long SDRAM test if requested      */      if (param_p->longSdramTest == HFTC_TRUE)      {         printf("Set to run long SDRAM test.  This runs as part of POST.\n");         status = setLongSdramTest(unit, frameLen, sframe, rframe);         if (status != HFTC_STATUS_OK)         {            printf("Set of Long SDRAM Test failed.  status = %s (%d)\n",                   HFTC_Status_t_text(status), status);            if (status == HFTC_INVALID_ENUM)            {               printf("Option not available for this firmware type,\n");               printf("thus the option is being ignored for this .cdl.\n");               status = HFTC_STATUS_OK;            }            else            {               break;            }         }         printf("Note: The SDRAM test may take up to %d seconds to run.\n",                RETRANSMIT_RETRY_SECONDS_LONG_POST);      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品自在在线| 日韩av电影天堂| 99视频在线精品| 韩国精品一区二区| 亚洲6080在线| 亚洲免费观看高清| 制服丝袜亚洲精品中文字幕| 91年精品国产| 成人av在线播放网址| 国产一区福利在线| 久久99精品国产| 久久99精品久久久久婷婷| 日本一区中文字幕| 亚洲乱码国产乱码精品精小说 | 亚洲色图色小说| 日韩美女精品在线| 亚洲人成精品久久久久久| 国产一区 二区| 麻豆成人免费电影| 亚洲啪啪综合av一区二区三区| 欧美三日本三级三级在线播放| 91热门视频在线观看| 国内外成人在线| 精品一区二区成人精品| 麻豆极品一区二区三区| 麻豆久久久久久| 久久成人免费日本黄色| 精品一区二区久久| 精品一区二区日韩| 免费观看30秒视频久久| 日韩精品欧美成人高清一区二区| 亚洲成人黄色影院| 亚洲国产精品久久一线不卡| 视频一区二区中文字幕| 久色婷婷小香蕉久久| 国产成人av影院| 91一区二区三区在线观看| 91蜜桃在线免费视频| 欧美巨大另类极品videosbest| 欧美私模裸体表演在线观看| 91精品国产手机| 国产午夜精品一区二区三区嫩草| ㊣最新国产の精品bt伙计久久| 国产网红主播福利一区二区| 中文字幕一区二区三| 偷拍与自拍一区| 韩国三级电影一区二区| 波多野结衣中文字幕一区 | 精品国产成人在线影院 | 日韩亚洲欧美中文三级| 精品va天堂亚洲国产| 国产色一区二区| 亚洲精品国久久99热| 老司机精品视频导航| 日产精品久久久久久久性色 | 欧美人妖巨大在线| www激情久久| 亚洲综合999| 国产精品一卡二卡| 91久久精品午夜一区二区| 欧美一卡在线观看| 中文字幕日本不卡| 美日韩一区二区| 欧美精品少妇一区二区三区| 一区二区三区四区精品在线视频 | 欧美日韩一区二区电影| 亚洲视频免费看| 91亚洲午夜精品久久久久久| 国产女同性恋一区二区| 国产激情视频一区二区三区欧美| 宅男噜噜噜66一区二区66| 午夜精品福利一区二区三区av| 成人免费va视频| 国产精品久99| 成人夜色视频网站在线观看| 精品久久一区二区| 久久99国内精品| 久久久精品综合| 国产成人精品亚洲日本在线桃色| 日韩欧美久久久| 五月天激情综合| 555夜色666亚洲国产免| 婷婷久久综合九色综合伊人色| 欧美丰满美乳xxx高潮www| 亚洲夂夂婷婷色拍ww47| 欧美色图在线观看| 日韩av一二三| 精品福利av导航| 国产成人丝袜美腿| 国产精品久久久99| 欧美羞羞免费网站| 亚洲免费观看视频| 欧美一区二区在线看| 国产大片一区二区| 国产精品国产三级国产aⅴ入口| caoporen国产精品视频| 亚洲一区二区三区视频在线 | 亚洲精品免费一二三区| 欧美性受xxxx黑人xyx| 日本成人中文字幕| 久久久精品tv| 欧美天堂亚洲电影院在线播放| 日本在线观看不卡视频| 久久久久久亚洲综合| 99久久亚洲一区二区三区青草| 亚洲国产一区二区三区| 精品成a人在线观看| 欧洲精品一区二区三区在线观看| 五月天久久比比资源色| 国产精品天天摸av网| 欧美日韩精品一区二区三区蜜桃| 久热成人在线视频| 亚洲伊人色欲综合网| 国产三级一区二区| 欧美日韩三级一区二区| 粉嫩高潮美女一区二区三区| 亚洲一区av在线| 中文字幕精品一区| 日韩视频不卡中文| 欧美亚一区二区| 成人av在线播放网址| 国内外成人在线视频| 午夜日韩在线观看| 亚洲欧美日韩国产综合在线| 日韩欧美成人激情| 欧美亚洲一区三区| 盗摄精品av一区二区三区| 免费高清视频精品| 香蕉乱码成人久久天堂爱免费| 国产婷婷一区二区| 日韩欧美亚洲另类制服综合在线| 日本精品裸体写真集在线观看| 国产寡妇亲子伦一区二区| 视频一区二区国产| 亚洲一区视频在线观看视频| 亚洲欧洲性图库| 一本一道久久a久久精品| 懂色av中文一区二区三区| 麻豆极品一区二区三区| 日韩综合小视频| 亚洲aⅴ怡春院| 亚欧色一区w666天堂| 亚洲高清久久久| 一区二区视频在线| 亚洲女爱视频在线| 日本一区二区不卡视频| 精品动漫一区二区三区在线观看| 欧美日韩精品三区| 欧美日韩中文国产| 欧美日韩一区二区三区在线| 欧美三级蜜桃2在线观看| 在线视频一区二区免费| 色视频欧美一区二区三区| 91久久精品午夜一区二区| 在线观看三级视频欧美| 欧美综合欧美视频| 欧美日韩亚洲国产综合| 欧美日韩国产区一| 欧美一区二视频| 欧美成人激情免费网| 26uuu亚洲| 国产精品久久久久久久久动漫| 国产精品美女视频| 亚洲色图第一区| 亚洲一区二区高清| 日韩电影网1区2区| 激情都市一区二区| 国产精品18久久久久久久久久久久| 国内精品不卡在线| 东方aⅴ免费观看久久av| 99久久免费精品高清特色大片| 色88888久久久久久影院按摩| 欧美日韩综合在线免费观看| 欧美丝袜第三区| 色偷偷久久人人79超碰人人澡| 在线区一区二视频| 欧美精品日韩一本| 久久亚洲欧美国产精品乐播 | 午夜精品久久久久| 国产精品99久久久久久久vr| 成人a区在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 色一情一乱一乱一91av| 777久久久精品| 久久久99久久| 亚洲国产精品欧美一二99| 国产一区二区三区视频在线播放| 成人精品视频一区二区三区尤物| 欧美视频三区在线播放| 国产欧美日韩视频一区二区| 亚洲自拍偷拍av| 丰满少妇在线播放bd日韩电影| 欧美日韩亚洲综合在线| 久久精品网站免费观看| 午夜久久久久久久久久一区二区| 国产在线视视频有精品| 欧美影片第一页| 欧美激情一区三区| 蜜臀av亚洲一区中文字幕| 一本色道久久综合亚洲aⅴ蜜桃 |