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

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

?? fs_x_embos.c

?? 這套代碼已經成功一直到S3C44B0X開發板上
?? C
字號:
/*
**********************************************************************
*                          Micrium, Inc.
*                      949 Crestview Circle
*                     Weston,  FL 33327-1848
*
*                            uC/FS
*
*             (c) Copyright 2001 - 2003, Micrium, Inc.
*                      All rights reserved.
*
***********************************************************************

----------------------------------------------------------------------
File        : fs_x_embos.c
Purpose     : embOS OS Layer for the file system
----------------------------------------------------------------------
Known problems or limitations with current version
----------------------------------------------------------------------
None.
---------------------------END-OF-HEADER------------------------------
*/

/*********************************************************************
*
*             #include Section
*
**********************************************************************
*/

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

#if (FS_OS_EMBOS)

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

#include "rtos.h"


/*********************************************************************
*
*             Local Variables        
*
**********************************************************************
*/

static OS_RSEMA _FS_fh_sema;
static OS_RSEMA _FS_fop_sema;
static OS_RSEMA _FS_mem_sema;
static OS_RSEMA _FS_dop_sema;

#if FS_POSIX_DIR_SUPPORT
static OS_RSEMA _FS_dirh_sema;
static OS_RSEMA _FS_dirop_sema;
#endif  /* FS_POSIX_DIR_SUPPORT */


/*********************************************************************
*
*             Global functions section
*
**********************************************************************
*/

/*********************************************************************
*
*             FS_X_OS_LockFileHandle
*
  Lock global table _FS_filehandle (fs_info.c).
*/

void FS_X_OS_LockFileHandle(void) {
  OS_Use(&_FS_fh_sema);
}


/*********************************************************************
*
*             FS_X_OS_UnlockFileHandle
*
  Unlock global table _FS_filehandle (fs_conf.c).
*/

void FS_X_OS_UnlockFileHandle(void) {
  OS_Unuse(&_FS_fh_sema);
}


/*********************************************************************
*
*             FS_X_OS_LockFileOp
*
  The filesystem does allow unlimited number of file access 
  operations at the same time. It is not allowed to access
  a file during an operation to it is pending. Because different
  fp's may access the same file, an implementation has to check
  fp->fileid_lo, fp->fileid_hi and fp->fileid_ex, if it wants
  to allow multiple file access operations at the same time.

  This implementation does allow only one file access
  operation at the same time.
*/

void FS_X_OS_LockFileOp(FS_FILE *fp) {
  OS_Use(&_FS_fop_sema);
}


/*********************************************************************
*
*             FS_X_OS_UnlockFileOp
*
  Please see FS_X_OS_LockFileOp.
*/

void FS_X_OS_UnlockFileOp(FS_FILE *fp) {
  OS_Unuse(&_FS_fop_sema);
}


/*********************************************************************
*
*             FS_X_OS_LockMem
*
  Lock global table _FS_memblock (fat_misc.c).
*/

void FS_X_OS_LockMem(void) {
  OS_Use(&_FS_mem_sema);
}


/*********************************************************************
*
*             FS_X_OS_UnlockMem
*
    Unlock global table _FS_memblock (fat_misc.c).
*/

void FS_X_OS_UnlockMem(void) {
  OS_Unuse(&_FS_mem_sema);
}


/*********************************************************************
*
*             FS_X_OS_LockDeviceOp
*
  The filesystem does allow unlimited number of device access 
  operations at the same time. It is not allowed to access
  the same driver and unit during an operation to it is already
  pending. 
   
  This implementation does allow only one device access
  operation at the same time.
*/

void FS_X_OS_LockDeviceOp(const FS__device_type *driver, FS_u32 id) {
  OS_Use(&_FS_dop_sema);
}


/*********************************************************************
*
*             FS_X_OS_UnlockDeviceOp
*
    Please see FS_X_OS_LockDeviceOp.
*/

void FS_X_OS_UnlockDeviceOp(const FS__device_type *driver, FS_u32 id) {
  OS_Unuse(&_FS_dop_sema);
}

#if FS_POSIX_DIR_SUPPORT

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

void FS_X_OS_LockDirHandle(void) {
  OS_Use(&_FS_dirh_sema);
}


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

void FS_X_OS_UnlockDirHandle(void) {
  OS_Unuse(&_FS_dirh_sema);
}


/*********************************************************************
*
*             FS_X_OS_LockDirOp
*
  The filesystem does allow unlimited number of directory access 
  operations at the same time. It is not allowed to access
  a directory during an operation to it is pending. Because different
  dirp's may access the same directory, an implementation has to check
  dirp->dirid_lo, dirp->dirid_hi and dirp->dirid_ex, if it wants
  to allow multiple directory access operations at the same time.

  This implementation does allow only one directory access
  operation at the same time.
*/

void FS_X_OS_LockDirOp(FS_DIR *dirp) {
  OS_Use(&_FS_dirop_sema);
}


/*********************************************************************
*
*             FS_X_OS_UnlockDirOp
*
  Please see FS_X_OS_LockDirOp.
*/

void FS_X_OS_UnlockDirOp(FS_DIR *dirp) {
  OS_Unuse(&_FS_dirop_sema);
}

#endif  /* FS_POSIX_DIR_SUPPORT */


/*********************************************************************
*
*             FS_X_OS_GetDate
*/

FS_u16 FS_X_OS_GetDate(void) {
  FS_u16 fdate;
#if FS_OS_TIME_SUPPORT
  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
  fdate = 1;
  fdate += ((FS_u16) 1 << 5);
  fdate += ((FS_u16) 0 << 9);
#endif /* FS_OS_TIME_SUPPORT */
  return fdate;
}


/*********************************************************************
*
*             FS_X_OS_GetTime
*/

FS_u16 FS_X_OS_GetTime(void) {
  FS_u16 ftime;
#if FS_OS_TIME_SUPPORT
  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
  ftime = 0;
  ftime += ((FS_u16) 0 << 5);
  ftime += ((FS_u16) 0 << 11);
#endif /* FS_OS_TIME_SUPPORT */
  return ftime;
}


/*********************************************************************
*
*             FS_X_OS_init
*/

int FS_X_OS_Init(void) {
  OS_CREATERSEMA(&_FS_fh_sema);
  OS_CREATERSEMA(&_FS_fop_sema);
  OS_CREATERSEMA(&_FS_mem_sema);
  OS_CREATERSEMA(&_FS_dop_sema);
#if FS_POSIX_DIR_SUPPORT
  OS_CREATERSEMA(&_FS_dirh_sema);
  OS_CREATERSEMA(&_FS_dirop_sema);
#endif  /* FS_POSIX_DIR_SUPPORT */  
  return 0;
}


/*********************************************************************
*
*             FS_X_OS_Exit
*/

int FS_X_OS_Exit(void) {
  return 0;
}

#endif /* FS_OS_EMBOS */


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区三区| 欧美一级欧美三级在线观看 | 91小视频在线观看| 五月激情综合婷婷| 亚洲黄色小说网站| 久久色.com| 久久亚洲综合色| 日韩一二三区视频| 在线视频综合导航| 久草在线在线精品观看| 偷拍一区二区三区| 久久精品国产亚洲a| 午夜精品久久久久久久久久久| 亚洲天堂成人网| 国产日本欧美一区二区| 日韩午夜精品电影| 日韩免费看的电影| 欧美成人伊人久久综合网| 91精品国产色综合久久久蜜香臀| 欧美三级视频在线观看| 色狠狠一区二区| 91视频com| 国产69精品久久99不卡| 国产精品亚洲综合一区在线观看| 亚州成人在线电影| 舔着乳尖日韩一区| 日本不卡视频一二三区| 香港成人在线视频| 免费在线观看视频一区| 亚洲天堂免费看| 一区二区三区**美女毛片| 亚洲综合色婷婷| 日韩成人午夜精品| 香蕉影视欧美成人| 国产高清视频一区| www.亚洲激情.com| kk眼镜猥琐国模调教系列一区二区| 高清不卡在线观看av| 成人亚洲一区二区一| 91麻豆自制传媒国产之光| 欧美性色黄大片| 久久久久久久久伊人| 国产精品久久午夜| 日韩黄色一级片| 国产精品一区二区久久不卡 | 成人亚洲精品久久久久软件| 成人av在线播放网址| 一本一本大道香蕉久在线精品| 欧洲激情一区二区| 日韩欧美一级二级| 国产午夜精品理论片a级大结局 | 欧美色欧美亚洲另类二区| 欧美一级一区二区| 国产精品免费视频网站| 亚洲一区电影777| 视频一区二区欧美| 成人午夜激情影院| 在线一区二区三区做爰视频网站| 91啪亚洲精品| 精品一区二区三区不卡 | av亚洲精华国产精华精华| 欧美日本在线视频| 国产精品美女久久久久av爽李琼| 亚洲精品国产第一综合99久久| 久久精品国产77777蜜臀| gogo大胆日本视频一区| 欧美sm极限捆绑bd| 亚洲欧美韩国综合色| 久久精品国产秦先生| 国产精品一区二区三区乱码| 紧缚捆绑精品一区二区| 欧美日韩中文国产| 国产日本一区二区| 精品一区二区三区免费播放| 欧美视频第二页| 国产精品久久综合| 精品在线一区二区| 欧美美女黄视频| 一区二区三区在线不卡| 丝袜亚洲另类丝袜在线| 国产综合久久久久久久久久久久| 在线观看亚洲精品视频| 欧美精品一区二区三区四区| 亚洲精选免费视频| 日本免费新一区视频| 欧美色网站导航| 2020国产精品久久精品美国| 奇米777欧美一区二区| 欧美日韩国产成人在线91| 亚洲美女区一区| 成人av资源在线观看| 欧美国产综合色视频| 粉嫩aⅴ一区二区三区四区五区 | 欧美激情综合五月色丁香| 麻豆视频一区二区| 欧美狂野另类xxxxoooo| 亚洲制服丝袜一区| 欧美亚洲动漫制服丝袜| 国产日韩欧美麻豆| 日本成人中文字幕在线视频| 91精品综合久久久久久| 亚洲成人中文在线| 欧美高清一级片在线| 午夜欧美电影在线观看| 欧美日韩久久久一区| 一区二区三区欧美日韩| 91麻豆国产在线观看| 一区二区三区久久| 欧美日韩国产乱码电影| 日本成人中文字幕| 欧美精品第一页| 美女任你摸久久| 91精品国产全国免费观看| 久久成人免费电影| 欧美人与性动xxxx| 亚洲黄色性网站| 5858s免费视频成人| 老汉av免费一区二区三区| 欧美日韩不卡在线| 国产一区二区三区久久久| 国产精品久线观看视频| 在线影院国内精品| 黄页网站大全一区二区| 中文字幕一区二区在线观看 | 欧美日韩电影在线| 精品一区二区三区视频| 国产精品不卡一区二区三区| 91国偷自产一区二区三区成为亚洲经典 | 91精品国产91久久久久久一区二区| 日韩和欧美一区二区| 欧美精品一区二区三区很污很色的 | 成人va在线观看| 日韩激情在线观看| 欧美久久久久久久久中文字幕| 日本v片在线高清不卡在线观看| 国产亚洲综合色| 99精品热视频| 美女免费视频一区二区| 日韩一区欧美小说| 日韩你懂的电影在线观看| 91麻豆视频网站| 国内外成人在线视频| 国产精品久久久久久久蜜臀 | 日韩精品一区二区三区在线| 亚洲国产综合人成综合网站| 在线观看日韩高清av| 日韩国产精品久久| 精品久久久久久亚洲综合网 | 欧美日本在线观看| 在线免费一区三区| 婷婷久久综合九色综合伊人色| 欧美日韩免费观看一区二区三区 | 91麻豆精品国产91久久久久久久久| 欧美日韩精品欧美日韩精品| 欧美精品一区二| 国产精品99久久久| 樱桃视频在线观看一区| 色综合久久中文字幕综合网| 亚洲视频一区在线观看| 色噜噜夜夜夜综合网| 三级不卡在线观看| 久久天天做天天爱综合色| 成人精品亚洲人成在线| 亚洲最新在线观看| 精品噜噜噜噜久久久久久久久试看| 开心九九激情九九欧美日韩精美视频电影| 欧美一区二区视频在线观看| 粉嫩av一区二区三区在线播放 | 精品国产3级a| 久久精品国产亚洲a| 国产精品久久看| 色av综合在线| a亚洲天堂av| 97se亚洲国产综合自在线| 国产精品福利在线播放| 91玉足脚交白嫩脚丫在线播放| 亚洲精品视频在线看| 国产福利一区二区| 国产精品福利一区| 欧美成人精品二区三区99精品| 五月天精品一区二区三区| 午夜久久久影院| 久久精品久久综合| 精品一区二区久久久| 成人美女视频在线观看| 成人国产精品免费观看视频| 在线观看视频91| 欧美一区二区视频观看视频| 欧美亚洲综合在线| 欧美成人伊人久久综合网| 国产亚洲欧美一区在线观看| 亚洲一区二区在线播放相泽| 肉色丝袜一区二区| 丁香六月久久综合狠狠色| 成人国产精品免费网站| 欧美一区二区播放| 久久久国际精品| 中文字幕免费观看一区| 一区二区三区四区在线免费观看| 亚洲精品久久久久久国产精华液|