Beispiel #1
0
int FTestIReply(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *iRetCode,char *szMsg)
{
   unsigned char *pb;
   pb = g_SvrLink.head.ParmBits;
   g_SvrLink.SetCol(handle,pb);
   PutRow(handle,rPack,iRetCode,szMsg);
   AnswerData(handle,*iRetCode,szMsg);
   return(0);
}
Beispiel #2
0
int SetHeadCol(ST_CPACK *in_cpack, ...)
{
	va_list ap;
	int arg;
	va_start(ap, in_cpack);
	while ((arg = va_arg(ap, int)) >= 0)
	{
		SetParmBit(&(in_cpack->head), arg);
	}
	va_end(ap);
    return(g_SvrLink.SetCol(0, in_cpack->head.ParmBits));
}
Beispiel #3
0
/* ****** Updated by CHENYH at 2004-3-10 22:17:31 ****** 
// 函数名: SetCol
// 编程  : 陈永华 2004-2-8 23:26:38
// 描述  : 设置CPACK报文位图;当已经用PutRow输出了数据记录,则将上次数据打包发送给原请求端
// 返回  : int 0:成功;与BCC通讯出现问题,建议业务取消处理
// 参数  : void *handle - 暂时就对应的 TRUSERID *, 在本系统没有意义,因为单线程的缘故
// 参数  : ...  用 F_XXXXX 定义的相关字段列表,用 0表示结束;当handle后即为0,则清空位图重新设置位图
*/
int SetCol(TRUSERID *handle,...)
{
	va_list ap;
	int arg;
   ST_PACKHEAD head;
   memset(&head,0,sizeof(head));
	va_start(ap, handle);
	while ((arg = va_arg(ap, int)) != 0)
	{
		SetParmBit( &head, arg);
	}
	va_end(ap);
   return(g_SvrLink.SetCol(handle,head.ParmBits));
}
int CopyHeadCol(ST_PACK* rPack,ST_CPACK* sPack)
{
	int iLastFidx;
	ST_CPACK* cpack=(ST_CPACK*)((char*)rPack-sizeof(ST_PACKHEAD));
	
	pXPack->GetPackDef(iLastFidx);
	for(int i=0;i<iLastFidx;i++)
	{
		if(pXPack->IsValidField(&(cpack->head),i))
		{
			SetParmBit(&(sPack->head),i);
		}
	}
	return(g_SvrLink.SetCol(0, sPack->head.ParmBits));
}
Beispiel #5
0
/* ****** Updated by CHENYH at 2004-3-10 22:17:31 ****** 
// 函数名: SetCol
// 编程  : 陈永华 2004-2-8 23:26:38
// 描述  : 设置CPACK报文位图;当已经用PutRow输出了数据记录,则将上次数据打包发送给原请求端
// 返回  : int 0:成功;与BCC通讯出现问题,建议业务取消处理
// 参数  : void *handle - 暂时就对应的 TRUSERID *, 在本系统没有意义,因为单线程的缘故
// 参数  : ...  用 F_XXXXX 定义的相关字段列表,用END_FIELD表示结束;当handle后即为END_FIELD,则清空位图重新设置位图
*/
int SetCol(TRUSERID *handle,...)
{
	va_list ap;
	int arg;
   ST_PACKHEAD head;
   memset(&head,0,sizeof(head));
	va_start(ap, handle);

/* ****** Updated by CHENYH at 2005-1-25 14:27:25 ****** 
	while ((arg = va_arg(ap, int)) != 0)
*/
   while ((arg=va_arg(ap,int))>=0)
//////////////////////////////////////////////////////////////////////////
	{
		SetParmBit( &head, arg);
	}
	va_end(ap);
   return(g_SvrLink.SetCol(handle,head.ParmBits));
}