2 * Hyper Operating System Application Framework
5 * @brief %jp{Ether上にIPプロトコルを実装(つまりMAC層近辺)}
7 * Copyright (C) 2006-2007 by Project HOS
8 * http://sourceforge.jp/projects/hos/
13 #include "ipether_local.h"
17 FILE_ERR IpEther_Constructor(C_IPETHER *self, const T_DRVOBJ_METHODS *pMethods, const char *pszEther, const T_IPETHER_INF *pInf)
20 self->hEther = File_Open(pszEther, FILE_OPEN_READ | FILE_OPEN_WRITE | FILE_OPEN_EXIST);
21 if ( self->hEther == HANDLE_NULL )
27 SyncDrv_Constructor(&self->SyncDrv, pMethods, SYNCDRV_FACTOR_NUM);
34 memcpy(self->ubMyIpAddr, pInf->ubIpAddr, 4);
35 memcpy(self->ubSubNetMask, pInf->ubSubNetMask, 4);
36 memcpy(self->ubGateWayIpAddr, pInf->ubGateWayIpAddr, 4);
39 self->hEvtRecv = SysEvt_Create(SYSEVT_ATTR_AUTOCLEAR);
40 self->hEvtArp = SysEvt_Create(SYSEVT_ATTR_AUTOCLEAR);
43 self->hMtxSend = SysMtx_Create(SYSMTX_ATTR_NORMAL);
44 self->hMtxRecv = SysMtx_Create(SYSMTX_ATTR_NORMAL);
45 self->hMtxArp = SysMtx_Create(SYSMTX_ATTR_NORMAL);
48 self->hPrcRecv = SysPrc_Create(IpEther_Recv, (VPARAM)self, NULL, 1024, 2, SYSPRC_ATTR_NORMAL);