www.pudn.com > unixtonxunchengxu.rar > CommMsgEnv.c



#include 
#include 
#include 

#include "UnionEnv.h"
#include "CommMain.h"

// Golobal variables
int	g_iUserIDOfReqBufForHost = -1;
int	g_iUserIDOfResBufForHost = -1;
long	g_lMsgTypeForHostComm = -1;
int	g_iDebug = 1;
long	g_lSizeOfLogFile = 10000000;
char	g_caLogFileName[256];

int UnionInitHostMsgCommCFG()
{
	char	FileName[256];
	char	*Variable;
	
	memset(FileName,0,sizeof(FileName));
	sprintf(FileName,"%s/COMM.CFG",getenv("UNIONETC"));

	if (UnionInitEnvi(FileName) < 0)
	{
		UnionUserErrLog("in UnionInitHostMsgCommCFG:: UnionInitEnv for file [%s]!\n",FileName);
		return(gErrHostCommLibInitEnvi);
	}


	if ((Variable = UnionGetEnviVarByName("UserIDOfReqBufForHost")) == NULL)
	{
		UnionUserErrLog("in UnionInitHostMsgCommCFG:: UnionGetEnviVarByName UserIDOfReqBufForHost!\n");
		UnionClearEnvi();
		return(gErrHostCommNoField);
	}
	else
		g_iUserIDOfReqBufForHost = atoi(Variable);

	if ((Variable = UnionGetEnviVarByName("UserIDOfResBufForHost")) == NULL)
	{
		UnionUserErrLog("in UnionInitHostMsgCommCFG:: UnionGetEnviVarByName UserIDOfResBufForHost!\n");
		UnionClearEnvi();
		return(gErrHostCommNoField);
	}
	else
		g_iUserIDOfResBufForHost = atoi(Variable);

	if ((Variable = UnionGetEnviVarByName("MsgTypeForHostComm")) == NULL)
	{
		UnionUserErrLog("in UnionInitHostMsgCommCFG:: UnionGetEnviVarByName MsgTypeForHostComm!\n");
		UnionClearEnvi();
		return(gErrHostCommNoField);
	}
	else
		g_lMsgTypeForHostComm = atol(Variable);

	if ((Variable = UnionGetEnviVarByName("Debug")) == NULL)
	{
		UnionUserErrLog("in UnionInitHostMsgCommCFG:: UnionGetEnviVarByName Debug!\n");
		UnionClearEnvi();
		return(gErrHostCommNoField);
	}
	else
		g_iDebug = atoi(Variable);

	if ((Variable = UnionGetEnviVarByName("SizeOfLogFile")) == NULL)
	{
		UnionUserErrLog("in UnionInitHostMsgCommCFG:: UnionGetEnviVarByName SizeOfLogFile!\n");
		UnionClearEnvi();
		return(gErrHostCommNoField);
	}
	else
		g_lSizeOfLogFile = atol(Variable);

	memset(g_caLogFileName,0,sizeof(g_caLogFileName));
	if ((Variable = UnionGetEnviVarByName("LogFileName")) == NULL)
	{
		UnionUserErrLog("in UnionInitHostMsgCommCFG:: UnionGetEnviVarByName LogFileName!\n");
		UnionClearEnvi();
		return(gErrHostCommNoField);
	}
	else
	{
		if (strlen(Variable) > sizeof(g_caLogFileName)-1)
		{
			UnionUserErrLog("in UnionInitAtmpQZJCommCFG:: LogFileName [%s] is too long!\n",Variable);
			UnionClearEnvi();
			return(gErrHostCommFieldTooLong);
		}
		else
			strcpy(g_caLogFileName,Variable);
	}

	UnionClearEnvi();
	
	return(0);
}

int UnionGetUserIDOfReqBufForHost()
{
	return(g_iUserIDOfReqBufForHost);
}

int UnionGetUserIDOfResBufForHost()
{
	return(g_iUserIDOfResBufForHost);
}

long UnionGetMsgTypeForHostComm()
{
	return(g_lMsgTypeForHostComm);
}

int UnionIsDebug()
{
	return(g_iDebug);
}

long UnionGetSizeOfLogFile()
{
	return(g_lSizeOfLogFile);
}

int UnionGetNameOfLogFile(char *pLogFileName)
{
        if (pLogFileName == NULL)
        {
                UnionUserErrLog("UnionGetNameOfLogFile:: pLogFileName is NULL!\n");
                return(gErrHostCommNullPointer);
        }

        sprintf(pLogFileName,"%s/%s.log",getenv("UNIONLOG"),g_caLogFileName);

        return(0);
}