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

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

?? iso9660.c

?? fat16文件系統源碼。需要的請下
?? C
?? 第 1 頁 / 共 3 頁
字號:



/*F**************************************************************************
* NAME: iso_goto_next
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   - OK: next file available
*   - KO: last file reached
*   - KO: low_level memory error
*----------------------------------------------------------------------------
* PURPOSE:
*   Fetch the next dir/file info in cache
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/ 
bit iso_goto_next(void)
{
  if (iso_file_index < (iso_file_max_index - 1))
  {
    iso_file_index++;
    iso_dseek(iso_current_dir_file[iso_file_index]);
    iso_fetch_directory_info(&iso_file_cache.info);
    return OK;
  }
  return KO;
}

/*F**************************************************************************
* NAME: iso_goto_prev
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   - OK: previous file available
*   - KO: first file reached
*   - KO: low_level memory error
*----------------------------------------------------------------------------
* PURPOSE:
*   Fetch the previous directory info in cache
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/ 
bit iso_goto_prev(void)
{
  if (iso_file_index != 2)            /* first file of the directory? */
  {
    iso_dseek((Int16) (-iso_current_dir_file[iso_file_index]));
    iso_file_index--;
    iso_fetch_directory_info(&iso_file_cache.info);
    return OK;
  }
  else
    return KO;  
}



/*F**************************************************************************
* NAME: iso_goto_parent_dir
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   - OK: there is a selected file in the parent dir
*   - KO: there is not a selected file in the parent dir
*----------------------------------------------------------------------------
* PURPOSE:
*   go to the parent directory (equivalent to a cd ..)
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/ 
bit iso_goto_parent_dir(void)
{
  iso_dir_current_sect = iso_file_cache.parent.extend_location;
  iso_dir_size = iso_file_cache.parent.extend_size / iso_header.logical_block_size;

  iso_dir_start_sect = iso_dir_current_sect;
  iso_dir_byte_count = 0;
  Hard_iso_read_open(iso_dir_current_sect);
  iso_get_file_dir();

  iso_dir_current_sect = iso_dir_start_sect;
  iso_dir_byte_count = 0;
  Hard_iso_read_open(iso_dir_current_sect);
  iso_dseek(iso_current_dir_file[0]);
  iso_fetch_directory_info(&iso_file_cache.parent);         /* the . dir */

  iso_dseek(iso_current_dir_file[1]);
  iso_fetch_directory_info(&iso_file_cache.parent);         /* the .. dir */

  iso_file_index = 1;

  return iso_goto_next();
}



/*F**************************************************************************
* NAME: iso_get_name
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Return the address of the file name string
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
char pdata * iso_get_name(void)
{
  return (lfn_name);
}


/*F**************************************************************************
* NAME: iso_check_ext
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Return the type of the file
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Byte iso_check_ext(void)
{
 if ((iso_file_cache.info.attributes & ATTR_ISO_DIR) == ATTR_ISO_DIR)
  {
    return FILE_DIR;
  }
  else
  {
    if ( (ext[0] == 'M')
        && (ext[1] == 'P')
        && (ext[2] == '3'))
    {
      return FILE_MP3;
    }
    else
    if ((ext[0] == 'W')
        && (ext[1] == 'A')
        && (ext[2] == 'V'))
    {
      return FILE_WAV;
    }
    else
    if ((ext[0] == 'S')
        && (ext[1] == 'Y')
        && (ext[2] == 'S'))
    {
      return FILE_SYS;
    }
    else
    {
      return FILE_XXX;
    }
  }
}

/*F**************************************************************************
* NAME: iso_fopen
*----------------------------------------------------------------------------
* PARAMS:
*  
* return:
*   - OK: file opened
*   - KO: file not opened: low level read error
*                          
*----------------------------------------------------------------------------
* PURPOSE:
*   Open the file in read or write mode
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit iso_fopen(void)
{
  iso_f_current_sect = iso_file_cache.info.extend_location;
  iso_current_byte_counter = 0;
  iso_f_max_sector = (Uint16 )((iso_file_cache.info.extend_size / 2048) + 1);
  iso_f_nb_sector = 0;
  return (Hard_iso_read_open(iso_f_current_sect));
}


/*F**************************************************************************
* NAME: iso_fgetc
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   byte read
*----------------------------------------------------------------------------
* PURPOSE:
*   Read one byte from file
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   As this function is called very often it must be short and optimized
*   in execution time
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Byte iso_fgetc(void)
{

  if (((Byte*)&iso_current_byte_counter)[0] == 0x08)
  { 
    iso_f_current_sect++;
    iso_f_nb_sector++;
    iso_current_byte_counter = 0;
  }
  iso_current_byte_counter++;
  return Hard_iso_read_byte();
}


/*F**************************************************************************
* NAME: iso_dgetw
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   word read
*----------------------------------------------------------------------------
* PURPOSE:
*   Read one word from directory
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Uint16 iso_dgetw(void)
{
  if (((Byte*)&iso_dir_byte_count)[0] == 0x08)
  {
    iso_dir_current_sect++;
    iso_dir_byte_count = 2;
    Hard_iso_read_open(iso_dir_current_sect);
  }
  else
  {
    iso_dir_byte_count += 2;
  }
  return Hard_iso_read_word();
}



/*F**************************************************************************
* NAME: iso_feof
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Return the file end flag
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit iso_feof(void)
{
  if (iso_f_nb_sector > iso_f_max_sector)
  {
    return OK;
  }
  if (iso_f_nb_sector == iso_f_max_sector)
  {
    if (iso_current_byte_counter >= (iso_file_cache.info.extend_size & 0x7FF) )
      return OK;
  }
  return KO;
}


/*F**************************************************************************
* NAME: iso_feob
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   - TRUE : B position have been reached
*   - FALSE : B position have not benn reached
*----------------------------------------------------------------------------
* PURPOSE:
*   Determine if B position have been reached in mode repeat A/B
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit iso_feob(void)
{
  if (iso_f_nb_sector > iso_f_nb_sector_save)
  {
    return OK;
  }
  if (iso_f_nb_sector == iso_f_nb_sector_save)
    if (iso_current_byte_counter > iso_f_nb_byte_save)
      return OK;

  return KO;
}


/*F**************************************************************************
* NAME: iso_fclose
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Close opened file
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void iso_fclose(void)
{
  Hard_iso_read_close();
}



/*F**************************************************************************
* NAME: iso_save_file_pos
*----------------------------------------------------------------------------
* PARAMS:
*   
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Save in locale variables cluster information for the current opened file
*   - cluster index
*   - number of the cluster 
*   - number of bytes in the cluster
*
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void iso_save_file_pos(void)
{
  iso_f_nb_sector_save = iso_f_nb_sector;
  iso_f_nb_byte_save = iso_current_byte_counter;
}


/*F**************************************************************************
* NAME: iso_file_get_pos
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   current file position in bytes
*----------------------------------------------------------------------------
* PURPOSE:
*   Calculate the current file position
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
Uint32 iso_file_get_pos(void)
{
  return ( ((Uint32)(iso_f_nb_sector) * 2048) + (Uint32)(iso_current_byte_counter));
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久日韩精品一区二区五区| 日韩一区欧美二区| 日韩午夜激情视频| 色一情一伦一子一伦一区| 成人午夜精品在线| 国产精品1024| 久久成人麻豆午夜电影| 免费亚洲电影在线| 久久99国产乱子伦精品免费| 欧美精品粉嫩高潮一区二区| 色国产综合视频| 91久久精品一区二区三| 日本韩国欧美一区二区三区| 91国偷自产一区二区三区观看| 国产mv日韩mv欧美| a美女胸又www黄视频久久| 国产亚洲综合在线| 国产欧美日韩三区| 亚洲人成网站影音先锋播放| 一区二区三区四区亚洲| 午夜精品久久久久久| 日本91福利区| 国产乱码精品一区二区三区av | 91视频免费看| 日本精品一区二区三区高清| 色婷婷av一区二区三区软件| 欧美天堂亚洲电影院在线播放| 欧美日韩午夜影院| 免费在线看成人av| 国产一区二区精品久久91| 国产一区二区三区四区五区美女 | 麻豆精品国产传媒mv男同| 91在线看国产| 欧美裸体一区二区三区| 久久久久久久综合色一本| 成人动漫一区二区在线| 色丁香久综合在线久综合在线观看| 99久久久精品| 欧美老女人第四色| 久久久久久久久久久电影| 日本一区二区免费在线观看视频| 亚洲精品国产品国语在线app| 首页国产丝袜综合| 国产精一品亚洲二区在线视频| 国产suv精品一区二区6| 欧美综合色免费| 久久这里只有精品6| 亚洲精品日韩综合观看成人91| 日韩高清中文字幕一区| 欧美日韩中文字幕一区二区| 久久久99久久| 天天综合网天天综合色| 97久久超碰国产精品电影| 欧美一区二区三区在线视频| 亚洲欧洲另类国产综合| 韩国欧美国产1区| 欧美性一二三区| 中文字幕欧美激情| 美女在线视频一区| 欧美特级限制片免费在线观看| 久久这里只有精品视频网| 日本一不卡视频| 日本精品一级二级| 国产精品久久久久天堂| 精品在线免费视频| 欧美日韩五月天| 一区二区三区四区亚洲| 97se亚洲国产综合自在线不卡| 国产专区欧美精品| 欧美日韩视频在线观看一区二区三区| 国产亚洲1区2区3区| 久久99国产精品免费网站| 欧美一区二区在线播放| 午夜精品福利一区二区三区av| 99re66热这里只有精品3直播| 精品一区二区三区在线播放 | 麻豆91在线播放| 欧美绝品在线观看成人午夜影视| 日韩美女久久久| 99久久精品久久久久久清纯| 久久日一线二线三线suv| 国产精品一二三在| 久久久99精品久久| 成人精品视频一区二区三区 | 久久99蜜桃精品| 日韩美一区二区三区| 美女高潮久久久| 日韩女优毛片在线| 青青草91视频| 蜜臀av亚洲一区中文字幕| 欧美精三区欧美精三区| 蜜桃视频在线一区| 久久综合九色欧美综合狠狠| 国产一区二区在线免费观看| 欧美色综合久久| 日韩在线一区二区| 欧美成人综合网站| 久久久久久麻豆| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲欧美另类久久久精品| 91视频免费观看| 秋霞午夜鲁丝一区二区老狼| 欧美成人精品二区三区99精品| 国产乱子伦视频一区二区三区| 中文字幕av一区 二区| 国产精品伦一区二区三级视频| 国产精品一区在线观看乱码| 亚洲女与黑人做爰| 91精品国产综合久久久久久漫画| 看电视剧不卡顿的网站| 中文字幕在线不卡一区| 欧美日韩一区不卡| 国产成人av福利| 亚洲国产精品影院| 中文字幕在线观看一区| 91视频你懂的| 精品一区在线看| 亚洲另类色综合网站| 日韩三级在线观看| 一本色道**综合亚洲精品蜜桃冫| 午夜久久电影网| 国产精品不卡在线| 日韩欧美黄色影院| 一本在线高清不卡dvd| 日韩小视频在线观看专区| 99久久亚洲一区二区三区青草| 日韩精品欧美成人高清一区二区| 国产无一区二区| 欧美一级电影网站| 一道本成人在线| voyeur盗摄精品| 国产综合色在线视频区| 欧美在线观看18| 99精品在线免费| 国产麻豆日韩欧美久久| 日韩av一区二区在线影视| 尤物av一区二区| 久久品道一品道久久精品| 欧美性感一类影片在线播放| 国产精品99久| 欧美三区在线视频| 一本到高清视频免费精品| 成人一区二区三区视频在线观看 | 欧美日韩mp4| 91国产福利在线| 99精品欧美一区二区三区小说| 国产精品88888| 日本成人在线一区| 91久久国产综合久久| www.成人网.com| 972aa.com艺术欧美| 粉嫩av亚洲一区二区图片| 国产乱子轮精品视频| 黑人巨大精品欧美一区| 韩国毛片一区二区三区| 九色|91porny| 国产精品一区在线观看你懂的| 久热成人在线视频| 国产一区欧美日韩| 久久综合九色综合久久久精品综合 | 亚洲综合在线五月| 欧美精品一区二区三区蜜桃视频| 69堂成人精品免费视频| 亚洲国产精品久久人人爱蜜臀| 欧美国产乱子伦| 综合色天天鬼久久鬼色| 国产精品麻豆视频| 在线影院国内精品| 欧美日韩一区二区三区四区| 欧美精品在线视频| 精品免费一区二区三区| 久久嫩草精品久久久精品一| 国产精品系列在线| 亚洲欧美另类久久久精品2019| 亚洲免费av在线| 亚洲一区在线观看免费| 欧美亚洲自拍偷拍| 91麻豆精品国产91久久久资源速度 | 亚洲情趣在线观看| 亚洲国产精品一区二区www在线| 亚洲3atv精品一区二区三区| 亚洲午夜免费视频| 免费欧美在线视频| 久久精品一区蜜桃臀影院| 国产欧美精品一区aⅴ影院 | 天堂在线亚洲视频| 国产又粗又猛又爽又黄91精品| 国产精品99久久久久久久vr| av在线不卡网| 日本成人中文字幕在线视频| 国产福利精品导航| 欧美图区在线视频| 国产视频一区二区在线观看| 亚洲视频在线一区| 激情深爱一区二区| 欧美性大战久久久| 中文字幕不卡在线| 日韩极品在线观看| 99国产精品国产精品久久| 精品少妇一区二区|