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

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

?? fs_x_ucos_ii.c

?? uc/os操作系統的文件系統源碼
?? C
字號:
/*
*********************************************************************************************************
*                                             Micrium, Inc.
*                                         949 Crestview Circle
*                                        Weston,  FL 33327-1848
*
*                                         OS Layer for uC/FS
*
*                                   (c) Copyright 2002, Micrium, Inc.
*                                          All rights reserved.
*
* Filename    : fs_x_ucos_ii.C
* Programmers : Jean J. Labrosse
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                            INCLUDE FILES
*********************************************************************************************************
*/

#include  "fs_port.h"
#include  "fs_dev.h"
#include  "fs_api.h"
#include  "fs_os.h"
#include  "fs_conf.h"

#if FS_OS_TIME_SUPPORT == 1
#include  <time.h>
#endif

#include  "ucos_ii.h"

/*
*********************************************************************************************************
*                                         LOCAL GLOBAL VARIABLES
*********************************************************************************************************
*/

static  OS_EVENT  *FS_SemFileHandle;
static  OS_EVENT  *FS_SemFileOps;
static  OS_EVENT  *FS_SemMemManager;
static  OS_EVENT  *FS_SemDeviceOps;

#if FS_POSIX_DIR_SUPPORT
static OS_EVENT   *FS_SemDirHandle;
static OS_EVENT   *FS_SemDirOps;
#endif  /* FS_POSIX_DIR_SUPPORT */

/*$PAGE*/
/*
*********************************************************************************************************
*                              Lock global table _FS_filehandle (fs_info.c)
*********************************************************************************************************
*/

void  FS_X_OS_LockFileHandle (void) 
{
    INT8U  err;


    OSSemPend(FS_SemFileHandle, 0, &err);
}


/*
*********************************************************************************************************
*                              Unlock global table _FS_filehandle (fs_info.c)
*********************************************************************************************************
*/

void  FS_X_OS_UnlockFileHandle (void) 
{
    OSSemPost(FS_SemFileHandle);
}

/*
*********************************************************************************************************
*                                          Lock File Operations
*********************************************************************************************************
*/

void  FS_X_OS_LockFileOp (FS_FILE *fp) 
{
    INT8U  err;


    OSSemPend(FS_SemFileOps, 0, &err);
}

/*
*********************************************************************************************************
*                                         Unlock File Operations
*********************************************************************************************************
*/

void  FS_X_OS_UnlockFileOp (FS_FILE *fp) 
{
    OSSemPost(FS_SemFileOps);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                        Lock the Memory Manager
*********************************************************************************************************
*/

void  FS_X_OS_LockMem (void)
{
    INT8U  err;


    OSSemPend(FS_SemMemManager, 0, &err);
}

/*
*********************************************************************************************************
*                                       Unlock the Memory Manager
*********************************************************************************************************
*/

void  FS_X_OS_UnlockMem (void) 
{
    OSSemPost(FS_SemMemManager);
}

/*
*********************************************************************************************************
*                                        Lock Device Operations
*********************************************************************************************************
*/

void  FS_X_OS_LockDeviceOp (const FS__device_type *driver, FS_u32 id) 
{
    INT8U  err;


    OSSemPend(FS_SemDeviceOps, 0, &err);
}

/*
*********************************************************************************************************
*                                       Unlock Device Operations
*********************************************************************************************************
*/

void  FS_X_OS_UnlockDeviceOp (const FS__device_type *driver, FS_u32 id) 
{
    OSSemPost(FS_SemDeviceOps);
}


#if FS_POSIX_DIR_SUPPORT

/*
*********************************************************************************************************
*                              Lock global table _FS_dirhandle (api_dir.c).
*********************************************************************************************************
*/

void FS_X_OS_LockDirHandle (void)
{
    INT8U  err;


    OSSemPend(FS_SemDirHandle, 0, &err);
}


/*
*********************************************************************************************************
*                              Unlock global table _FS_dirhandle (api_dir.c).
*********************************************************************************************************
*/

void FS_X_OS_UnlockDirHandle (void)
{
    OSSemPost(FS_SemDirHandle);
}


/*
*********************************************************************************************************
*                                          Lock Directory Operations
*********************************************************************************************************
*/

void FS_X_OS_LockDirOp (FS_DIR *dirp)
{
    INT8U  err;


    OSSemPend(FS_SemDirOps, 0, &err);
}


/*
*********************************************************************************************************
*                                          Unlock Directory Operations
*********************************************************************************************************
*/

void FS_X_OS_UnlockDirOp (FS_DIR *dirp) 
{
    OSSemPost(FS_SemDirOps);
}

#endif  /* FS_POSIX_DIR_SUPPORT */



/*$PAGE*/
/*
*********************************************************************************************************
*                                              Get Date
*********************************************************************************************************
*/

FS_u16  FS_X_OS_GetDate (void) 
{
#if FS_OS_TIME_SUPPORT == 1
    FS_u16      fdate;
    time_t      t;
    struct tm  *ltime;


    time(&t);
    ltime  = localtime(&t);
    fdate  = ltime->tm_mday;
    fdate += ((FS_u16)(ltime->tm_mon  +  1) << 5);
    fdate += ((FS_u16)(ltime->tm_year - 80) << 9);
#else
    FS_u16      fdate;


    fdate  = 1;
    fdate += ((FS_u16) 1 << 5);
    fdate += ((FS_u16) 0 << 9);
#endif
    return (fdate);
}

/*
*********************************************************************************************************
*                                              Get Time
*********************************************************************************************************
*/

FS_u16  FS_X_OS_GetTime (void) 
{
#if FS_OS_TIME_SUPPORT == 1
    FS_u16      ftime;
    time_t      t;
    struct tm  *ltime;


    time(&t);
    ltime  = localtime(&t);
    ftime  = ltime->tm_sec / 2;
    ftime += ((FS_u16) ltime->tm_min  <<  5);
    ftime += ((FS_u16) ltime->tm_hour << 11);
#else
    FS_u16 ftime;


    ftime  = 0;
#endif
    return (ftime);
}

/*$PAGE*/
/*
*********************************************************************************************************
*                                         Initialize OS Resources
*********************************************************************************************************
*/

int  FS_X_OS_Init (void) 
{
    FS_SemFileHandle = OSSemCreate(1);
    FS_SemFileOps    = OSSemCreate(1);
    FS_SemMemManager = OSSemCreate(1);
    FS_SemDeviceOps  = OSSemCreate(1);
#if FS_POSIX_DIR_SUPPORT    
    FS_SemDirHandle  = OSSemCreate(1);
    FS_SemDirOps     = OSSemCreate(1);
#endif  /* FS_POSIX_DIR_SUPPORT */    
    return (0);
}

/*
*********************************************************************************************************
*                                         Reclaim OS Resources
*********************************************************************************************************
*/

int  FS_X_OS_Exit (void) 
{
    INT8U  err;


    OSSemDel(FS_SemFileHandle, OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemFileOps   , OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemMemManager, OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemDeviceOps , OS_DEL_ALWAYS, &err);
#if FS_POSIX_DIR_SUPPORT    
    OSSemDel(FS_SemDirHandle , OS_DEL_ALWAYS, &err);
    OSSemDel(FS_SemDirOps    , OS_DEL_ALWAYS, &err);
#endif  /* FS_POSIX_DIR_SUPPORT */
    return (0);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲国产综合| 91美女片黄在线观看| 亚洲精品乱码久久久久久| 国产精品热久久久久夜色精品三区| 日韩一区二区三区高清免费看看| 欧美日韩一本到| 欧美日韩美女一区二区| 欧美日韩在线播| 欧美一区二区在线播放| 欧美日韩国产成人在线91| 正在播放亚洲一区| 日韩精品专区在线影院重磅| 欧美成人精品福利| 国产视频亚洲色图| 亚洲欧美色综合| 亚洲bt欧美bt精品| 韩国女主播一区二区三区| 视频一区视频二区在线观看| 亚洲国产一区二区三区青草影视| 偷拍与自拍一区| 国产真实乱偷精品视频免| 成人激情免费视频| 精品视频在线看| 久久日一线二线三线suv| 国产精品国产三级国产a| 亚洲精品免费在线| 久久国产三级精品| 91在线看国产| 欧美电影一区二区| 日本一区二区不卡视频| 亚洲不卡一区二区三区| 麻豆精品在线观看| 91福利国产成人精品照片| 欧美一级精品大片| 亚洲欧美电影院| 国内精品伊人久久久久av影院| av电影天堂一区二区在线观看| 欧美少妇xxx| 亚洲国产成人在线| 日本视频一区二区三区| 成人美女视频在线观看| 欧美特级限制片免费在线观看| 精品国产乱码久久久久久牛牛| 中文字幕一区二区三区在线播放| 日韩在线观看一区二区| 91网页版在线| 久久久99久久| 麻豆精品在线看| 91福利国产成人精品照片| 国产日韩精品一区二区三区| 日精品一区二区三区| 色综合一区二区三区| 国产亚洲婷婷免费| 久久精品国产77777蜜臀| 91黄色在线观看| 中文字幕视频一区二区三区久| 毛片av一区二区| 欧美视频一区在线观看| 亚洲欧美视频在线观看视频| 国产成人av电影| 国产亚洲女人久久久久毛片| 日日夜夜免费精品| 欧美剧在线免费观看网站| 亚洲欧美日韩精品久久久久| 丁香激情综合五月| 久久久99精品免费观看| 韩国精品免费视频| 亚洲精品在线网站| 精品影院一区二区久久久| 日韩视频在线你懂得| 日韩精品一二三| 欧美日韩在线不卡| 亚洲电影你懂得| 欧美区在线观看| 婷婷丁香激情综合| 欧美一区二区三级| 久久aⅴ国产欧美74aaa| 日韩视频123| 精东粉嫩av免费一区二区三区| 欧美一级淫片007| 蜜桃在线一区二区三区| 日韩一二三区视频| 国产乱人伦偷精品视频免下载 | 亚洲激情校园春色| 国产一区二区网址| 久久久久久久久一| 成人三级在线视频| 亚洲码国产岛国毛片在线| 欧洲中文字幕精品| 视频一区免费在线观看| 精品国产99国产精品| 国产精品456露脸| 中文字幕在线不卡| 欧美日韩亚洲不卡| 精品一区二区在线观看| 欧美国产禁国产网站cc| 欧美这里有精品| 久久精品免费观看| 国产精品国产自产拍高清av王其| 91亚洲男人天堂| 日韩高清不卡一区| 国产日本亚洲高清| 欧洲激情一区二区| 精品无人区卡一卡二卡三乱码免费卡| 久久久久国产精品麻豆| 日本高清成人免费播放| 另类的小说在线视频另类成人小视频在线| 精品欧美一区二区三区精品久久| 国产剧情在线观看一区二区| 亚洲欧美另类小说| 日韩欧美国产精品一区| 成人av第一页| 免费精品视频在线| 成人欧美一区二区三区1314| 欧美乱熟臀69xxxxxx| 成人晚上爱看视频| 麻豆精品国产91久久久久久| 国产精品盗摄一区二区三区| 欧美一区二区三区免费大片| 99久久综合色| 国产一区欧美二区| 日日嗨av一区二区三区四区| 中文字幕中文在线不卡住| 日韩欧美激情在线| 欧美亚洲动漫精品| 成人va在线观看| 国产最新精品精品你懂的| 亚洲一区二区三区视频在线播放| 国产欧美日韩三级| 欧美成人bangbros| 欧美人伦禁忌dvd放荡欲情| 成人av影院在线| 国产精品亚洲综合一区在线观看| 亚洲成人自拍网| 亚洲欧美日韩国产中文在线| 久久99国产精品尤物| 一本大道av一区二区在线播放| 偷偷要91色婷婷| 亚洲精品视频在线观看网站| 欧美高清在线一区二区| 久久精品亚洲精品国产欧美| 日韩欧美一区二区视频| 欧美无砖专区一中文字| 色婷婷一区二区| 91蜜桃视频在线| 99久久免费视频.com| 成人丝袜18视频在线观看| 国产成人免费视频网站| 国产精品99久久久久久似苏梦涵| 日韩电影在线免费看| 手机精品视频在线观看| 亚洲超碰97人人做人人爱| 五月婷婷色综合| 日本不卡视频在线观看| 日韩中文字幕区一区有砖一区 | 99re成人精品视频| av一区二区三区| 99re视频精品| 91一区一区三区| 在线国产亚洲欧美| 欧美日韩亚洲高清一区二区| 717成人午夜免费福利电影| 欧美丰满美乳xxx高潮www| 欧美久久久一区| 精品久久国产老人久久综合| 久久影院电视剧免费观看| 久久九九久久九九| 日韩一区有码在线| 亚洲一区二区三区在线| 五月激情六月综合| 国产揄拍国内精品对白| 国产成人福利片| 色婷婷综合久久久久中文| 欧美日韩久久久| 久久蜜臀精品av| 成人欧美一区二区三区在线播放| 亚洲一区二区三区四区不卡| 狂野欧美性猛交blacked| 国产黑丝在线一区二区三区| 91美女片黄在线观看| 日韩一区二区不卡| 国产精品亲子伦对白| 一区二区三区av电影| 老司机精品视频线观看86 | 国产精品色在线观看| 亚洲免费高清视频在线| 青青草原综合久久大伊人精品 | 色www精品视频在线观看| 欧美一区三区二区| 国产精品不卡一区| 日本在线不卡视频| 成人黄色小视频在线观看| 欧美日韩一级黄| 国产精品国产三级国产普通话蜜臀 | 国产一区二区福利| 一本久道中文字幕精品亚洲嫩 | 久久麻豆一区二区| 午夜天堂影视香蕉久久| 大尺度一区二区| 日韩女同互慰一区二区|