2 * Hyper Operating System Application Framework
5 * @brief %jp{キャラクタ型デバイスドライバ用ファイルディスクリプタ}
7 * %jp{ファイルディスクリプタとして機能するクラス}
9 * Copyright (C) 2006-2007 by Project HOS
10 * http://sourceforge.jp/projects/hos/
17 #include "system/system/system.h"
20 static void ChrDrv_SetWriteSignalProc(VPARAM Param);
24 void ChrDrv_SetWriteSignal(C_CHRDRV *self)
28 /* ISRからの呼び出しなら、システムプロセス経由で発動 */
29 System_RequestProc(ChrDrv_SetWriteSignalProc, (VPARAM)self);
34 ChrDrv_SetWriteSignalProc((VPARAM)self);
40 void ChrDrv_SetWriteSignalProc(VPARAM Param)
45 self = (C_CHRDRV *)Param;
47 SysEvt_Set(self->hEvtWrite);
49 SysMtx_Lock(self->hMtx);
51 pFile = self->pFileHead;
56 /* イベントハンドルが登録されていたらセット */
57 if ( pFile->hEventWrite != HANDLE_NULL )
59 Event_Set(pFile->hEventWrite);
64 } while ( pFile != self->pFileHead);
67 SysMtx_Unlock(self->hMtx);