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

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

?? fdt.c

?? 詳細介紹CF卡和IDE硬盤及相應軟件模塊CF的設計思想及實現過程。
?? C
?? 第 1 頁 / 共 2 頁
字號:
    return NOT_FAT_DISK;
}

/*********************************************************************************************************
** 函數名稱: FindFDTInfo
** 功能描述: 在指定目錄查找指定文件(目錄)
**
** 輸 入: Rt:存儲返回信息的指針
**        Drive:驅動器號
**        ClusIndex:目錄首簇號
**        FileName:文件(目錄)名
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 無
** 調用模塊: GetDiskInfo,GetFDTInfo
**
** 作 者: 陳明計
** 日 期: 2003年9月8日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 FindFDTInfo(FDT *Rt,uint8 Drive, uint32 ClusIndex, char FileName[])
{
    uint32 i;
    uint8 temp;
    

    i = 0;
    if (FileName[0] == DEL_FDT)
    {
        FileName[0] = ESC_FDT;
    }
    while (1)
    {
        temp = GetFDTInfo(Rt, Drive, ClusIndex, i);
        if (temp != RETURN_OK)
        {
            break;
        }

        if (Rt->Name[0] == EMPTY_FDT)
        {
            temp = NOT_FIND_FDT;
            break;
        }
        if ((Rt->Attr & ATTR_VOLUME_ID) == 0)
        if (FileName[0] == Rt->Name[0])
        if (FileName[1] == Rt->Name[1])
        if (FileName[2] == Rt->Name[2])
        if (FileName[3] == Rt->Name[3])
        if (FileName[4] == Rt->Name[4])
        if (FileName[5] == Rt->Name[5])
        if (FileName[6] == Rt->Name[6])
        if (FileName[7] == Rt->Name[7])
        if (FileName[8] == Rt->Name[8])
        if (FileName[9] == Rt->Name[9])
        if (FileName[10] == Rt->Name[10])
        {
            temp = RETURN_OK;
            break;
        }
        i++;
    }
    if (FileName[0] == ESC_FDT)
    {
        FileName[0] = DEL_FDT;
    }
    return temp;
}

/*********************************************************************************************************
** 函數名稱: AddFDT
** 功能描述: 在指定目錄查增加指定文件(目錄)
**
** 輸 入: Rt:存儲返回信息的指針
**        Drive:驅動器號
**        ClusIndex:目錄首簇號
**        FileName:文件(目錄)名
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 無
** 調用模塊: FindFDTInfo,GetFDTInfo,SetFDTInfo
**
** 作 者: 陳明計
** 日 期: 2003年9月8日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 AddFDT(uint8 Drive, uint32 ClusIndex, FDT *FDTData)
{
    Disk_Info * Disk;
    uint32 i;
    FDT TempFDT;
    uint8 temp;

    Disk = GetDiskInfo(Drive);
    if (Disk == NULL)
    {
        return NOT_FIND_DISK;
    }

    if (ClusIndex == EMPTY_CLUS)
    if (Disk->FATType == FAT32)
    {
        ClusIndex = Disk->RootDirTable;
    }

    temp = FindFDTInfo(&TempFDT, Drive, ClusIndex, FDTData->Name);
    if (temp == RETURN_OK)
    {
        return FDT_EXISTS;
    }
    if (temp != NOT_FIND_FDT)
    if (temp != FDT_OVER)
    {
        return temp;
    }

    if (FDTData->Name[0] == DEL_FDT)
    {
        FDTData->Name[0] = ESC_FDT;
    }

    i = 0;
    temp = RETURN_OK;
    while (temp == RETURN_OK)
    {
        temp = GetFDTInfo(&TempFDT, Drive, ClusIndex, i);
        if (temp == RETURN_OK)
        {
            if (TempFDT.Name[0] == DEL_FDT || TempFDT.Name[0] == EMPTY_FDT)
            {
                temp = SetFDTInfo(Drive, ClusIndex, i, FDTData);
                break;
            }
        }
        i++;
    }
    if (temp == FDT_OVER)
    if (ClusIndex != EMPTY_CLUS)
    {
        i = FATAddClus(Drive, ClusIndex);
        temp = DISK_FULL;
        if (i != BAD_CLUS)
        {
            ClearClus(Drive, i); 
            temp = SetFDTInfo(Drive, i, 0, FDTData);
        }
    }
    if (FDTData->Name[0] == ESC_FDT)
    {
        FDTData->Name[0] = DEL_FDT;
    }
    return temp;
}

/*********************************************************************************************************
** 函數名稱: DelFDT
** 功能描述: 在指定目錄刪除指定文件(目錄)
**
** 輸 入: Rt:存儲返回信息的指針
**        Drive:驅動器號
**        ClusIndex:目錄首簇號
**        FileName:文件(目錄)名
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 無
** 調用模塊: GetDiskInfo,GetFDTInfo,SetFDTInfo
**
** 作 者: 陳明計
** 日 期: 2003年9月8日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 DelFDT(uint8 Drive, uint32 ClusIndex, char FileName[])
{
    uint32 i;
    FDT TempFDT;
    uint8 temp;
    
    i = 0;
    if (FileName[0] == DEL_FDT)
    {
        FileName[0] = ESC_FDT;
    }
        
    while (1)
    {
        temp = GetFDTInfo(&TempFDT, Drive, ClusIndex, i);
        if (temp != RETURN_OK)
        {
            break;
        }
            
        if (TempFDT.Name[0] == EMPTY_FDT)
        {
            temp = NOT_FIND_FDT;
            break;
        }
        if ((TempFDT.Attr & ATTR_VOLUME_ID) == 0)
        if (FileName[0] == TempFDT.Name[0])
        if (FileName[1] == TempFDT.Name[1])
        if (FileName[2] == TempFDT.Name[2])
        if (FileName[3] == TempFDT.Name[3])
        if (FileName[4] == TempFDT.Name[4])
        if (FileName[5] == TempFDT.Name[5])
        if (FileName[6] == TempFDT.Name[6])
        if (FileName[7] == TempFDT.Name[7])
        if (FileName[8] == TempFDT.Name[8])
        if (FileName[9] == TempFDT.Name[9])
        if (FileName[10] == TempFDT.Name[10])
        {
            TempFDT.Name[0] = DEL_FDT;
            temp = SetFDTInfo(Drive, ClusIndex, i, &TempFDT);
            break;
        }
        i++;
    }
    if (FileName[0] == ESC_FDT)
    {
        FileName[0] = DEL_FDT;
    }
    return temp;
}

/*********************************************************************************************************
** 函數名稱: ChangeFDT
** 功能描述: 改變指定目錄指定文件(目錄)的屬性
**
** 輸 入: Rt:存儲返回信息的指針
**        Drive:驅動器號
**        ClusIndex:目錄首簇號
**        FileName:文件(目錄)名
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 無
** 調用模塊: GetDiskInfo,GetFDTInfo,SetFDTInfo
**
** 作 者: 陳明計
** 日 期: 2003年9月8日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 ChangeFDT(uint8 Drive, uint32 ClusIndex, FDT *FDTData)
{
    uint32 i;
    uint8 temp;
    FDT TempFDT;

    i = 0;
    if (FDTData->Name[0] == DEL_FDT)
    {
        FDTData->Name[0] = ESC_FDT;
    }
    while (1)
    {
        temp = GetFDTInfo(&TempFDT, Drive, ClusIndex, i);
        if (temp != RETURN_OK)
        {
            break;
        }
            
        if (TempFDT.Name[0] == EMPTY_FDT)
        {
            temp = NOT_FIND_FDT;
            break;
        }
        if ((TempFDT.Attr & ATTR_VOLUME_ID) == 0)
        if (FDTData->Name[0] == TempFDT.Name[0])
        if (FDTData->Name[1] == TempFDT.Name[1])
        if (FDTData->Name[2] == TempFDT.Name[2])
        if (FDTData->Name[3] == TempFDT.Name[3])
        if (FDTData->Name[4] == TempFDT.Name[4])
        if (FDTData->Name[5] == TempFDT.Name[5])
        if (FDTData->Name[6] == TempFDT.Name[6])
        if (FDTData->Name[7] == TempFDT.Name[7])
        if (FDTData->Name[8] == TempFDT.Name[8])
        if (FDTData->Name[9] == TempFDT.Name[9])
        if (FDTData->Name[10] == TempFDT.Name[10])
        {
            temp = SetFDTInfo(Drive, ClusIndex, i, FDTData);
            break;
        }
        i++;
    }
    if (FDTData->Name[0] == ESC_FDT)
    {
        FDTData->Name[0] = DEL_FDT;
    }
    return temp;
}

/*********************************************************************************************************
** 函數名稱: DirIsEmpty
** 功能描述: 
**
** 輸 入: Drive:驅動器號
**        ClusIndex:目錄首簇號
** 輸 出: DIR_EMPTY:空
**        DIR_NOT_EMPTY:不空
**        其它參考fat.h中關于返回值的說明
** 全局變量: 無
** 調用模塊: GetFDTInfo
**
** 作 者: 陳明計
** 日 期: 2003年9月8日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2004年4月10日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 DirIsEmpty(uint8 Drive, uint32 ClusIndex)
{
    uint32 i;
    FDT TempFDT;
    uint8 temp;
    Disk_Info * Disk;

    
    if (ClusIndex == EMPTY_CLUS)
    {
        return DIR_NOT_EMPTY;
    }
/* 判斷是否是fat32 的根目錄 */
    Disk = GetDiskInfo(Drive);
    if (Disk == NULL)
    {
        return NOT_FIND_DISK;
    }
    if (Disk->FATType == FAT32)
    if (ClusIndex == Disk->RootDirTable )
    {
        return DIR_NOT_EMPTY;
    }
    
    i = 2;
    while (1)
    {
        temp = GetFDTInfo(&TempFDT, Drive, ClusIndex, i);
        if (temp != RETURN_OK)
        {
           return temp; 
        }
    
        if ((TempFDT.Attr & ATTR_VOLUME_ID) == 0)
        if (TempFDT.Name[0] != DEL_FDT)
        {
            break;
        }
        i++;
    }
    if (TempFDT.Name[0] == EMPTY_FDT)
    {
        return DIR_EMPTY;
    }
    else
    {
        return DIR_NOT_EMPTY;
    }
}

/*********************************************************************************************************
** 函數名稱: FDTIsLie
** 功能描述: 在指定目錄查看指定文件(目錄)是否存在
**
** 輸 入: Drive:驅動器號
**        ClusIndex:目錄首簇號
**        FileName:文件(目錄)名
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 無
** 調用模塊: GetDiskInfo,GetFDTInfo
**
** 作 者: 陳明計
** 日 期: 2003年9月8日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 FDTIsLie(uint8 Drive, uint32 ClusIndex, char FileName[])
{
    uint32 i;
    uint8 temp;
    FDT temp1;
    
    i = 0;
    if (FileName[0] == DEL_FDT)
    {
        FileName[0] = ESC_FDT;
    }
    while (1)
    {
        temp = GetFDTInfo(&temp1, Drive, ClusIndex, i);
        if (temp == FDT_OVER)
        {
            temp = NOT_FIND_FDT;
            break;
        }

        if (temp != RETURN_OK)
        {
            break;
        }

        if (temp1.Name[0] == EMPTY_FDT)
        {
            temp = NOT_FIND_FDT;
            break;
        }
        if ((temp1.Attr & ATTR_VOLUME_ID) == 0)
        if (FileName[0] == temp1.Name[0])
        if (FileName[1] == temp1.Name[1])
        if (FileName[2] == temp1.Name[2])
        if (FileName[3] == temp1.Name[3])
        if (FileName[4] == temp1.Name[4])
        if (FileName[5] == temp1.Name[5])
        if (FileName[6] == temp1.Name[6])
        if (FileName[7] == temp1.Name[7])
        if (FileName[8] == temp1.Name[8])
        if (FileName[9] == temp1.Name[9])
        if (FileName[10] == temp1.Name[10])
        {
            temp = FDT_EXISTS;
        }
        i++;
    }
    if (FileName[0] == ESC_FDT)
    {
        FileName[0] = DEL_FDT;
    }
    return temp;
}
/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品综合在线视频| 中文字幕欧美一| www.日韩av| 成人av集中营| 成人免费视频国产在线观看| 毛片一区二区三区| 午夜精品免费在线| 国产精品影视在线| 国产精品久99| 色婷婷综合中文久久一本| 国产欧美一区在线| proumb性欧美在线观看| 亚洲国产成人va在线观看天堂| 欧美精品亚洲一区二区在线播放| 免费成人在线观看视频| 国产欧美一区二区精品性色超碰| 久久久国产午夜精品| 国产在线一区二区综合免费视频| 91免费版pro下载短视频| 粉嫩一区二区三区性色av| 色综合久久久久久久久久久| 午夜a成v人精品| 亚洲黄色av一区| 欧美色综合网站| 色国产精品一区在线观看| 欧美一区二区三区思思人| 韩国精品一区二区| 国产精品欧美综合在线| 久久精品国产999大香线蕉| 高清beeg欧美| 欧美一区二区三区男人的天堂| 欧美三级三级三级爽爽爽| 欧美日韩和欧美的一区二区| 久久丝袜美腿综合| 成人综合在线网站| 欧美一级日韩不卡播放免费| 国产精品资源网站| 另类成人小视频在线| 欧美成人猛片aaaaaaa| 亚洲福利一区二区| 成人涩涩免费视频| 欧美成人伊人久久综合网| 亚洲成av人**亚洲成av**| 波多野结衣精品在线| 日韩精品久久理论片| 亚洲精品国产视频| 日韩成人一区二区| 亚洲欧洲成人自拍| 美女尤物国产一区| 欧美日韩精品专区| 夫妻av一区二区| 精油按摩中文字幕久久| 亚洲欧美日韩系列| 日本一二三不卡| 欧美精品三级在线观看| 国精品**一区二区三区在线蜜桃| 亚洲国产成人av好男人在线观看| 国产精品夫妻自拍| 久久精品人人做人人综合| 日韩欧美亚洲另类制服综合在线 | 欧洲人成人精品| 成人午夜电影小说| 国产精品911| 极品尤物av久久免费看| 美女脱光内衣内裤视频久久网站| 亚洲1区2区3区4区| 亚洲国产乱码最新视频 | 亚洲第一精品在线| 一区二区高清视频在线观看| 国产精品剧情在线亚洲| 中文字幕av不卡| 国产精品免费aⅴ片在线观看| www久久久久| 2022国产精品视频| www国产成人| 26uuu亚洲| 久久久精品综合| 国产亚洲精品免费| 国产精品乱码一区二三区小蝌蚪| 日本一区二区三区视频视频| 中文字幕乱码日本亚洲一区二区| 国产日韩精品久久久| 国产日产精品一区| 中文字幕一区二区三| 亚洲男人都懂的| 亚洲一级二级三级在线免费观看| 亚洲成av人**亚洲成av**| 婷婷六月综合网| 久久电影国产免费久久电影| 国产一区91精品张津瑜| 成人中文字幕在线| hitomi一区二区三区精品| 91视频观看视频| 欧美日韩和欧美的一区二区| 日韩一级片网址| 久久蜜桃av一区二区天堂| 国产精品成人一区二区艾草 | 成人动漫一区二区| 99久久综合精品| 欧美最猛黑人xxxxx猛交| 欧美日本一区二区三区| 欧美大尺度电影在线| 欧美国产精品一区二区三区| 国产精品乱码一区二三区小蝌蚪| 亚洲视频香蕉人妖| 日韩av中文字幕一区二区三区| 精品一区二区三区日韩| 成人av电影在线观看| 欧美性大战久久久久久久| 日韩免费一区二区| 最新国产精品久久精品| 日本成人在线不卡视频| 国产ts人妖一区二区| 欧美日韩一区二区电影| 精品捆绑美女sm三区| 亚洲欧美色图小说| 精品一区二区三区影院在线午夜| jiyouzz国产精品久久| 欧美一区二区三区在线看| 国产精品丝袜一区| 日韩高清在线观看| 99久久精品99国产精品| 日韩视频中午一区| 樱花影视一区二区| 国产乱人伦偷精品视频免下载 | 欧美精品在线观看一区二区| 国产精品伦理一区二区| 五月婷婷激情综合| 国内国产精品久久| 91黄色免费看| 中文字幕免费不卡在线| 琪琪一区二区三区| 91在线视频免费91| www国产精品av| 日韩av二区在线播放| 色综合天天综合网天天看片| xvideos.蜜桃一区二区| 日本不卡在线视频| 欧美色综合网站| 亚洲欧美日本韩国| 成人性生交大片免费| 精品国产精品一区二区夜夜嗨| 一区二区三区日韩精品| jvid福利写真一区二区三区| 久久蜜桃av一区二区天堂| 欧美bbbbb| 在线综合+亚洲+欧美中文字幕| 亚洲日本丝袜连裤袜办公室| 成人一级视频在线观看| 国产亚洲欧洲一区高清在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美午夜精品久久久久久超碰| 国产精品成人一区二区三区夜夜夜| 国产一区二区福利| www国产成人免费观看视频 深夜成人网| 日日夜夜精品视频天天综合网| 欧美性受xxxx黑人xyx性爽| 自拍偷拍欧美激情| 99热精品一区二区| 亚洲欧洲精品天堂一级| 成人国产电影网| 国产精品免费丝袜| eeuss鲁片一区二区三区在线看| 国产香蕉久久精品综合网| 国产在线精品一区二区不卡了 | 日本少妇一区二区| 欧美一区三区四区| 日本网站在线观看一区二区三区 | 美日韩一级片在线观看| 91精品国产全国免费观看| 天天综合色天天| 欧美精品在线视频| 久久99精品久久久久久国产越南 | 国产夫妻精品视频| 国产欧美一区二区在线观看| 成人一区二区三区| 日韩伦理免费电影| 欧美三级电影网| 美女视频免费一区| 国产女人18水真多18精品一级做| 成人高清视频在线观看| 一区二区三区在线观看国产| 欧美色中文字幕| 精品在线一区二区三区| 久久久国产一区二区三区四区小说 | 韩国中文字幕2020精品| 国产午夜精品美女毛片视频| 粉嫩在线一区二区三区视频| 亚洲男人的天堂在线观看| 欧美二区乱c少妇| 国产精品一级在线| 日韩毛片一二三区| 制服丝袜亚洲精品中文字幕| 韩国一区二区视频| 自拍偷在线精品自拍偷无码专区| 在线播放一区二区三区| 国产精品一区二区在线播放| 亚洲精品乱码久久久久久日本蜜臀| 欧美一区二区三区精品| 成人av资源在线观看|