OSDN Git Service

d56e5170dba9f09c77863c87d6e2e67226d3c42f
[hos/hos-v4a.git] / aplfw / driver / serial / renesas / scidrv.h
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  scidrv.h
5  * @brief %jp{SCI用デバイスドライバ}
6  *
7  * Copyright (C) 2006-2007 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #ifndef __HOS__renesas_scidrv_h__
13 #define __HOS__renesas_scidrv_h__
14
15
16 #include "system/sysapi/sysapi.h"
17 #include "system/file/chrdrv.h"
18 #include "scihal.h"
19 #include "library/container/stmbuf/stmbuf.h"
20
21
22 /* SCI用ドライバ制御部 */
23 typedef struct c_scidrv
24 {
25         C_CHRDRV                ChrDrv;                 /* キャラクタ型デバイスドライバを継承 */
26
27         C_SCIHAL                SciHal;                 /* ハードウェア制御クラス */
28         int                             iOpenCount;             /* オープンカウンタ */
29         SYSEVT_HANDLE   hEvtSend;               /* 送信イベント */
30         SYSEVT_HANDLE   hEvtRecv;               /* 受信イベント */
31         SYSMTX_HANDLE   hMtxSend;               /* 送信排他制御ミューテックス */
32         SYSMTX_HANDLE   hMtxRecv;               /* 受信排他制御ミューテックス */
33         C_STREAMBUF             StmBufRecv;             /* 受信バッファ */
34 } C_SCIDRV;
35
36
37
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41
42 /* SCI用デバイスドライバ */
43 void SciDrv_Create(C_SCIDRV *self, void *pRegAddr, int iIntNum, unsigned long ulSysClock, int iBufSize);        /**< コンストラクタ */
44
45 #ifdef __cplusplus
46 }
47 #endif
48
49
50 #endif  /* __HOS__renesas_scidrv_h__ */
51
52
53 /* end of file */