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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? r_misc.c

?? 這套代碼已經(jīng)成功一直到S3C44B0X開(kāi)發(fā)板上
?? C
字號(hào):
/*
**********************************************************************
*                          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
----------------------------------------------------------------------
Known problems or limitations with current version
----------------------------------------------------------------------
None.
---------------------------END-OF-HEADER------------------------------
*/

/*********************************************************************
*
*             #include Section
*
**********************************************************************
*/
#include "stdio.h"
#include "fs_port.h"
#include "fs_dev.h" 
#include "fs_lbl.h" 
#include "fs_conf.h"

#if FS_USE_RAMDISK_DRIVER
#include "includes.h"
#include "fs_api.h"
#include "fs_clib.h"


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

static char _array[(long)FS_RR_BLOCKNUM * FS_RR_BLOCKSIZE];
static FILE  *f;

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

/*********************************************************************
*
*             RamFlush
*
  Description:
  flush ram to file.

  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:
  0 means dump successfully
  >0 means dump failure
*/
static BOOLEAN RamFlush()
{

  fseek(f, 0, SEEK_SET);
  fwrite(_array, FS_RR_BLOCKNUM * FS_RR_BLOCKSIZE*(sizeof(char)), 1, f);
  fflush(f);
  return 0;
}


/*********************************************************************
*
*             _FS_RAM_DevStatus
*
  Description:
  FS driver function. Get status of the RAM disk.

  Parameters:
  Unit        - Unit number.
 
  Return value:
  ==1 (FS_LBL_MEDIACHANGED) - The media of the device has changed.
  ==0                       - Device okay and ready for operation.
  <0                        - An error has occured.
*/

static int _FS_RAM_DevStatus(FS_u32 Unit) {
  static int online[1];

  if (Unit != 0) {
    return -1;  /* Invalid unit number */
  }
  if (!online[Unit]) {
    /* 
       Make sure, the function returns FS_LBL_MEDIACHANGED when it is
       called the first time
    */
    online[Unit] = 1;
    return FS_LBL_MEDIACHANGED;
  }
  return 0;
}


/*********************************************************************
*
*             _FS_RAM_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 _FS_RAM_DevRead(FS_u32 Unit, FS_u32 Sector, void *pBuffer) {
  if (Unit != 0) {
    return -1;  /* Invalid unit number */
  }
  if (Sector >= FS_RR_BLOCKNUM) {
    return -1;  /* Out of physical range */
  }
  FS__CLIB_memcpy(pBuffer, ((char*)&_array[0]) + Sector * FS_RR_BLOCKSIZE,
                  (FS_size_t)FS_RR_BLOCKSIZE);
  return 0;
}


/*********************************************************************
*
*             _FS_RAM_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 _FS_RAM_DevWrite(FS_u32 Unit, FS_u32 Sector, void *pBuffer) {
  if (Unit != 0) {
    return -1;  /* Invalid unit number */
  }
  if (Sector >= FS_RR_BLOCKNUM) {
    return -1;  /* Out of physical range */
  }
  FS__CLIB_memcpy(((char*)&_array[0]) + Sector * FS_RR_BLOCKSIZE, pBuffer,
                  (FS_size_t)FS_RR_BLOCKSIZE);
  RamFlush();	//write to file
  return 0;
}


/*********************************************************************
*
*             _FS_RAM_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 _FS_RAM_DevIoCtl(FS_u32 Unit, FS_i32 Cmd, FS_i32 Aux, void *pBuffer) {
  FS_u32 *info;

  Aux = Aux;  /* Get rid of compiler warning */
  if (Unit != 0) {
    return -1;  /* Invalid unit number */
  }
  switch (Cmd) {
    case FS_CMD_GET_DEVINFO:
      if (!pBuffer) {
        return -1;
      }
      info = pBuffer;
      *info = 0;  /* hidden */
      info++;
      *info = 2;  /* head */
      info++;
      *info = 4;  /* sec per track */
      info++;
      *info = FS_RR_BLOCKNUM;
      break;
    default:
      break;
  }
  return 0;
}


/*********************************************************************
*
*             Global function
*
**********************************************************************
*/
/*********************************************************************
*
*             InitRamDisk
*
  Description:
  Initialize Ramdisk from file:ram.img

  Parameters:
  no
 
  Return value:
  ==0 means init successfully
  !=0 means init failure
*/
BOOLEAN InitRamDisk()
{
  int x;
  if((f = fopen("ram.img","rb+"))==NULL)	//if exist ram.img read it
  {
	  f = fopen("ram.img", "wb+");		//or create and format it
	  x = FS_IoCtl("ram:",FS_CMD_FORMAT_MEDIA,FS_MEDIA_RAM_16KB,0);
	  _log("create new ramdisk\n\n");
	  if (x!=0) 
	  {
		  _error("Cannot format RAM disk.\n");
		  return 1;
	  };
  }
  else  
  {
	  if(fread(_array, sizeof(char), FS_RR_BLOCKNUM * FS_RR_BLOCKSIZE, f) != FS_RR_BLOCKNUM * FS_RR_BLOCKSIZE)
	  {
		  x = FS_IoCtl("ram:",FS_CMD_FORMAT_MEDIA,FS_MEDIA_RAM_16KB,0);	//read error format it
		  if (x!=0) 
		  {
			  _error("Cannot format RAM disk.\n");
			  return 1;
		  }
	  }
	  else
		  _log("read disk from file success\n\n");
  }

  _FS_RAM_DevStatus(0);	//set status
  return 0;
}
/*********************************************************************
*
*             Global variables
*
**********************************************************************
*/

const FS__device_type FS__ramdevice_driver = {
  "RAMDISK device",
  _FS_RAM_DevStatus,
  _FS_RAM_DevRead,
  _FS_RAM_DevWrite,
  _FS_RAM_DevIoCtl
};

#endif /* FS_USE_RAMDISK_DRIVER */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕乱码亚洲精品一区 | 欧美一区二区二区| 一区二区三区**美女毛片| 99久精品国产| 亚洲精选免费视频| 欧美三级乱人伦电影| 日韩成人精品在线观看| 日韩精品资源二区在线| 国产一区二区三区电影在线观看| 久久久亚洲精华液精华液精华液| 国产成人精品亚洲日本在线桃色| 1024精品合集| 在线播放欧美女士性生活| 日本伊人色综合网| 久久精品视频在线看| 91蜜桃网址入口| 视频一区二区国产| 久久一夜天堂av一区二区三区 | 亚洲三级免费电影| 欧美中文字幕一区二区三区| 日韩精品一区第一页| 国产日韩影视精品| 在线视频观看一区| 久久国产免费看| 亚洲免费观看高清| 日韩视频在线一区二区| 91在线码无精品| 全部av―极品视觉盛宴亚洲| 中文字幕va一区二区三区| 欧美日韩一区成人| 国产精品小仙女| 丝袜美腿亚洲一区二区图片| 中文字幕的久久| 欧美一区二区视频观看视频| 成人av网址在线| 日韩成人伦理电影在线观看| 国产精品国产三级国产三级人妇 | 日韩精彩视频在线观看| 久久精品欧美日韩| 欧美日韩精品电影| 成人av网在线| 国产一区在线看| 午夜精品福利视频网站| 国产午夜三级一区二区三| 欧洲人成人精品| 成人高清视频在线观看| 奇米色777欧美一区二区| 最近中文字幕一区二区三区| www国产成人| 欧美肥妇bbw| 欧美亚洲综合久久| 99国产精品国产精品久久| 久久99在线观看| 五月天视频一区| 亚洲精品视频观看| 国产精品伦理一区二区| 欧美精品一区二区三| 8x福利精品第一导航| 在线观看一区不卡| 91在线一区二区三区| 国产69精品久久777的优势| 美女在线视频一区| 日本vs亚洲vs韩国一区三区二区 | 久久午夜色播影院免费高清 | 精品久久久久久久久久久久包黑料 | 国产精品66部| 免费av成人在线| 视频一区免费在线观看| 亚洲国产成人91porn| 亚洲一卡二卡三卡四卡无卡久久| 亚洲黄色免费电影| 亚洲午夜在线观看视频在线| 亚洲精品免费播放| 亚洲美女一区二区三区| 亚洲乱码国产乱码精品精的特点| 中文字幕一区二区三区视频| 中文在线一区二区| 国产精品九色蝌蚪自拍| 亚洲色图欧美激情| 亚洲精品国产视频| 亚洲一区二区三区美女| 亚洲va欧美va天堂v国产综合| 亚洲一区二区三区视频在线| 亚洲h在线观看| 日韩影视精彩在线| 久久91精品国产91久久小草| 国产一区二区三区免费在线观看 | 天天影视色香欲综合网老头| 丝袜国产日韩另类美女| 日本中文一区二区三区| 麻豆成人免费电影| 国产aⅴ综合色| 99精品欧美一区二区三区小说 | 亚洲乱码国产乱码精品精小说 | 亚洲成a人v欧美综合天堂 | 久久久久久亚洲综合影院红桃| 国产午夜三级一区二区三| 国产精品美女一区二区三区| 国产精品久久久久久亚洲毛片 | 精品一区二区久久| 国产成人啪免费观看软件| 99久久国产免费看| 欧美日韩精品一区二区天天拍小说 | 久久国产精品一区二区| 国产精品一区二区免费不卡| 成人18视频日本| 欧美日韩亚州综合| 精品对白一区国产伦| 最近日韩中文字幕| 三级一区在线视频先锋| 韩国成人精品a∨在线观看| 99精品欧美一区二区三区综合在线| 欧美日精品一区视频| 欧美成人a∨高清免费观看| 中文字幕欧美国产| 午夜精品久久久久久久久久久| 国产精品综合久久| 欧美亚洲国产一区二区三区| 精品久久久三级丝袜| 亚洲欧美一区二区不卡| 日本不卡高清视频| 色婷婷狠狠综合| 久久综合久久鬼色中文字| 一区二区成人在线| 国产毛片精品视频| 欧美日韩国产片| 国产精品久久久久久福利一牛影视| 亚洲成a人片综合在线| 成人av网站大全| 久久综合成人精品亚洲另类欧美 | 亚洲国产欧美一区二区三区丁香婷| 精品一区二区日韩| 欧美日韩情趣电影| 国产精品久久久久婷婷二区次| 日韩电影在线看| 欧美影视一区二区三区| 国产女主播在线一区二区| 午夜视频一区在线观看| 成人18视频在线播放| 久久天天做天天爱综合色| 亚洲一二三四久久| 99久久久免费精品国产一区二区| 欧美一级爆毛片| 亚洲h在线观看| 在线免费一区三区| 1区2区3区精品视频| 福利电影一区二区三区| 久久影院视频免费| 免费高清在线一区| 欧美一区二区三区视频在线观看 | 日本一区二区电影| 久久99精品国产麻豆不卡| 欧美三级在线视频| 亚洲黄色尤物视频| 色综合久久综合中文综合网| 国产精品女同一区二区三区| 国产一区二区三区视频在线播放| 7777精品伊人久久久大香线蕉的 | 成人激情午夜影院| 久久久综合视频| 精品中文av资源站在线观看| 欧美丰满美乳xxx高潮www| 亚洲国产日韩av| 91麻豆免费在线观看| 亚洲丝袜另类动漫二区| 成人avav在线| 亚洲色图欧美偷拍| 91国模大尺度私拍在线视频| 亚洲欧美日韩国产成人精品影院 | 欧美在线免费观看亚洲| 一区二区三区自拍| 欧美系列日韩一区| 亚洲成人av一区| 欧美久久久久免费| 日韩精品成人一区二区在线| 欧美一区欧美二区| 久久国产乱子精品免费女| 精品国产91乱码一区二区三区| 国产在线视频一区二区三区| 久久嫩草精品久久久久| 国产盗摄女厕一区二区三区| 欧美韩日一区二区三区四区| 成人高清在线视频| 亚洲黄色免费电影| 欧美日韩精品一区二区在线播放| 日韩在线卡一卡二| 久久久www成人免费毛片麻豆| 成人av在线资源网站| 亚洲综合一二三区| 91精品国产91久久久久久最新毛片 | 欧美一区二区三区视频免费| 老司机午夜精品| 欧美经典三级视频一区二区三区| 99久久国产综合精品女不卡| 亚洲一区二区三区在线播放| 日韩一区二区三区四区| 国产宾馆实践打屁股91| 依依成人精品视频| 欧美成人乱码一区二区三区| 成人黄色小视频|