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

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

?? file.c

?? zlg_fs
?? C
?? 第 1 頁 / 共 3 頁
字號:
/****************************************Copyright (c)**************************************************
**                               廣州周立功單片機發展有限公司
**                                     研    究    所
**                                        產品一部 
**
**                                 http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: file.c
**創   建   人: 陳明計
**最后修改日期: 2004年4月1日
**描        述: 文件系統的文件基本操作程序
**              
**--------------歷史版本信息----------------------------------------------------------------------------
** 創建人: 陳明計
** 版  本: v1.00
** 日 期: 2003年9月9日
** 描 述: 原始版本
**
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2004年7月12日
** 描 述: 更正一個BUG
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#define IN_FILE
#include "config.h"

static MY_FILE FileInfo[MAX_OPEN_FILES];        /* 打開文件信息表 */

extern uint32 _GetFDTInfo(char *FDTName, char *DirFileName);

/*********************************************************************************************************
** 函數名稱: FileInit
** 功能描述: 初始化文件指針系統
**
** 輸 入: 無
**
** 輸 出: 無
**         
** 全局變量: 無
** 調用模塊: 無
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        void FileInit(void)
{
    HANDLE i;
    
    for (i = 0; i < MAX_OPEN_FILES; i++)
    {
        FileInfo[i].Flags = 0;
    }
}

/*********************************************************************************************************
** 函數名稱: FindOpenFile
** 功能描述: 查找已打開的指定文件的文件句柄,內部使用
**
** 輸 入: Drive:文件所在的邏輯盤號
**        DirClus:文件所在目錄的開始簇號
**        FileName:內部文件名
** 輸 出: 文件句柄,Not_Open_FILE為沒有打開
**         
** 全局變量: FileInfo
** 調用模塊: _GetFDTInfo,GetDrive,FindFDTInfo,
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        HANDLE FindOpenFile(uint8 Drive, uint32 DirClus, char FileName[11])
{
    HANDLE Rt;
    MY_FILE *fp;
    
    fp = FileInfo;
    for (Rt = 0; Rt < MAX_OPEN_FILES; Rt++)
    {
        if (fp->Flags != 0)
        if (fp->Drive == Drive)
        if (fp->DirClus == DirClus)
        if (fp->Name[0] == FileName[0])
        if (fp->Name[1] == FileName[1])
        if (fp->Name[2] == FileName[2])
        if (fp->Name[3] == FileName[3])
        if (fp->Name[4] == FileName[4])
        if (fp->Name[5] == FileName[5])
        if (fp->Name[6] == FileName[6])
        if (fp->Name[7] == FileName[7])
        if (fp->Name[8] == FileName[8])
        if (fp->Name[9] == FileName[9])
        if (fp->Name[10] == FileName[10])
        {
            break;
        }
        fp++;
    }
    if (Rt >= MAX_OPEN_FILES)
    {
        Rt = Not_Open_FILE;
    }
    return Rt;
}

/*********************************************************************************************************
** 函數名稱: RemoveFile
** 功能描述: 刪除文件
**
** 輸 入: DirFileName:用戶使用的文件名
**
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 無
** 調用模塊: strupr,_GetFDTInfo,GetDrive,FindFDTInfo,FATDelClusChain,DelFDT
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2004年4月10日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 RemoveFile(char *DirFileName)
{
    uint32 ClusIndex, ClusIndex1;
    uint8 Drive, Rt;
    char DirName[12];
    FDT temp;
    
    strupr(DirFileName);                       /* 變為大寫 */
    ClusIndex = _GetFDTInfo(DirName, DirFileName);
    Rt = PATH_NOT_FIND;
    if (ClusIndex != BAD_CLUS)
    {
        Drive = GetDrive(DirFileName);     /* 獲取文件所在邏輯盤號 */
        Rt = FindFDTInfo(&temp, Drive, ClusIndex, DirName);
        if (Rt == RETURN_OK)
        {
            Rt = NOT_FIND_FILE;
            if ((temp.Attr & ATTR_DIRECTORY) == 0)  /* 是文件才刪除 */
            {
                Rt = FILE_LOCK;
                if (FindOpenFile(Drive, ClusIndex, DirName) < MAX_OPEN_FILES)
                {
                    /* 文件沒有打開才刪除 */
                    ClusIndex1 = temp.FstClusLO + ((uint32)(temp.FstClusHI) << 16);
                    FATDelClusChain(Drive, ClusIndex1);
                    Rt = DelFDT(Drive, ClusIndex, DirName);
                }
            }
        }
    }
    return Rt;
}

/*********************************************************************************************************
** 函數名稱: FindOpenFileW
** 功能描述: 查找以讀寫方式打開的指定文件的文件句柄,內部使用
**
** 輸 入: Drive:文件所在的邏輯盤號
**        DirClus:文件所在目錄的開始簇號
**        FileName:內部文件名
** 輸 出: 文件句柄,Not_Open_FILE為沒有打開
**         
** 全局變量: FileInfo
** 調用模塊: _GetFDTInfo,GetDrive,FindFDTInfo,
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        HANDLE FindOpenFileW(uint8 Drive, uint32 DirClus, char FileName[11])
{
    HANDLE Rt;
    MY_FILE *fp;
    
    fp = FileInfo;
    for (Rt = 0; Rt < MAX_OPEN_FILES; Rt++)
    {
        if ((fp->Flags & FILE_FLAGS_WRITE) != 0)
        if (fp->Drive == Drive)
        if (fp->DirClus == DirClus)
        if (fp->Name[0] == FileName[0])
        if (fp->Name[1] == FileName[1])
        if (fp->Name[2] == FileName[2])
        if (fp->Name[3] == FileName[3])
        if (fp->Name[4] == FileName[4])
        if (fp->Name[5] == FileName[5])
        if (fp->Name[6] == FileName[6])
        if (fp->Name[7] == FileName[7])
        if (fp->Name[8] == FileName[8])
        if (fp->Name[9] == FileName[9])
        if (fp->Name[10] == FileName[10])
        {
            break;
        }
        fp++;
    }
    if (Rt >= MAX_OPEN_FILES)
    {
        Rt = Not_Open_FILE;
    }
    return Rt;
}

/*********************************************************************************************************
** 函數名稱: _FileOpenR
** 功能描述: 只讀方式打開文件,內部使用
**
** 輸 入: DirFileName:用戶使用的文件名
**
** 輸 出: 文件句柄,Not_Open_FILE為不能打開
**         
** 全局變量: FileInfo
** 調用模塊: _GetFDTInfo,GetDrive,FindFDTInfo,
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2004年4月10日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        HANDLE _FileOpenR(char *DirFileName)
{
    MY_FILE *fp;
    HANDLE Rt;
    FDT FileFDT;
    
    /* 查找空閑文件登記項 */
    for (Rt = 0; Rt < MAX_OPEN_FILES; Rt++)
    {
        if (FileInfo[Rt].Flags == 0)
        {
            break;
        }
    }
    
    if (Rt < MAX_OPEN_FILES)
    {
        fp = FileInfo + Rt;
        
        /* 獲取目錄開始簇號和文件名 */
        fp->DirClus = _GetFDTInfo(fp->Name, DirFileName);
        if (fp->DirClus < BAD_CLUS)
        {
            fp->Drive = GetDrive(DirFileName);     /* 獲取文件所在邏輯盤號 */
            
            /* 獲取文件信息 */
            if (FindFDTInfo(&FileFDT, fp->Drive, fp->DirClus, fp->Name) == RETURN_OK)
            {
                if ((FileFDT.Attr & ATTR_DIRECTORY) == 0)
                {
                    fp->Flags = FILE_FLAGS_READ;
                    fp->FileSize = FileFDT.FileSize;
                    fp->FstClus = FileFDT.FstClusLO | (uint32)FileFDT.FstClusHI << 16;
                    fp->Clus = fp->FstClus;
                    fp->Offset = 0;
                    return Rt;
                }
            }
        }
    }
    return Not_Open_FILE;
}

/*********************************************************************************************************
** 函數名稱: _FileOpenW
** 功能描述: 只寫方式打開文件,內部使用
**
** 輸 入: DirFileName:用戶使用的文件名
**
** 輸 出: 文件句柄,Not_Open_FILE為不能打開
**         
** 全局變量: FileInfo
** 調用模塊: _GetFDTInfo,GetDrive,FindFDTInfo,
**
** 作 者: 陳明計
** 日 期: 2003年6月5日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2004年4月10日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        HANDLE _FileOpenW(char *DirFileName)
{
    MY_FILE *fp;
    FDT temp;
    HANDLE Rt;
    uint8 i;

    for (Rt = 0; Rt < MAX_OPEN_FILES; Rt++)
    {
        if (FileInfo[Rt].Flags == 0)
        {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区三区在线播放| 亚洲久本草在线中文字幕| 中文字幕av一区 二区| 亚洲国产毛片aaaaa无费看| 免费观看日韩av| 一本到三区不卡视频| 精品免费99久久| 亚洲一区自拍偷拍| 99久久精品国产一区二区三区| 欧美精品三级日韩久久| 亚洲少妇最新在线视频| 国产原创一区二区| 欧美日韩免费观看一区二区三区 | 水蜜桃久久夜色精品一区的特点| 国产成人综合视频| 欧美一二三四区在线| 亚洲欧美电影一区二区| 国产99久久久精品| 精品国产伦一区二区三区观看方式| 夜夜嗨av一区二区三区四季av| 国产成人免费在线| 久久久久一区二区三区四区| 日韩精品欧美精品| 欧美午夜寂寞影院| 亚洲欧美成人一区二区三区| youjizz久久| 国产女同性恋一区二区| 国产一区二区三区日韩| 日韩欧美在线影院| 蜜桃av一区二区在线观看 | 中文字幕在线一区免费| 国产露脸91国语对白| 欧美成人精品高清在线播放| 奇米影视在线99精品| 日韩三级免费观看| 麻豆精品一区二区av白丝在线| 欧美一区二区在线观看| 日本不卡1234视频| 精品国产三级a在线观看| 久久99热这里只有精品| 欧美va日韩va| 国产老肥熟一区二区三区| 久久婷婷国产综合国色天香| 国产一区二区女| 国产欧美一区二区精品婷婷| 国产成人自拍在线| 亚洲视频图片小说| 在线一区二区三区四区五区| 亚洲成a天堂v人片| 欧美变态tickling挠脚心| 国产精品一线二线三线精华| 国产无一区二区| www.欧美日韩| 夜夜精品视频一区二区| 91麻豆精品国产自产在线| 美女精品自拍一二三四| 国产性做久久久久久| jlzzjlzz国产精品久久| 亚洲视频在线一区观看| 7777精品久久久大香线蕉| 经典三级在线一区| 中文字幕免费不卡在线| 欧美综合久久久| 国产主播一区二区| 日韩一区日韩二区| 欧美剧情电影在线观看完整版免费励志电影 | 国产91露脸合集magnet| 亚洲精品亚洲人成人网| 日韩女同互慰一区二区| 不卡区在线中文字幕| 亚洲五码中文字幕| 国产校园另类小说区| 欧美性猛交一区二区三区精品| 麻豆国产一区二区| 中文字幕一区二区三区在线不卡| 欧美日韩国产影片| 成人综合婷婷国产精品久久| 亚洲午夜在线视频| 欧美激情在线观看视频免费| 欧美日韩免费观看一区二区三区 | 亚洲大片精品永久免费| 26uuu亚洲婷婷狠狠天堂| 欧美午夜不卡视频| 风流少妇一区二区| 亚洲综合一区二区| 欧美激情一区二区三区在线| 日韩视频免费观看高清完整版| 色婷婷综合久久久久中文| 紧缚捆绑精品一区二区| 三级精品在线观看| 综合电影一区二区三区| 欧美刺激午夜性久久久久久久 | 亚洲老司机在线| 久久久不卡网国产精品二区| 777精品伊人久久久久大香线蕉| 成人av在线一区二区三区| 激情另类小说区图片区视频区| 怡红院av一区二区三区| 中文字幕欧美三区| 久久久亚洲精品石原莉奈| 日韩一级二级三级| 欧美日韩日日夜夜| 欧美体内she精视频| 色综合一个色综合| 成人永久看片免费视频天堂| 九色综合狠狠综合久久| 日日夜夜免费精品视频| 亚洲电影一级片| 亚洲精品视频免费观看| 日韩理论片在线| 亚洲天堂中文字幕| 午夜精品久久久| 一区二区国产视频| 亚洲女人的天堂| 亚洲三级在线免费观看| 综合色中文字幕| 亚洲人成网站精品片在线观看| 国产精品成人在线观看| 国产精品久久久久一区| 中文字幕亚洲区| 亚洲女同一区二区| 亚洲一二三四在线观看| 亚洲国产精品久久人人爱| 亚洲一二三专区| 日本中文字幕一区二区有限公司| 亚洲国产精品欧美一二99| 日韩和欧美一区二区| 日本午夜一区二区| 精品一区二区成人精品| 国产伦精品一区二区三区视频青涩| 激情伊人五月天久久综合| 国产成人久久精品77777最新版本| 国产老妇另类xxxxx| 成人免费视频app| 91丨porny丨国产| 色婷婷久久久亚洲一区二区三区 | 欧美日本国产一区| 欧美一区二区三区免费观看视频| 欧美日韩成人综合天天影院| 日韩一区二区麻豆国产| 久久丝袜美腿综合| 最新高清无码专区| 亚洲v中文字幕| 久久国产日韩欧美精品| 国产成人啪午夜精品网站男同| 99免费精品在线| 欧美日韩一区二区不卡| 久久久久久久综合色一本| 中文字幕一区二区三区乱码在线 | 狠狠久久亚洲欧美| 成人小视频在线| 在线观看成人小视频| 日韩欧美在线综合网| 国产精品福利一区| 日本在线播放一区二区三区| 国产凹凸在线观看一区二区| 欧洲亚洲精品在线| 久久久综合精品| 一区二区高清免费观看影视大全| 另类小说综合欧美亚洲| 色婷婷综合久久久中文字幕| 欧美精品一区二区三区在线播放| 18欧美乱大交hd1984| 久久不见久久见免费视频1| 色老头久久综合| 26uuu国产日韩综合| 亚洲激情av在线| 国产伦精品一区二区三区视频青涩| 在线观看视频一区二区欧美日韩| 久久久久久久综合日本| 三级在线观看一区二区| 一本一道久久a久久精品综合蜜臀 一本一道综合狠狠老 | 国产一区在线观看视频| 在线观看欧美精品| 中文字幕中文字幕一区| 精品亚洲aⅴ乱码一区二区三区| 色就色 综合激情| 国产清纯美女被跳蛋高潮一区二区久久w | 成人夜色视频网站在线观看| 91精品国产一区二区三区| 亚洲人xxxx| 国产mv日韩mv欧美| 精品国产一区二区国模嫣然| 偷拍自拍另类欧美| 在线亚洲一区二区| 国产精品久久久久久久久久免费看| 日韩经典中文字幕一区| 欧美视频日韩视频| 一区二区三区色| 91亚洲国产成人精品一区二区三 | 精品剧情v国产在线观看在线| 亚洲成人自拍网| 在线看一区二区| 一区二区三区精密机械公司| 国产电影一区二区三区| 久久综合色之久久综合| 精品综合免费视频观看| 欧美一区二区三区爱爱| 日韩激情在线观看| 日韩三级免费观看|