Пример #1
0
void CGameWorld::processListener()
{
	int cnt = 0;
	SNetLink *link;
	CG_TCPSession *session;

	// avoid accept too many link in one cycle
	while(cnt++ < 10)	
	{
		session = m_ClientListener.AcceptNewSession();
		if(!session) break;
		link = new SNetLink;
		link->connectTime = Sys_GetSec();
		link->session = session;
		//link->id = CreateId();
		link->valid = true;
		short port=0;
		unsigned long ip =0;
		if(!session->GetRemoteAddr (link->strIp, &port,&ip))
		{
			sprintf(link->strIp,"ÎÞЧip\0");
		}
		m_unloginLink.push_back(link);

		MYMSG("ProcessNewLink: ","new user connected");
	}
}
Пример #2
0
void CGameWorld::processLink()
{
	short cmdId;
	SNetLink *link;
	CG_TCPSession *session;
	list<SNetLink*>::iterator it;

	for(it=m_unloginLink.begin();it!=m_unloginLink.end();)
	{
		link    = (*it);
		LINK()  = link;
		session = link->session;
		if(!link->valid || Sys_GetSec()-link->connectTime>g_cfg.unlogin_timeout)
		{
			MYMSG("ProcessNetLink: ","remove unlogin link");
			delete session;
			delete link;
			it = m_unloginLink.erase(it);

			continue;
		}
		session->DefProc();
		if(session->IsDead())
		{
			link->valid = false;
			it++;
			continue;
		}

		while(session->GetPacket(m_activeCmd))
		{
			MYMSG("ProcessNetLink: ","GetPacket");
			if(!m_activeCmd->ReadShort(&cmdId))
			{
				link->valid = false;
				break;
			}

			MYMSG("ProcessNetLink: ","GetPacket_RS:%d",cmdId);
			if(!m_channelUnlogin.RecvCmd(cmdId))
				link->valid = false;
		}
		it++;
	}
}
Пример #3
0
SOCKET CG_NetSocket::Accept()
{
	SOCKADDR_IN addr;
	int len = sizeof(addr);
	SOCKET tmp;
	tmp = accept(m_socket,(SOCKADDR *)&addr,(socklen_t *)&len);
	if (tmp == INVALID_SOCKET || tmp == NULL)
	{
		MYMSG(LOG_NAME,"Accept error");
		return NULL;
	}
	m_nCount++;
	return tmp;	
}
Пример #4
0
void DispDrvrInitialize(void)
{
	PHYSICAL_ADDRESS ioPhysicalBase = {0,0};

	ioPhysicalBase.LowPart = S3C6410_BASE_REG_PA_SROMCON;
	g_pSROMReg = (volatile S3C6410_SROMCON_REG *)MmMapIoSpace(ioPhysicalBase, sizeof(S3C6410_SROMCON_REG), FALSE);
	if (NULL == g_pSROMReg)
	{
		MYERR((_T("[S1D13521_ERR] pSROMregs = MmMapIoSpace()\r\n")));
		return;
	}
	g_pSROMReg->SROM_BW = (g_pSROMReg->SROM_BW & ~(0xF<<16)) |
							(0<<19) |		// nWBE/nBE(for UB/LB) control for Memory Bank1(0=Not using UB/LB, 1=Using UB/LB)
							(0<<18) |		// Wait enable control for Memory Bank1 (0=WAIT disable, 1=WAIT enable)
							(1<<16);		// Data bus width control for Memory Bank1 (0=8-bit, 1=16-bit)
	g_pSROMReg->SROM_BC4 = (0x7<<28) |	// Tacs
							(0x7<<24) | 	// Tcos
							(0xF<<16) | 	// Tacc
							(0x7<<12) | 	// Tcoh
							(0x7<< 8) | 	// Tah
							(0x7<< 4) | 	// Tacp
							(0x0<< 0);		// PMC

	ioPhysicalBase.LowPart = S3C6410_BASE_REG_PA_GPIO;
	g_pGPIOPReg = (volatile S3C6410_GPIO_REG *)MmMapIoSpace(ioPhysicalBase, sizeof(S3C6410_GPIO_REG), FALSE);
	if (NULL == g_pGPIOPReg)
	{
		MYERR((_T("[S1D13521_ERR] g_pGPIOPReg = MmMapIoSpace()\r\n")));
		return;
	}
	// GPN[8] : EPD_HRDY(8)
	g_pGPIOPReg->GPNCON = (g_pGPIOPReg->GPNCON & ~(0x3<<16)) | (0x0<<16);	// input mode
	g_pGPIOPReg->GPNPUD = (g_pGPIOPReg->GPNPUD & ~(0x3<<16)) | (0x0<<16);	// pull-up/down disable

	ioPhysicalBase.LowPart = S1D13521_BASE_PA;
	g_pS1D13521Reg = (volatile S1D13521_REG *)MmMapIoSpace(ioPhysicalBase, sizeof(S1D13521_REG), FALSE);
	if (NULL == g_pS1D13521Reg)
	{
		MYERR((_T("[S1D13521_ERR] g_pS1D13521Reg != MmMapIoSpace()\r\n")));
		return;
	}

	for (int i=0, j=0, v=0; i<DispDrvr_palSize; i++)
	{
#if	(LCD_BPP == 4)
		v = i * 0x11;
#elif	(LCD_BPP == 8)
		v = i;
#endif
		DispDrvr_palette[i].rgbRed = DispDrvr_palette[i].rgbGreen = DispDrvr_palette[i].rgbBlue = v;
		DispDrvr_palette[i].rgbReserved = 0;
	}

	InitializeCriticalSection(&g_CS);
	g_hDirtyRect = DirtyRect_Init(workDirtyRect);
	S1d13521Initialize((void *)g_pS1D13521Reg, (void *)g_pGPIOPReg);

	MSGQUEUEOPTIONS msgopts;
	memset(&msgopts, 0, sizeof(msgopts));
	msgopts.dwSize = sizeof(msgopts);
	msgopts.dwFlags = 0;	//MSGQUEUE_ALLOW_BROKEN;
	msgopts.dwMaxMessages = 0;	// no max number of messages
	msgopts.cbMaxMessage = sizeof(DIRTYRECTINFO);	// max size of each msg
	msgopts.bReadAccess = FALSE;
	g_hMQ = CreateMsgQueue(MSGQUEUE_NAME, &msgopts);
	MYMSG((_T("[S1D13521_MSG] CreateMsgQueue(Write) == 0x%X\r\n"), g_hMQ));
}
Пример #5
0
#include "StdAfx.h"
#include "MSG.h"

tagMyMSG g_MYMSGAry[] = {
    MYMSG(WM_SYSKEYDOWN), MYMSG(WM_PRINTCLIENT), /*MYMSG(WM_MOUSELEAVE), */

    MYMSG(WM_SETTEXT), MYMSG(WM_SETHOTKEY), MYMSG(WM_DEVMODECHANGE), 

    MYMSG(WM_NOTIFYFORMAT), MYMSG(WM_MBUTTONUP), MYMSG(WM_NEXTMENU), 

    MYMSG(WM_SETCURSOR), MYMSG(WM_INITMENUPOPUP), MYMSG(WM_DESTROY), 

    MYMSG(WM_IME_KEYLAST), MYMSG(WM_NCLBUTTONDOWN), MYMSG(WM_MOUSEFIRST), 

    MYMSG(WM_COMPAREITEM), MYMSG(WM_SETREDRAW), MYMSG(WM_PAINT), 

    MYMSG(WM_DEVICECHANGE), MYMSG(WM_PALETTECHANGED), MYMSG(WM_PALETTEISCHANGING), 

    MYMSG(WM_MDIDESTROY), MYMSG(WM_CANCELMODE), MYMSG(WM_COMPACTING), 

    MYMSG(WM_LBUTTONDOWN), MYMSG(WM_LBUTTONUP), MYMSG(WM_NCMBUTTONDOWN), 

    MYMSG(WM_GETICON), MYMSG(WM_MDIREFRESHMENU), MYMSG(WM_TCARD), 

    MYMSG(WM_PRINT), MYMSG(WM_CHANGECBCHAIN), MYMSG(WM_IME_SELECT), 

    /*MYMSG(WM_MENURBUTTONUP),*/ MYMSG(WM_CTLCOLOREDIT), MYMSG(WM_ENTERMENULOOP), 

    MYMSG(WM_IME_KEYUP), MYMSG(WM_HELP), /*MYMSG(WM_MOUSEWHEEL), */

    MYMSG(WM_COMMNOTIFY), MYMSG(WM_NCMBUTTONUP), MYMSG(WM_INPUTLANGCHANGE),