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

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

?? iso9660.c

?? 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;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性淫爽ww久久久久无| 欧美成人三级在线| 精品国产伦一区二区三区观看体验| 国产精品毛片高清在线完整版| 亚洲一区av在线| 粉嫩久久99精品久久久久久夜 | 91色|porny| 欧美本精品男人aⅴ天堂| 一区二区三区四区精品在线视频 | 欧美一区二区三区系列电影| 国产精品免费人成网站| 视频一区在线视频| 91亚洲永久精品| 国产日韩欧美精品一区| 丝袜亚洲另类丝袜在线| 色网综合在线观看| 国产精品青草久久| 国产精品亚洲一区二区三区妖精 | 麻豆精品久久久| 在线免费观看成人短视频| 国产精品麻豆视频| 国产一区二区三区在线观看免费视频| 欧美视频一区二区三区在线观看| 国产精品久久久久久久久快鸭| 国精产品一区一区三区mba视频| 91精品国产免费久久综合| 樱花影视一区二区| 99精品热视频| 亚洲人午夜精品天堂一二香蕉| 成人免费高清视频在线观看| 久久久久久久久一| 国产一区二区三区观看| 欧美va在线播放| 国内精品久久久久影院薰衣草| 日韩免费看网站| 男女性色大片免费观看一区二区| 在线综合亚洲欧美在线视频| 石原莉奈一区二区三区在线观看| 欧美最猛性xxxxx直播| 夜夜揉揉日日人人青青一国产精品| 91免费国产在线| 一区二区三区美女| 欧美日韩中文字幕一区二区| 天天免费综合色| 91精品国产综合久久精品| 蜜桃视频第一区免费观看| 欧美一级二级三级乱码| 寂寞少妇一区二区三区| 久久久精品tv| 99国产精品久久久久| 亚洲国产你懂的| 91麻豆精品久久久久蜜臀| 狠狠狠色丁香婷婷综合久久五月| 精品国产sm最大网站免费看| 国产精品一色哟哟哟| 中文字幕亚洲成人| 欧美少妇bbb| 三级不卡在线观看| 久久精品一区四区| 91蜜桃视频在线| 午夜视频在线观看一区二区 | 老司机精品视频导航| 久久久久国产精品麻豆ai换脸 | 综合分类小说区另类春色亚洲小说欧美| 成人福利在线看| 婷婷开心激情综合| 国产亚洲欧美日韩日本| 91亚洲精品久久久蜜桃| 日本不卡123| 国产精品传媒入口麻豆| 欧美一级理论性理论a| 懂色av噜噜一区二区三区av| 亚洲国产精品久久久久婷婷884 | 欧美日产国产精品| 国产精品一区二区在线观看不卡 | 国产真实乱偷精品视频免| 亚洲免费av在线| 2014亚洲片线观看视频免费| 色噜噜夜夜夜综合网| 国产一区二区三区四| 亚洲一区二区欧美日韩 | 亚洲国产一区二区三区青草影视| 欧美精品一区二区精品网| 欧洲一区二区三区在线| 国产成a人亚洲| 日本视频免费一区| 亚洲色图在线播放| 久久男人中文字幕资源站| 欧美影视一区在线| 豆国产96在线|亚洲| 久久综合综合久久综合| 亚洲永久精品国产| 国产精品乱人伦中文| 精品三级在线看| 欧美丝袜丝交足nylons图片| 懂色av中文一区二区三区| 久久精品国产亚洲高清剧情介绍 | 欧美日韩国产首页| 9久草视频在线视频精品| 老汉av免费一区二区三区| 一区二区三区在线视频观看58| 久久久国际精品| 2020国产成人综合网| 日韩网站在线看片你懂的| 欧美视频中文一区二区三区在线观看| 成人aaaa免费全部观看| 国产激情一区二区三区| 国产一区二区免费看| 男男成人高潮片免费网站| 日韩精品一二三四| 午夜精品免费在线观看| 日韩黄色免费电影| 日韩激情视频网站| 青青草原综合久久大伊人精品 | 欧美精品三级在线观看| 色综合久久久久久久久久久| 波多野结衣精品在线| 国产91在线观看| 国产成人鲁色资源国产91色综| 久久99久久99| 日韩av成人高清| 看电视剧不卡顿的网站| 琪琪一区二区三区| 日韩激情一区二区| 日韩精品电影在线| 久久99国产精品尤物| 老司机午夜精品| 精品一区二区免费在线观看| 欧美韩国日本综合| 欧美一区二区在线不卡| 日韩欧美在线不卡| 欧美日韩激情在线| 精品三级在线看| 精品国产123| 欧美—级在线免费片| 国产精品久久久久久亚洲毛片| 中文字幕一区二区三中文字幕| 国产精品乱码一区二区三区软件| 国产欧美精品日韩区二区麻豆天美| 久久综合国产精品| 欧美一区二区久久久| 国产亚洲成年网址在线观看| 亚洲精品一区二区精华| 久久亚洲一级片| 国产午夜精品一区二区三区四区| 精品福利一区二区三区 | 午夜精品久久久久久久| 久久精品国产久精国产爱| 国产乱码精品一品二品| 国产+成+人+亚洲欧洲自线| 成人av在线资源网| 99精品视频一区| 欧美大片一区二区三区| 国产免费成人在线视频| 亚洲三级小视频| 天堂久久一区二区三区| 丰满岳乱妇一区二区三区| 色综合网站在线| 337p亚洲精品色噜噜狠狠| 26uuu精品一区二区| 国产精品情趣视频| 亚洲一区二区免费视频| 乱一区二区av| 99久久亚洲一区二区三区青草| 色综合色综合色综合 | 欧美日韩中文字幕精品| 欧美大黄免费观看| 中文字幕一区日韩精品欧美| 久久精品久久久精品美女| 成人av电影在线| 欧美一区二区三区在线看| 国产女同性恋一区二区| 免费观看91视频大全| 99国产精品国产精品久久| 日韩欧美一级在线播放| 国产欧美一区视频| 日本欧美一区二区三区| 成人精品国产一区二区4080| 欧美日韩在线电影| 亚洲国产精品ⅴa在线观看| 欧美韩日一区二区三区四区| 韩国女主播一区二区三区| 91国偷自产一区二区使用方法| 日韩三级伦理片妻子的秘密按摩| 综合精品久久久| 成人国产精品免费网站| 欧美r级在线观看| 亚洲一区影音先锋| 成人毛片老司机大片| 国产欧美精品一区二区色综合朱莉| 午夜av一区二区| 9人人澡人人爽人人精品| 久久影视一区二区| 国产真实乱对白精彩久久| 91精品国产综合久久福利| 亚洲与欧洲av电影| 97久久精品人人澡人人爽| 亚洲色图清纯唯美| 国产91高潮流白浆在线麻豆| 91精品国产丝袜白色高跟鞋|