2 * Hyper Operating System Application Framework
5 * @brief %jp{メモリマップドファイル用デバイスドライバ}
7 * Copyright (C) 2006-2007 by Project HOS
8 * http://sourceforge.jp/projects/hos/
13 #include "memdrv_local.h"
17 FILE_SIZE MemDrv_Read(C_DRVOBJ *pDrvObj, C_FILEOBJ *pFileObj, void *pBuf, FILE_SIZE Size)
23 self = (C_MEMDRV *)pDrvObj;
24 pFile = (C_MEMDRVFILE *)pFileObj;
26 SysMtx_Lock(self->hMtx);
29 if ( Size > self->FileSize - pFile->FilePos )
31 Size = self->FileSize - pFile->FilePos;
35 memcpy(pBuf, self->pubMemAddr + pFile->FilePos, Size);
36 pFile->FilePos += Size;
38 SysMtx_Unlock(self->hMtx);