OSDN Git Service

(none)
[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 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 "scihal.h"
17 #include "library/stmbuf.h"
18 #include "system/sysapi/sysapi.h"
19
20
21 /* SCI用ドライバ制御部 */
22 typedef struct c_scidrv
23 {
24         int           iOpenCount;
25         SYSEVT_HANDLE hEvtSend;
26         SYSEVT_HANDLE hEvtRecv;
27         SYSMTX_HANDLE hMtxSend;
28         SYSMTX_HANDLE hMtxRecv;
29         C_SCIHAL      SciHal;
30         C_STREAMBUF   StmBuf;
31 } C_SCIDRV;
32
33
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 /* SCI用デバイスドライバ */
40 void SciDrv_Create(C_SCIDRV *self, void *pRegAddr, int iIntNum, long lSysClock, int iBufSize);  /**< コンストラクタ */
41 void SciDrv_Delete(C_SCIDRV *self);                                                                                                                             /**< デストラクタ */
42 void SciDrv_Open(C_SCIDRV *self);                                                                                                                               /**< オープン初期化 */
43 void SciDrv_Close(C_SCIDRV *self);                                                                                                                              /**< クローズ */
44 int  SciDrv_Read(C_SCIDRV *self, void *pRecvBuf, int iSize);                                                                    /**< 書き込み */
45 int  SciDrv_Write(C_SCIDRV *self, const void *pData, int iSize);                                                                /**< 読み出し */
46 int  SciDrv_SetSpeed(C_SCIDRV *self, long lBps);                                                                                                /**< bps設定 */
47
48 #ifdef __cplusplus
49 }
50 #endif
51
52
53 #endif  /* __HOS__renesas_scidrv_h__ */
54
55
56 /* end of file */