OSDN Git Service

da7b910a72a2f31cefc9ca80b4032ce30580acf8
[hos/hos-v4a.git] / aplfw / system / file / chrdrv.h
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  chrdrv.h
5  * @brief %jp{キャラクタ型デバイスドライバの基本クラス}
6  *
7  * Copyright (C) 2006-2007 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #ifndef __HOS__chrdrv_h__
13 #define __HOS__chrdrv_h__
14
15
16 #include "system/file/chrfile.h"
17 #include "system/file/drvobj.h"
18
19
20
21 /* デバイスドライバオブジェクト基本クラス */
22 typedef struct c_chrdrv
23 {
24         C_DRVOBJ        DrvObj;                 /* DrvObjクラスを継承 */
25         
26         char            iWriteSignal;   /* 書込み状態 */
27         char            iReadSignal;    /* 読出し状態 */
28         C_CHRFILE       *pMonHead;              /* 状態監視オブジェクトの連結ポインタ */
29 } C_CHRDRV;
30
31
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35
36 void ChrDrv_Create(C_CHRDRV *self, const T_DRVOBJ_METHODS *pMethods);           /**< コンストラクタ */
37 void ChrDrv_Delete(C_DRVOBJ *self);                                                                                     /**< デストラクタ */
38
39 void ChrDrv_WriteSignal(C_CHRDRV *self);                /**< 書込み可能になったことを通知 */
40 void ChrDrv_ReadSignal(C_CHRDRV *self);                 /**< 読込み可能になったことを通知 */
41
42 #ifdef __cplusplus
43 }
44 #endif
45
46
47 #endif  /* __HOS__chrdrv_h__ */
48
49
50 /* end of file */