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

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

?? iso9660.c

?? mp3 c51源代碼一硬件解碼 硬件 解碼 硬件解碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
    }
    while ((tmp_word == 0) && (!no_more_entry));

    if (!no_more_entry)
    {

      /* Byte 1 : length of directory record      */
      /* Byte 2 : Extended attibute record length */
      entry_len = tmp_word & 0xFF;
      byte_to_read = entry_len;
      /* Byte 3 - 10 : location of extent : Logical Block Number of the first Logical Block affected to the file */
      iso_dgetw();                              /* Byte 3 - 4  */
      iso_dgetw();                              /* Byte 5 - 6  */
      iso_dgetw();                              /* Byte 7 - 8  */
      iso_dgetw();                              /* Byte 9 - 10 */
      
      /* Byte 11 - 18 : Data Length : Length of the file section in bytes */
      iso_dgetw();                                  /* Byte 11 - 12 */
      iso_dgetw();                                  /* Byte 13 - 14 */
      iso_dgetw();                                  /* Byte 15 - 16 */
      iso_dgetw();                                  /* Byte 17 - 18 */
      
      /* Byte 19 - 25 : Recording Time and Date */
      iso_dgetw();                                  /* Byte 19 - 20 */
      iso_dgetw();                                  /* Byte 21 - 22 */
      iso_dgetw();                                  /* Byte 23 - 24 */
     
      /* Byte 26 : File flags :
        bit 0 : Hidden file
        bit 1 : Directory entry
        bit 2 : Associated file 
        bit 3 : extend attribute
        bit 4 : extend attribute
        bit 5 : reserved
        bit 6 : reserved
        bit 7 : file has more than one directory record
      */
      attributes = (Byte) (iso_dgetw() >> 8);      /* Byte 25 - 26 */
    
      /* Byte 27 : File Unit Size */
      /* Byte 28 : Interleave Gap */
      iso_dgetw();                                 /* Byte 27 - 28 */
    
      /* Byte 29 - 32 : Volume Sequence Number*/
      iso_dgetw();                                 /* Byte 29 - 30 */
      iso_dgetw();                                 /* Byte 31 - 32 */
      
      /* Byte 33 : Length of File Identifier (LEN_FI) in byte */
      tmp_word = iso_dgetw();                      /* Byte 33 - 34 */
      len = tmp_word & 0xFF;
      
      byte_to_read -= 34;
      byte_to_read >>= 1;
      if (iso_cd == 0)
        len = len >> 1;
      end_of_name = FALSE;

      for (i = 0; i < byte_to_read; i++)
      {
        if (iso_cd)
        {
          if ( (i & 0x01) == 1)                         /* iso data extraction */
          {
            tmp_word = iso_dgetw();
            tmp_byte = ((Byte*)&tmp_word)[1];
          }
          else
          {
            tmp_byte = ((Byte*)&tmp_word)[0];
          }
        }
        else
        {
          tmp_byte = iso_dgetw() & 0xFF;      /* joliet data extraction */
        }
        switch (tmp_byte)
        {
          case 0x2E:                /* SEPARATOR 1                                              */
            j = 0;
            break;
    
          case 0x00:
          case 0x3B:                /* SEPARATOR 2 */
            end_of_name = TRUE;
            k = i;
          break;
    
          default:
          {
            if (j < 3)
            {
              if ((tmp_byte <= 'z') && (tmp_byte >= 'a'))
              {
                tmp_byte = tmp_byte - ('a' - 'A');
              }
              ext[j] = tmp_byte;
              j++;
            }
            break;
          }
        }
  
      }
      iso_file_cache.info.attributes = attributes;
      padding_byte--;
      if ((iso_check_ext() & current_ext) == FILE_XXX)
      {
       entry_rel += (entry_len + padding_byte);
      }
      else
      {
        iso_current_dir_file[fat_dir_list_index] = entry_rel + (padding_byte << 1);
        fat_dir_list_index++;
        entry_rel = entry_len;
      }
    }
  }
  while (no_more_entry == FALSE);
  iso_file_max_index = fat_dir_list_index;
}

/*F**************************************************************************
* NAME: iso_fetch_directory_info
*----------------------------------------------------------------------------
* PARAMS:
*   entry: directory entry structure
*
* return:
*----------------------------------------------------------------------------
* PURPOSE:
*   Get information about a directory or file entry
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
void iso_fetch_directory_info (iso_file *entry)
{
Byte i;
Byte len;
Byte j;
Byte k;
Byte tmp_byte;
bdata bit flag; 
Uint16 tmp_word;
Uint16 entry_len;
bdata bit end_of_name;

    tmp_word = Hard_iso_read_word();
    /* Byte 1 : length of directory record      */
    /* Byte 2 : Extended attibute record length */
    entry->entry_len = tmp_word & 0xFF;
    entry_len = entry->entry_len;
    
    /* Byte 3 - 10 : location of extent : Logical Block Number of the first   */
    /* Logical Block affected to the file                                     */
    entry->extend_location =  Hard_iso_read_word();            
    entry->extend_location += (Uint32) ((Uint32)(Hard_iso_read_word()) << 16);  
    Hard_iso_read_word();                                      
    Hard_iso_read_word();                                      
    
    /* Byte 11 - 18 : Data Length : Length of the file section in bytes */
    entry->extend_size = Hard_iso_read_word();                  
    entry->extend_size += ((Uint32) (Hard_iso_read_word())) << 16;              
    Hard_iso_read_word();                                       
    Hard_iso_read_word();                                       

    /* Byte 19 - 25 : Recording Time and Date */
    Hard_iso_read_word();                                       
    Hard_iso_read_word();                                       
    Hard_iso_read_word();                                       
   
    /* Byte 26 : File flags :
      bit 0 : Hidden file
      bit 1 : Directory entry
      bit 2 : Associated file 
      bit 3 : extend attribute
      bit 4 : extend attribute
      bit 5 : reserved
      bit 6 : reserved
      bit 7 : file has more than one directory record
    */
    entry->attributes = (Byte) (Hard_iso_read_word() >> 8);     
  
    /* Byte 27 : File Unit Size */
    /* Byte 28 : Interleave Gap */
    Hard_iso_read_word();                            
  
    /* Byte 29 - 32 : Volume Sequence Number*/
    Hard_iso_read_word();
    Hard_iso_read_word();
    
    /* Byte 33 : Length of File Identifier (LEN_FI) in byte */
    tmp_word = Hard_iso_read_word(); 
    len = tmp_word & 0xFF;
    
    /* clear the name buffer */
    for (i = 0; i < MAX_FILENAME_LEN; i++)
      lfn_name[i] = 0;
    flag = 0;
    end_of_name = FALSE;
    if (iso_cd == 0)
      len = len >> 1;
  
    for (i = 0; i < len; i++)
    {
      if (iso_cd)
      {
        if ( (i & 0x01) == 1)                   /* iso data extraction */
        {
          tmp_word = Hard_iso_read_word();
          tmp_byte = ((Byte*)&tmp_word)[1];
        }
        else
        {
          tmp_byte = ((Byte*)&tmp_word)[0];
        }
      }
      else
      {
        tmp_byte = Hard_iso_read_word() & 0xFF; /* joliet data extraction */
      }
  
      switch (tmp_byte)
      {
        case 0x2E:                /* SEPARATOR 1 */
          j = i + 1;
          lfn_name[i] = tmp_byte;
          break;
  
        case 0x00:
        case 0x3B:                /* SEPARATOR 2 */
          end_of_name = TRUE;
          k = i;
        break;
  
        default:
        {
          if (!end_of_name)
            lfn_name[i] = tmp_byte;
          break;
        }
      }
    }
  
    /* extension : last time we found 0x2E : j position */
    if (end_of_name) i = k;
    if (len < 14)
    {
      for (; i < 14; i++)
      {
        lfn_name[i] = ' ';  /* append spaces for display reason */
      }
    }
    else
    {
      lfn_name[i++] = ' ';
      lfn_name[i++] = ' ';
      lfn_name[i++] = lfn_name[0];
      lfn_name[i++] = lfn_name[1];
      lfn_name[i++] = lfn_name[2];
      lfn_name[i++] = lfn_name[3];
      lfn_name[i++] = lfn_name[4];
      lfn_name[i++] = lfn_name[5];
      lfn_name[i++] = lfn_name[6];
      lfn_name[i++] = lfn_name[7];
      lfn_name[i++] = lfn_name[8];
      lfn_name[i++] = lfn_name[9];
      lfn_name[i++] = lfn_name[10];
      lfn_name[i++] = lfn_name[11];
      lfn_name[i++] = lfn_name[12];
    }
    lfn_name[i] = '\0';
    for (i = 0; i < 3; i++)
    {
      if (j + i <= len)
      {
        tmp_byte = lfn_name[i + j];
        if ((tmp_byte <= 'z') && (tmp_byte >= 'a'))
        {
          tmp_byte = tmp_byte - ('a' - 'A');
        }
        ext[i] = tmp_byte;
      }
    }
    Hard_iso_read_close();
}


/*F**************************************************************************
* NAME: iso_get_directory
*----------------------------------------------------------------------------
* PARAMS:
*   id: file extension to select
*   root : root directory or sub-directory
* return:
*   - OK: file available
*   - KO: no requested file found
*   - KO: low_level memory error
*----------------------------------------------------------------------------
* PURPOSE:
*   Select first available file/dir in any diretory
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*   Fill all the cache information for the first time
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/
bit iso_get_directory(Byte id, bit root)
{
  current_ext = id;
  if (root == TRUE)
  {
    iso_dir_current_sect = iso_header.root.extend_location;
    iso_dir_size = iso_header.root.data_length / iso_header.logical_block_size;
  }
  else
  {
    if ((iso_file_cache.info.attributes & ATTR_ISO_DIR) == ATTR_ISO_DIR)
    {
      iso_dir_current_sect = iso_file_cache.info.extend_location;
      iso_dir_size = iso_file_cache.info.extend_size / iso_header.logical_block_size;
    }
    else
    {
      return KO;
    }
  }
  iso_dir_start_sect = iso_dir_current_sect;
  iso_dir_byte_count = 0;
  Hard_iso_read_close();
  Hard_iso_read_open(iso_dir_current_sect);
  iso_get_file_dir();
  Hard_iso_read_close();

  if (iso_file_max_index == 0)
  {
    iso_goto_parent_dir();
    return KO;
  }
  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_goto_first
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   - OK: first file found
*   - KO: low level error
*----------------------------------------------------------------------------
* PURPOSE:
*   Fetch the first directory info in cache
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/ 
bit iso_goto_first(void)       
{                    
  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_goto_last
*----------------------------------------------------------------------------
* PARAMS:
*
* return:
*   OK: last file available
*   KO: low level error
*----------------------------------------------------------------------------
* PURPOSE:
*   Fetch the last directory info in cache
*----------------------------------------------------------------------------
* EXAMPLE:
*----------------------------------------------------------------------------
* NOTE:
*----------------------------------------------------------------------------
* REQUIREMENTS:
*****************************************************************************/ 
bit iso_goto_last (void)
{
Uint16 gl_offset;
Uint16 i;
  
  for (i = iso_file_index + 1, gl_offset = 0; i < fat_dir_list_last; iso_file_index++, i++)
    gl_offset += iso_current_dir_file[i];

  if (iso_dseek(gl_offset) == OK)
  iso_fetch_directory_info(&iso_file_cache.info);
  return OK;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合无码一区二区| 精品中文av资源站在线观看| 91精品国产一区二区三区 | 在线观看av一区| 美女久久久精品| 亚洲精品国产精华液| 日韩亚洲欧美中文三级| 9l国产精品久久久久麻豆| 丝袜国产日韩另类美女| 国产欧美精品区一区二区三区 | 91精品国产福利在线观看| 国产成a人亚洲精品| 天堂一区二区在线| 亚洲精品美国一| 国产精品污www在线观看| 欧美一级二级三级乱码| 色噜噜偷拍精品综合在线| 国产高清不卡一区| 久久精品国产一区二区| 日韩精品五月天| 亚洲一区二区三区四区五区中文 | 亚洲永久精品国产| 中文字幕一区三区| 国产欧美1区2区3区| 精品国产髙清在线看国产毛片| 欧美日韩亚洲高清一区二区| av激情亚洲男人天堂| 国产91精品一区二区麻豆网站 | 日韩欧美高清在线| 欧美一区在线视频| 欧美精品久久一区二区三区| 色琪琪一区二区三区亚洲区| 色综合天天综合色综合av | 9191成人精品久久| 欧美精品黑人性xxxx| 欧美综合视频在线观看| 色综合天天性综合| 91天堂素人约啪| 色综合天天天天做夜夜夜夜做| 99久久久久久99| 91香蕉视频黄| 在线精品视频一区二区三四| 91国偷自产一区二区开放时间| 色婷婷精品久久二区二区蜜臂av | 精品乱人伦一区二区三区| 日韩一区二区三区精品视频| 精品少妇一区二区三区在线播放| 欧美大片日本大片免费观看| 精品福利一二区| 国产精品免费看片| 亚洲一区二区不卡免费| 日本亚洲天堂网| 国产成人av电影在线| 91色乱码一区二区三区| 91网上在线视频| 亚洲第一搞黄网站| 国产99久久久精品| 欧美自拍丝袜亚洲| 欧美xfplay| 亚洲欧洲精品成人久久奇米网| 丝袜美腿一区二区三区| 国产专区综合网| 色视频成人在线观看免| 日韩精品中文字幕一区| 国产精品美女久久久久久| 亚洲成人综合在线| 国产精品99久久久久久久女警 | 激情综合网天天干| 色综合久久88色综合天天6| 精品国产免费一区二区三区四区| 中文字幕日本不卡| 久久激情综合网| 在线看国产日韩| 国产精品国产三级国产a| 麻豆一区二区99久久久久| 色噜噜狠狠色综合中国| 久久久久久久综合| 日韩精品亚洲一区| 色综合久久六月婷婷中文字幕| 亚洲精品在线观看网站| 日韩精品五月天| 精品视频999| 亚洲精品成人精品456| 成人免费视频国产在线观看| 久久久久久久久免费| 裸体在线国模精品偷拍| 欧美午夜免费电影| 亚洲另类色综合网站| 成人aa视频在线观看| 国产视频911| 国内精品伊人久久久久av影院 | 日韩av二区在线播放| 欧美在线观看一区二区| 亚洲精品写真福利| 色综合久久综合网欧美综合网| 国产农村妇女毛片精品久久麻豆 | av中文字幕一区| 国产精品灌醉下药二区| 成人污视频在线观看| 国产精品理论在线观看| 99精品一区二区三区| 国产精品高潮呻吟久久| 91在线视频官网| 国产精品成人免费| 91亚洲男人天堂| 夜夜精品视频一区二区| 欧美日韩aaaaa| 久久爱www久久做| 国产精品欧美极品| 在线观看欧美日本| 日韩高清不卡一区二区三区| 在线综合亚洲欧美在线视频| 久久99精品久久久久婷婷| 国产精品午夜在线| 欧美曰成人黄网| 亚洲最色的网站| 日韩精品专区在线影院观看| 狠狠色综合播放一区二区| 欧美激情综合在线| 欧美日韩久久一区| 美女网站色91| 国产欧美日韩综合精品一区二区| 成人激情午夜影院| 视频在线在亚洲| 国产蜜臀av在线一区二区三区| 91免费在线视频观看| 日韩av中文在线观看| 国产精品久久久久四虎| 一区二区成人在线视频| 日韩免费一区二区| 色欧美乱欧美15图片| 国产在线不卡一区| 午夜成人免费视频| 亚洲婷婷国产精品电影人久久| 欧美在线观看18| 成人毛片在线观看| 免播放器亚洲一区| 亚洲一区二区精品视频| 国产精品美女久久久久久久| 欧美一区二区三区免费大片| 色狠狠桃花综合| 国产suv一区二区三区88区| 婷婷激情综合网| 日本一区二区免费在线观看视频 | 色老综合老女人久久久| 国产麻豆午夜三级精品| 日韩高清欧美激情| 亚洲综合久久久久| 亚洲男帅同性gay1069| 国产肉丝袜一区二区| 精品日韩99亚洲| 一区二区日韩av| 日韩美女精品在线| 国产亚洲精久久久久久| 日韩欧美激情一区| 91精品国产综合久久精品app| 欧美午夜理伦三级在线观看| 色狠狠一区二区| 在线观看日韩电影| 欧美在线三级电影| 欧美视频一区二区在线观看| 在线精品视频小说1| 欧美性一二三区| 欧美剧情电影在线观看完整版免费励志电影 | 日韩理论片在线| 91蜜桃传媒精品久久久一区二区| 日韩欧美第一区| 国产日韩欧美电影| 中国av一区二区三区| 中文字幕亚洲区| 一区二区三区不卡视频| 污片在线观看一区二区| 毛片av一区二区| 国产福利一区二区三区视频| 成人夜色视频网站在线观看| 91亚洲精品一区二区乱码| 色88888久久久久久影院野外| 欧美性生活大片视频| 日韩精品中文字幕在线一区| 久久婷婷成人综合色| 中文字幕日韩一区| 午夜免费久久看| 精品亚洲porn| 成人妖精视频yjsp地址| 欧美午夜精品免费| 精品福利一区二区三区| 亚洲人吸女人奶水| 久久精品99国产精品| 91麻豆国产福利在线观看| 日韩欧美国产综合在线一区二区三区| 久久综合色8888| 亚洲va中文字幕| k8久久久一区二区三区| 91精品免费观看| 中文字幕综合网| 国产成人自拍高清视频在线免费播放| 在线观看视频91| 久久看人人爽人人| 日本不卡免费在线视频| 97se亚洲国产综合自在线|