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

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

?? osfile.c

?? pl2200 zfc 開發全部文檔,源碼,
?? C
?? 第 1 頁 / 共 2 頁
字號:
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.cp = Path;
    Together(OS_MakeDir, NOT_RUN, Temp.P1.Puint8);
}

/*********************************************************************************************************
** 函數名稱: OSRemoveDir
** 功能描述: 刪除目錄
**
** 輸 入: Path:絕對路徑名
**
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSRemoveDir(char *Path)
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.cp = Path;
    Together(OS_RemoveDir, NOT_RUN, Temp.P1.Puint8);
}

/*********************************************************************************************************
** 函數名稱: OSChangeDir
** 功能描述: 改變當前目錄
**
** 輸 入: Path:路徑名
**
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSChangeDir(char *Path)
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.cp = Path;
    Together(OS_ChangeDir, NOT_RUN, Temp.P1.Puint8);
}

/*********************************************************************************************************
** 函數名稱: OSGetDrive
** 功能描述: 獲取指定目錄的驅動器
**
** 輸 入: Path:路徑名
**        
** 輸 出: 驅動器號
**
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSGetDrive(char *Path)
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.cp = Path;
    Together(OS_GetDrive, NOT_RUN, Temp.P1.Puint8);
}

/*********************************************************************************************************
** 函數名稱: OSChangeDrive
** 功能描述: 改變當前邏輯盤
**
** 輸 入: Drive:邏輯盤符字符串
**        
** 輸 出: RETURN_OK:成功
**        NOT_FIND_DISK:邏輯盤不存在
**        PARAMETER_ERR:非法參數
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSChangeDrive(char *Drive)
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.cp = Drive;
    Together(OS_ChangeDrive, NOT_RUN, Temp.P1.Puint8);
}



/*********************************************************************************************************/


/*********************************************************************************************************
** 函數名稱: OSGetFDTInfo
** 功能描述: 獲取指定目錄指定文件(目錄)信息
**
** 輸 入: Rt:存儲返回信息的指針
**        Drive:驅動器號
**        ClusIndex:目錄首簇號
**        Index:文件(目錄)在FDT中的位置
** 輸 出: RETURN_OK:成功
**        其它參考fat.h中關于返回值的說明
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSGetFDTInfo(FDT *Rt,uint8 Drive, uint32 ClusIndex, uint32 Index)
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.Pvp= (void *)Rt;
    Temp.P2.Puint8= Drive;
    Temp.P3.Puint32= ClusIndex;
    Temp.P4.Puint32= Index;
    Together(OS_GetFDTInfo, NOT_RUN, Temp.P1.Puint8);
}

/*********************************************************************************************************/



/*********************************************************************************************************
** 函數名稱: OSAddFileDriver
** 功能描述: 增加一個底層驅動程序
**
** 輸 入: DiakCommand:驅動程序接口函數
**
** 輸 出: NOT_RUN:沒有執行
**        RETURN_OK:執行成功
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSAddFileDriver(uint16  (* DiakCommand)(uint8 Cammand, void *Parameter))
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.Pvp = (void *)DiakCommand;
    Together(OS_AddFileDriver, NOT_RUN, RETURN_OK);
}

/*********************************************************************************************************
** 函數名稱: OSRemoveFileDriver
** 功能描述: 刪除一個底層驅動程序
**
** 輸 入: Drive:邏輯驅動器號
**
** 輸 出: 無
**         
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
        uint8 OSRemoveFileDriver(uint8 Drive)
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Temp.P1.Puint8 = Drive;
    Together(OS_RemoveFileDriver, NOT_RUN, RETURN_OK);
}




/*********************************************************************************************************/




/*********************************************************************************************************
** 函數名稱: OSAllCacheWriteBack
** 功能描述: 把所有已改變的扇區寫回邏輯盤
**
** 輸 入: 無
**
** 輸 出: NOT_RUN:沒有執行
**        RETURN_OK:執行成功
**         
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 
** 日 期: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
       uint8 OSAllCacheWriteBack(void)
{
    OSFileParameter Temp;
    uint8 err, ThisRt;

    Together(OS_AllCacheWriteBack, NOT_RUN, RETURN_OK);
}



/*********************************************************************************************************/




/*********************************************************************************************************
** 函數名稱: OSFileTask
** 功能描述: 文件系統服務任務
**
** 輸 入: 無
**
** 輸 出: 無
**         
** 全局變量: 
** 調用模塊: OSQPost
**
** 作 者: 陳明計
** 日 期: 2003年12月20日
**-------------------------------------------------------------------------------------------------------
** 修改人: 陳明計
** 日 期: 2004年3月11日
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

        void OSFileTask(void *pdata)
{
    uint8 err;
    uint16 CacheIndex;
    OSFileParameter *Command;
    
    extern Disk_cache DiskCache[MAX_DISK_CACHES];
    pdata = pdata;
    
    DiskInit();                                         /* 初始化磁盤管理模塊 */
    FileInit();                                         /* 初始化文件系統 */
    FileCommad = OSQCreate(OSFileQ, FILE_Q_SIZE);       /* 初始化命令隊列 */
    CacheIndex = 0;
    while (1)
    {
        Command = (OSFileParameter *)OSQPend(FileCommad, 100, &err);    /* 等待命令 */
        if (err == OS_TIMEOUT)
        {
            if ((DiskCache[CacheIndex].Flag & CACHE_WRITED) != 0)
            {
                CacheWriteBack2(CacheIndex);            /* 回寫cache */
            }
            
            CacheIndex++;
            if (CacheIndex >= MAX_DISK_CACHES)
            {
                CacheIndex = 0;
            }
        }

        if (err == OS_NO_ERR)
        {
            /* 實際執行各種操作  */
            switch(Command->Command)
            {
                case OS_RemoveFile:             /* 刪除文件 */
                    Command->P1.Puint8 = RemoveFile(Command->P1.cp);
                    break;
                case OS_FileOpen:               /* 打開文件 */
                    Command->P1.Handle = FileOpen(Command->P1.cp, Command->P2.cp);
                    break;
                case OS_FileClose:              /* 關閉文件 */
                    Command->P1.Puint8 = FileClose(Command->P1.Handle);
                    break;
                case OS_FileGetCh:              /* 從文件中讀一個字節數據 */
                    Command->P1.Puint8 = FileGetCh(Command->P1.ucp, Command->P2.Handle);
                    break;
                case OS_FileRead:               /* 從文件中讀數據 */
                    Command->P1.Puint32 = FileRead(Command->P1.Pvp, Command->P2.Puint32, Command->P3.Handle);
                    break;
                case OS_FilePutCh:              /* 寫一個直接數據到文件 */
                    Command->P1.Puint8 = FilePutCh(Command->P1.Puint8, Command->P2.Handle);
                    break;
                case OS_FileWrite:              /* 寫數據到文件 */
                    Command->P1.Puint32 = FileWrite(Command->P1.Pvp, Command->P2.Puint32, Command->P3.Handle);
                    break;
                case OS_FileCloseAll:           /* 關閉所有文件 */
                    FileCloseAll();
                    break;
                case OS_FileEof:                /* 判斷文件是否結束 */
                    Command->P1.Puint8 = FileEof(Command->P1.Handle);
                    break;
                case OS_FileSeek:               /* 調整文件指針 */
                    Command->P1.Puint8 = FileSeek(Command->P1.Handle, Command->P2.Puint32, Command->P3.Puint8);
                    break;
                case OS_MakeDir:                /* 建立目錄 */
                    Command->P1.Puint8 = MakeDir(Command->P1.cp);
                    break;
                case OS_RemoveDir:              /* 刪除空目錄 */
                    Command->P1.Puint8 = RemoveDir(Command->P1.cp);
                    break;
                case OS_ChangeDir:              /* 改變當前目錄 */
                    Command->P1.Puint8 = ChangeDir(Command->P1.cp);
                    break;
                case OS_GetDrive:               /* 獲取邏輯盤內部表示法 */
                    Command->P1.Puint8 = GetDrive(Command->P1.cp);
                    break;
                case OS_ChangeDrive:            /* 改變當前邏輯盤 */
                    Command->P1.Puint8 = ChangeDrive(Command->P1.cp);
                    break;
                case OS_GetFDTInfo:             /* 獲取指定fdt信息 */
                    Command->P1.Puint8 = GetFDTInfo(Command->P1.Pvp, Command->P2.Puint8, Command->P3.Puint32, Command->P4.Puint32);
                    break;
                case OS_AddFileDriver:          /* 增加底層驅動 */
                    AddFileDriver((uint16  (*)(uint8 Cammand, void *Parameter))Command->P1.Pvp);
                    break;
                case OS_RemoveFileDriver:       /* 刪除底層驅動 */
                    RemoveFileDriver(Command->P1.Puint8);
                    break;
                case OS_AllCacheWriteBack:      /* 同步cache與邏輯盤 */
                    AllCacheWriteBack();
                    break;
                default:
                    Command->P1.Puint8 = BAD_COMMAND;
                    break;
            }
        }
        OSMboxPost(Command->Rt, (void *)1);             /* 返回操作結果 */
    }
}


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产老肥熟一区二区三区| 精品日韩欧美在线| 免费成人在线播放| 日韩午夜精品视频| 高清成人在线观看| 视频一区免费在线观看| 国产精品成人免费在线| 日韩视频不卡中文| 欧美伊人久久久久久久久影院| 精品在线你懂的| 亚洲成在人线免费| 国产精品激情偷乱一区二区∴| 5858s免费视频成人| 91成人在线精品| 欧美aaaaa成人免费观看视频| 亚洲婷婷在线视频| 久久久久久毛片| 欧美高清视频www夜色资源网| caoporn国产一区二区| 国产美女精品人人做人人爽| 爽好久久久欧美精品| 国产日韩v精品一区二区| 欧美一区二区日韩一区二区| 欧美亚洲综合久久| 成年人网站91| 国产风韵犹存在线视精品| 蜜桃在线一区二区三区| 午夜精品影院在线观看| 亚洲国产一区视频| 一区二区三区**美女毛片| 亚洲同性同志一二三专区| 国产精品久久福利| 国产精品不卡视频| 国产区在线观看成人精品 | 91麻豆产精品久久久久久| 国产一区二区三区久久久| 免费三级欧美电影| 秋霞av亚洲一区二区三| 日本中文字幕不卡| 日韩中文字幕一区二区三区| 免费看欧美美女黄的网站| 日本成人在线电影网| 免费在线看成人av| 久久国产精品区| 九九热在线视频观看这里只有精品| 九九久久精品视频 | 欧美国产一区在线| 精品国产乱码久久久久久1区2区| 精品成人免费观看| 国产欧美日韩麻豆91| 亚洲欧美怡红院| 亚洲国产精品自拍| 蜜桃视频在线观看一区二区| 午夜激情一区二区三区| 日本色综合中文字幕| 国产精华液一区二区三区| 国产成人精品三级麻豆| 色婷婷一区二区三区四区| 欧美色综合天天久久综合精品| 欧美一区二区在线免费观看| 26uuu欧美| 亚洲一区二区三区四区中文字幕| 国产在线视视频有精品| 一本色道综合亚洲| 国产欧美日韩不卡免费| 麻豆一区二区在线| 欧美无砖砖区免费| 国产精品色眯眯| 老司机精品视频线观看86| 欧美伊人久久大香线蕉综合69 | 美美哒免费高清在线观看视频一区二区| 国产一区二区三区久久久 | 亚洲电影中文字幕在线观看| 国产精品影音先锋| 制服视频三区第一页精品| 日韩理论片在线| 国产aⅴ综合色| 日韩欧美激情一区| 午夜欧美在线一二页| 99在线热播精品免费| 国产视频一区在线播放| 国内精品伊人久久久久av一坑| 91麻豆精品91久久久久久清纯 | 欧美激情一区二区三区四区| 麻豆91小视频| 欧美一区二区三区免费| 午夜激情一区二区三区| 欧美午夜片在线看| 一区二区三区在线高清| 波多野结衣中文字幕一区| 国产日韩欧美精品一区| 国产很黄免费观看久久| 久久久久久电影| 国产老女人精品毛片久久| 2023国产精品自拍| 国产一区在线看| 久久久久久久久久久电影| 激情综合色播五月| 精品国产一区二区精华| 另类小说视频一区二区| 精品免费99久久| 精品午夜久久福利影院| 精品福利av导航| 国产一区二区三区精品欧美日韩一区二区三区| 欧美精品xxxxbbbb| 日本不卡一二三| 日韩欧美国产午夜精品| 美女视频网站久久| 欧美变态凌虐bdsm| 国产91精品精华液一区二区三区| 国产精品天美传媒沈樵| 99久久婷婷国产综合精品电影| 最近中文字幕一区二区三区| 色婷婷av久久久久久久| 日韩激情av在线| 久久伊人中文字幕| 97se亚洲国产综合自在线| 亚洲免费毛片网站| 欧洲另类一二三四区| 五月激情六月综合| 精品国产91久久久久久久妲己 | 99精品黄色片免费大全| 亚洲欧美日本韩国| 日韩一区二区三区高清免费看看 | 天使萌一区二区三区免费观看| 欧美mv日韩mv| 成a人片国产精品| 天堂va蜜桃一区二区三区 | 欧美夫妻性生活| 国产乱国产乱300精品| 亚洲丝袜制服诱惑| 91精品国产麻豆国产自产在线| 国产综合色在线视频区| 亚洲精品一卡二卡| 久久久综合激的五月天| 一本久久精品一区二区| 日韩国产高清影视| 久久久精品tv| 欧美二区在线观看| 高清不卡一二三区| 亚洲va韩国va欧美va精品| 国产女同互慰高潮91漫画| 欧美军同video69gay| 成人小视频免费观看| 婷婷久久综合九色综合伊人色| 国产视频在线观看一区二区三区| 欧美日韩精品久久久| 99国产精品久久| 国产精品羞羞答答xxdd| 性久久久久久久| 中文字幕日本不卡| 久久这里只有精品首页| 在线成人免费视频| 91麻豆精品一区二区三区| 国产在线播放一区| 麻豆精品久久精品色综合| 亚洲一区二区三区四区五区黄| 亚洲国产精品精华液2区45| 日韩精品中文字幕一区| 欧美日韩免费观看一区三区| 99精品视频一区| 精品视频999| 狠狠色综合色综合网络| 日日夜夜免费精品视频| 亚洲精品国产a| 中文久久乱码一区二区| 亚洲精品一区二区三区香蕉| 日韩一区二区三区av| 欧美日韩视频不卡| 欧美手机在线视频| 91国产丝袜在线播放| 91免费在线播放| av成人免费在线| 99久久国产综合精品女不卡| 成人在线综合网| 国产成+人+日韩+欧美+亚洲| 国产精品456露脸| 精品影视av免费| 激情图片小说一区| 国内不卡的二区三区中文字幕| 精品亚洲国内自在自线福利| 久久电影网站中文字幕| 日本视频一区二区三区| 免费精品视频在线| 国产米奇在线777精品观看| 国产精品一区二区三区网站| 懂色中文一区二区在线播放| 国产成人在线看| yourporn久久国产精品| 99久久99精品久久久久久| 91麻豆福利精品推荐| 色欧美片视频在线观看在线视频| 色乱码一区二区三区88| 欧美日韩一区二区三区免费看| 欧美日韩视频在线观看一区二区三区| 色88888久久久久久影院野外| 欧美亚洲禁片免费| 欧美精选一区二区| 久久精品人人做人人综合| 亚洲三级小视频|