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

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

?? r_misc.c

?? 文件系統轅馬,想要的258031823大幅度反對反對法
?? C
字號:
/*
**********************************************************************
*                          Micrium, Inc.
*                      949 Crestview Circle
*                     Weston,  FL 33327-1848
*
*                            uC/FS
*
*             (c) Copyright 2001 - 2003, Micrium, Inc.
*                      All rights reserved.
*
***********************************************************************

----------------------------------------------------------------------
File        : r_misc.c
Purpose     : Device Driver for simple array in RAM
---------------------------END-OF-HEADER------------------------------
*/

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

#include "fs_dev.h"
#include "fs_lbl.h"
#include "FS_ConfDefaults.h"        /* FS Configuration */

#if FS_USE_RAMDISK_DRIVER

#include "fs_api.h"
#include "fs_clib.h"
#include "FS_Debug.h"


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

typedef struct {
  FS_U8 aaaData[FS_RAMDISK_MAXUNIT][FS_RR_BLOCKNUM][FS_RAMDISK_SECTOR_SIZE];
} RAMDISK;

#ifndef FS_RAMDISK_ADDR
  RAMDISK FS_RamDrive;
  RAMDISK * _pRAMDrive = &FS_RamDrive;
#else
  RAMDISK * _pRAMDrive = (RAMDISK *) FS_RAMDISK_ADDR;
#endif

/*********************************************************************
*
*             Local functions
*
**********************************************************************
*/

/*********************************************************************
*
*             _DevStatus
*
*  Description:
*    FS driver function. Get status of the RAM disk.
*
*  Parameters:
*    Unit    - Device number.
*
*  Return value:
*    FS_MEDIA_STATEUNKNOWN if the state of the media is unknown.
*    FS_MEDIA_ISNOTPRESENT if no card is present.
*    FS_MEDIA_ISPRESENT if a card is present.
*/

static int _DevStatus(FS_U8 Unit) {
  return FS_MEDIA_ISPRESENT;
}


/*********************************************************************
*
*             _DevRead
*
*  Description:
*    FS driver function. Read a sector from the RAM disk.
*
*  Parameters:
*    Unit        - Unit number.
*    Sector      - Sector to be read from the device.
*    pBuffer     - Pointer to buffer for storing the data.
*
*  Return value:
*    ==0         - Sector has been read and copied to pBuffer.
*    <0          - An error has occured.
*/
static int _DevRead(FS_U8 Unit, FS_U32 Sector, void *pBuffer) {
  if (Sector >= FS_RR_BLOCKNUM) {
    FS_DEBUG_ERROROUT("_DevRead: Sector out of range\n");
    return -1;
  }
  FS_MEMCPY(pBuffer, &_pRAMDrive->aaaData[Unit][Sector][0], FS_RAMDISK_SECTOR_SIZE);
  return 0;
}

/*********************************************************************
*
*       _ReadBurst
*
*  Description:
*    Read multiple sectors.
*
*  Parameters:
*    Unit        - Unit number.
*    SectorNo    - First sector to be read from the device.
*    NumSectors  - Number of sectors to be read from the device.
*    pBuffer     - Pointer to buffer for storing the data.
*
*  Return value:
*    ==0         - Sector has been read and copied to pBuffer.
*    <0          - An error has occured.
*/
static int _ReadBurst(FS_U8 Unit, FS_U32 SectorNo, FS_U32 NumSectors, void *pBuffer) {
  if (SectorNo + NumSectors > FS_RR_BLOCKNUM) {
    FS_DEBUG_ERROROUT("_ReadBurst: Sector out of range\n");
    return -1;
  }
  FS_MEMCPY(pBuffer, &_pRAMDrive->aaaData[Unit][SectorNo][0], NumSectors * FS_RAMDISK_SECTOR_SIZE);
  return 0;
}

/*********************************************************************
*
*       _WriteBurst
*
*  Description:
*    Read multiple sectors.
*
*  Parameters:
*    Unit        - Unit number.
*    SectorNo    - First sector to be written to the device.
*    NumSectors  - Number of sectors to be written to the device.
*    pBuffer     - Pointer to buffer for holding the data.
*
*  Return value:
*    ==0         - O.K.: Sector has been written to device.
*    <0          - An error has occured.
*/
static int _WriteBurst(FS_U8 Unit, FS_U32 SectorNo, FS_U32 NumSectors, const void *pBuffer) {
  if (SectorNo + NumSectors > FS_RR_BLOCKNUM) {
    FS_DEBUG_ERROROUT("_WriteBurst: Sector out of range\n");
    return -1;
  }
  FS_MEMCPY(&_pRAMDrive->aaaData[Unit][SectorNo][0], pBuffer, NumSectors * FS_RAMDISK_SECTOR_SIZE);
  return 0;
}


/*********************************************************************
*
*             _DevWrite
*
*  Description:
*    FS driver function. Write sector to the RAM disk.
*
*  Parameters:
*    Unit        - Unit number.
*    Sector      - Sector to be written to the device.
*    pBuffer     - Pointer to data to be stored.
*
*  Return value:
*    ==0         - Sector has been written to the device.
*    <0          - An error has occured.
*/

static int _DevWrite(FS_U8 Unit, FS_U32 Sector, void *pBuffer) {
  if (Sector >= FS_RR_BLOCKNUM) {
    FS_DEBUG_ERROROUT("_DevWrite: Sector out of range\n");
    return -1;
  }

  FS_MEMCPY(&_pRAMDrive->aaaData[Unit][Sector][0], pBuffer, FS_RAMDISK_SECTOR_SIZE);
  return 0;
}


/*********************************************************************
*
*             _DevIoCtl
*
*  Description:
*    FS driver function. Execute device command.
*
*  Parameters:
*    Unit        - Unit number.
*    Cmd         - Command to be executed.
*    Aux         - Parameter depending on command.
*    pBuffer     - Pointer to a buffer used for the command.
*
*  Return value:
*    Command specific. In general a negative value means an error.
*/
static int _DevIoCtl(FS_U8 Unit, FS_I32 Cmd, FS_I32 Aux, void *pBuffer) {
  FS_DEV_INFO *pInfo;

  FS_USE_PARA(Aux);
  switch (Cmd) {
  case FS_CMD_GET_DEVINFO:
    if (!pBuffer) {
      return -1;
    }
    pInfo = (FS_DEV_INFO *)pBuffer;
    pInfo->NumSectors      = FS_RR_BLOCKNUM;
    pInfo->BytesPerSector  = FS_RAMDISK_SECTOR_SIZE;
    break;
  default:
    break;
  }
  return 0;
}

/*********************************************************************
*
*             Global variables
*
**********************************************************************
*/

const FS_DEVICE_TYPE FS__ramdevice_driver = {
  "ram",
  FS_RAMDISK_MAXUNIT,
  _DevStatus,
  _DevRead,
  _DevWrite,
  _DevIoCtl,
  _ReadBurst,      /* Optional function */
  _WriteBurst      /* Optional function */
};

#endif /* FS_USE_RAMDISK_DRIVER */

/*************************** End of file ****************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆国产一区二区| 国产精品欧美一区二区三区| 亚洲国产精品嫩草影院| 欧美日韩在线电影| 日本一不卡视频| 欧美岛国在线观看| 国产成人免费xxxxxxxx| 中文字幕五月欧美| 欧美精品粉嫩高潮一区二区| 久久99久久99精品免视看婷婷| 久久久久久久久蜜桃| 99国产精品视频免费观看| 亚洲影视资源网| 日韩欧美一二三四区| 成人精品小蝌蚪| 亚洲成人在线网站| www国产成人| 91亚洲精品久久久蜜桃网站 | 成人动漫一区二区| 亚洲一区二区视频在线观看| 制服丝袜成人动漫| 粉嫩av一区二区三区| 一区二区三区四区在线免费观看| 欧美一区二区三区四区在线观看| 国产精品一区在线观看你懂的| 自拍偷拍国产精品| 欧美一区二区三区在线观看| 成人午夜在线播放| 偷拍亚洲欧洲综合| 亚洲国产精品高清| 666欧美在线视频| 99亚偷拍自图区亚洲| 日本成人在线视频网站| 欧美高清一级片在线观看| 欧美精品久久一区| www.激情成人| 韩国欧美国产一区| 一区二区三区精品视频| 精品久久久久久久久久久久包黑料 | 精品一区二区三区久久| 亚洲美女少妇撒尿| 久久精品视频一区二区三区| 欧美日韩综合在线免费观看| 国产成人午夜精品5599| 日本强好片久久久久久aaa| 亚洲色图制服丝袜| 欧美精品一区二区三区高清aⅴ| 91免费视频网址| 国产精品99久久久久久有的能看 | 国产精品毛片无遮挡高清| 制服.丝袜.亚洲.中文.综合| 99国内精品久久| 国产美女久久久久| 蜜臀精品一区二区三区在线观看 | 欧美色男人天堂| 成人黄色免费短视频| 国产美女在线精品| 久久电影国产免费久久电影| 日韩电影在线观看网站| 樱桃视频在线观看一区| 亚洲国产精品成人综合| 精品久久久久久久久久久久久久久久久 | 精品国产凹凸成av人导航| 欧美日韩国产经典色站一区二区三区| 99在线精品视频| 不卡av在线网| 白白色 亚洲乱淫| 国产999精品久久久久久绿帽| 久久精品国产99国产| 免费一区二区视频| 免费日韩伦理电影| 日韩成人dvd| 久久精品国产77777蜜臀| 蜜臀av亚洲一区中文字幕| 亚洲一卡二卡三卡四卡五卡| 有坂深雪av一区二区精品| 亚洲免费av观看| 一区二区三区精品视频在线| 一区二区三区色| 亚洲一线二线三线视频| 午夜久久久影院| 日本强好片久久久久久aaa| 麻豆精品在线看| 国内成人自拍视频| 国产夫妻精品视频| 成人av网站在线| 色系网站成人免费| 欧美三电影在线| 欧美一区二区久久久| 欧美大黄免费观看| 久久精品欧美一区二区三区不卡 | 蜜臀精品久久久久久蜜臀| 美女网站视频久久| 国产成人午夜视频| 色一情一伦一子一伦一区| 欧美日韩一级大片网址| 日韩欧美在线1卡| 久久久精品黄色| 一区二区三区小说| 蜜桃精品在线观看| 国产suv精品一区二区三区| www.日韩在线| 欧美精品1区2区| 久久精品视频一区| 亚洲国产综合91精品麻豆| 六月丁香婷婷久久| 99re这里只有精品6| 制服丝袜中文字幕亚洲| 精品久久人人做人人爱| 亚洲日本一区二区三区| 手机精品视频在线观看| 国产精品一二三四| 欧美少妇一区二区| 久久先锋影音av| 亚洲一二三区不卡| 国产高清无密码一区二区三区| 在线观看日韩高清av| 久久综合色鬼综合色| 一区二区三区中文在线观看| 麻豆91精品视频| 91免费国产在线观看| 日韩视频在线你懂得| 亚洲美女一区二区三区| 久久国产免费看| 在线亚洲精品福利网址导航| 精品国产91亚洲一区二区三区婷婷| 中文字幕欧美一区| 久久国产尿小便嘘嘘| 日本精品一区二区三区四区的功能| 欧美xxx久久| 亚洲午夜日本在线观看| 成人自拍视频在线观看| 日韩一区二区三区视频| 一区二区免费看| eeuss鲁一区二区三区| 欧美一区二区在线播放| 亚洲免费观看高清完整| 国产999精品久久久久久绿帽| 日韩午夜在线影院| 亚洲一区二区影院| 91同城在线观看| 国产女同性恋一区二区| 麻豆国产欧美日韩综合精品二区| 欧美熟乱第一页| 综合久久给合久久狠狠狠97色| 国产一区二区毛片| 日韩一级片在线观看| 亚洲成人在线网站| 欧洲精品在线观看| 亚洲三级理论片| 成人av片在线观看| 国产精品情趣视频| 国产高清精品在线| 国产片一区二区三区| 精品一二三四区| 欧美一二三四在线| 欧美aaaaa成人免费观看视频| 欧美性高清videossexo| 夜夜精品视频一区二区| 色婷婷国产精品| 亚洲一区欧美一区| 欧美色图第一页| 五月激情综合网| 欧美日韩国产在线观看| 午夜a成v人精品| 欧美美女一区二区三区| 亚洲妇女屁股眼交7| 在线视频欧美精品| 亚洲综合精品久久| 欧美日韩成人一区二区| 一区二区不卡在线视频 午夜欧美不卡在| 成人小视频免费在线观看| 国产精品美女一区二区| av一区二区三区四区| 亚洲激情校园春色| 精品视频全国免费看| 日韩成人一区二区| 欧美mv日韩mv国产网站app| 国内精品国产三级国产a久久| 久久一夜天堂av一区二区三区| 国产一区二区精品久久| 国产精品九色蝌蚪自拍| 欧美这里有精品| 日韩电影在线免费看| 精品国产凹凸成av人网站| 国产成人精品亚洲777人妖| 自拍视频在线观看一区二区| 欧美午夜理伦三级在线观看| 奇米一区二区三区av| 久久久久久免费网| 91亚洲男人天堂| 婷婷中文字幕综合| 久久久久久久久久久久电影| 99久久久久免费精品国产| 亚洲国产aⅴ成人精品无吗| 欧美一级欧美三级| 成人福利视频网站| 偷窥国产亚洲免费视频| 国产午夜亚洲精品理论片色戒 | 精品亚洲免费视频|