OSDN Git Service

ee1cbb2148380421c085e864e97e33813a8346f6
[hos/hos-v4a.git] / aplfw / driver / ether / ne2000 / ne2000drv.h
1 /** 
2  *  Hyper Operating System  Application Framework
3  *
4  * @file  ne2000drv.c
5  * @brief %jp{NE2000互換Ether用デバイスドライバ}
6  *
7  * Copyright (C) 2006 by Project HOS
8  * http://sourceforge.jp/projects/hos/
9  */
10
11
12 #ifndef __HOS__ne2000drv_h__
13 #define __HOS__ne2000drv_h__
14
15
16 #include "ne2000hal.h"
17 #include "system/sysapi/sysapi.h"
18
19
20 /* NE2000互換NIC制御ドライバクラス */
21 typedef struct c_ne2000drv
22 {
23         int           iOpenCount;
24         SYSEVT_HANDLE hEvtSend;
25         SYSEVT_HANDLE hEvtRecv;
26         SYSMTX_HANDLE hMtx;
27         C_NE2000HAL   Ne2000Hal;
28 } C_NE2000DRV;
29
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 void Ne2000Drv_Create(C_NE2000DRV *self, void *pRegAddr, int iIntNum);          /**< コンストラクタ */
36 void Ne2000Drv_Delete(C_NE2000DRV *self);                                                                       /**< デストラクタ */
37 void Ne2000Drv_Open(C_NE2000DRV *self);                                                                         /**< オープン初期化 */
38 void Ne2000Drv_Close(C_NE2000DRV *self);                                                                        /**< クローズ */
39 int  Ne2000Drv_Read(C_NE2000DRV *self, void *pRecvBuf, int iSize);                      /**< 書き込み */
40 int  Ne2000Drv_Write(C_NE2000DRV *self, const void *pData, int iSize);          /**< 読み出し */
41
42 #ifdef __cplusplus
43 }
44 #endif
45
46
47 #endif  /* __HOS__ne2000drv_h__ */
48
49
50 /* end of file */