Exemplo n.º 1
0
int CDlgBatteryParam::ReadBatteryParam( CString strKernelPath, STRUCT_BATTERY_PARAM* pBatteryParam )
{
    int nRetCode=0;
    //1.check kernel file
    CFile kernelFile;
    UINT uiKernelSize;
    BOOL bRet;
    bRet = kernelFile.Open(strKernelPath,CFile::modeRead|CFile::typeBinary);
    if (!bRet)
    {
        return -1;
    }
    uiKernelSize = kernelFile.GetLength();
    BYTE *pKernelBuffer=NULL;
    UINT uiRead;
    pKernelBuffer = new BYTE[uiKernelSize];
    if (!pKernelBuffer)
    {
        kernelFile.Close();
        nRetCode = -2;
        goto Exit_ReadBatteryParam;
    }
    uiRead = kernelFile.ReadHuge(pKernelBuffer,uiKernelSize);
    kernelFile.Close();
    if (uiRead!=uiKernelSize)
    {
        nRetCode = -3;
        goto Exit_ReadBatteryParam;
    }
    bRet = CheckKernel(pKernelBuffer);
    if (!bRet)
    {
        nRetCode = -4;
        goto Exit_ReadBatteryParam;
    }
    //2.search param tag
    int iPos;
    iPos = SearchTag(pKernelBuffer);
    if (iPos==-1)
    {
        nRetCode = -5;
        goto Exit_ReadBatteryParam;
    }
    memcpy(&pBatteryParam->dwCell,pKernelBuffer+iPos,sizeof(STRUCT_BATTERY_PARAM)-12);
Exit_ReadBatteryParam:
    if (pKernelBuffer)
    {
        delete pKernelBuffer;
		pKernelBuffer = NULL;
    }
	return nRetCode;
}
Exemplo n.º 2
0
int main()

{

	int  i;	//EPICS TAG SEARCH
	//SearchTag();

	int clen;
//	struct sockaddr_in client_addr, server_addr;

//	char buf[MAXBUF] = "Im server connecting success.";
	
	int    iSize = 0;

	//EPICS TAG SEARCH
	SearchTag();

	//make server socket
	if((ssock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0)
	{      
		perror("Failed to make socket discriptor");
		exit(1);
	}

	clen = sizeof(client_addr);

	//setting address structure
	memset(&server_addr, 0, sizeof(server_addr));
	server_addr.sin_family = AF_INET;
	server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
	server_addr.sin_port = htons(3333);
printf("Etos2    Bind Start....\n");
	//binding
	if(bind(ssock, (struct sockaddr *)&server_addr, sizeof(server_addr)) < 0)
	{
		perror("Failed to binding server socket");
		exit(1);
	}
printf("Etos2    Bind ok....");
	//wait for client
	if(listen(ssock, 8) <0 )
	{
		perror("listen error : ");
		exit(1);
        }
	char readbuf[MAXBUF];
	memset(&readbuf, 0, MAXBUF);

	i=0;
	while(1)
	{
		iSize = 0;
		csock = accept(ssock, (struct sockaddr *)&client_addr, &clen);
		i++;
		//if(write(csock, buf, MAXBUF) <= 0)
		//	perror("Writing error : ");
printf("Start Test!!!!\n");	
		VacDataRecv();
		close(csock);

		//printf("val : %f\n", fltDATA);
		iRead = readtag(T_CIP_REAL, VacTagDatachid2[0]);
		if(iRead == 0)
		{
			printf("ETOS2 EPICS TAG RE SEARCH!!!!\n");
			SearchTag();
		}
		else
		{
			printf("ETOS2 EPICS TAG Read Succes!!!!\n");
		}
        }
	return 0;

}