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); }
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)); }
/* ****** 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)); }
/* ****** 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)); }