📄 packer.c
字号:
memcpy((void *)&(p->data.sdocqr.CostType),(pkg+i),L_BYTE); i+=L_BYTE;/* 交费方式 */ memcpy((void *)&(p->data.sdocqr.Ulevel),(pkg+i),L_BYTE); i+=L_BYTE; /* 用户级别: 1-VIP, 2-SP, 3-HC, 4-normal */ memcpy((void *)&(p->data.sdocqr.AccvalidTm),(pkg+i),L_INT32); i+=L_INT32;/* 有效时间 */ memcpy((void *)&(p->data.sdocqr.AccexpTm),(pkg+i),L_INT32); i+=L_INT32;/* 失效时间 */ memcpy((void *)&(p->data.sdocqr.CashAmt),(pkg+i),L_INT32); i+=L_INT32;/* 现金余额 */ memcpy((void *)&(p->data.sdocqr.PointAmt),(pkg+i),L_INT32); i+=L_INT32;/* 积分余额 */ memcpy((void *)&(p->data.sdocqr.Credit),(pkg+i),L_INT32); i+=L_INT32;/* 信用额 */ memcpy((void *)&(p->data.sdocqr.PerLimit),(pkg+i),L_INT32); i+=L_INT32;/* 每次最大消费额 */ memcpy((void *)&(p->data.sdocqr.DayLimit),(pkg+i),L_INT32); i+=L_INT32;/* 每天最大消费额 */ memcpy((void *)&(p->data.sdocqr.Amount),(pkg+i),L_INT32); i+=L_INT32;/* 当天累计消费额 */ memcpy((void *)&(p->data.sdocqr.Lockfg),(pkg+i),L_BYTE); i+=L_BYTE;/* 锁定标志 */ return i;}int pack_cdocqr(TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),p->data.cdocqr.Name,L_BYTE*L_NAME); i+=L_BYTE*L_NAME;/* 用户全名 */ memcpy((void *)(pkg+i),p->data.cdocqr.DocId,L_BYTE*L_DOCID); i+=L_BYTE*L_DOCID;/* 证件号码 */ memcpy((void *)(pkg+i),p->data.cdocqr.BirthDay,L_BYTE*L_BIRTH); i+=L_BYTE*L_BIRTH;/* 生日YYYYMMDD */ memcpy((void *)(pkg+i),p->data.cdocqr.Sex,L_BYTE*L_SEX); i+=L_BYTE*L_SEX;/* 性别 */ memcpy((void *)(pkg+i),p->data.cdocqr.Email,L_BYTE*L_EMAIL); i+=L_BYTE*L_EMAIL;/* 电子邮件地址 */ memcpy((void *)(pkg+i),p->data.cdocqr.Addr,L_BYTE*L_ADDR); i+=L_BYTE*L_ADDR;/* 通信地址 */ memcpy((void *)(pkg+i),p->data.cdocqr.Phone,L_BYTE*L_PHONE); i+=L_BYTE*L_PHONE;/* 电话 */ memcpy((void *)(pkg+i),p->data.cdocqr.OriBank,L_BYTE*L_BANK); i+=L_BYTE*L_BANK;/* 开户银行 */ memcpy((void *)(pkg+i),p->data.cdocqr.Account,L_BYTE*L_ACCOUNT); i+=L_BYTE*L_ACCOUNT;/* 银行帐号 */ memcpy((void *)(pkg+i),p->data.cdocqr.Question,L_BYTE*L_QUESTION); i+=L_BYTE*L_QUESTION;/* 取回密码要提问的问题 */ memcpy((void *)(pkg+i),p->data.cdocqr.Answer,L_BYTE*L_QUESTION); i+=L_BYTE*L_QUESTION;/* 问题预设答案 */ memcpy((void *)(pkg+i),p->data.cdocqr.Craft,L_BYTE*L_CRAFT); i+=L_BYTE*L_CRAFT;/* 行业 */ memcpy((void *)(pkg+i),p->data.cdocqr.IntQuestion,L_BYTE*L_QUESTION); i+=L_BYTE*L_QUESTION;/* 感兴趣的话题 */ memcpy((void *)(pkg+i),p->data.cdocqr.Note,L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ memcpy((void *)(pkg+i),&(p->data.cdocqr.Lockfg),L_BYTE); i+=L_BYTE;/* 锁定标志 */ return i;}int unpack_cdocqr(BYTE *pkg,TRANSACTION *p){ int i=0; i+=L_HEAD; memcpy((void *)p->data.cdocqr.Name,(pkg+i),L_BYTE*L_NAME); i+=L_BYTE*L_NAME;/* 用户全名 */ memcpy((void *)p->data.cdocqr.DocId,(pkg+i),L_BYTE*L_DOCID); i+=L_BYTE*L_DOCID;/* 证件号码 */ memcpy((void *)p->data.cdocqr.BirthDay,(pkg+i),L_BYTE*L_BIRTH); i+=L_BYTE*L_BIRTH;/* 生日YYYYMMDD */ memcpy((void *)p->data.cdocqr.Sex,(pkg+i),L_BYTE*L_SEX); i+=L_BYTE*L_SEX;/* 性别 */ memcpy((void *)p->data.cdocqr.Email,(pkg+i),L_BYTE*L_EMAIL); i+=L_BYTE*L_EMAIL;/* 电子邮件地址 */ memcpy((void *)p->data.cdocqr.Addr,(pkg+i),L_BYTE*L_ADDR); i+=L_BYTE*L_ADDR;/* 通信地址 */ memcpy((void *)p->data.cdocqr.Phone,(pkg+i),L_BYTE*L_PHONE); i+=L_BYTE*L_PHONE;/* 电话 */ memcpy((void *)p->data.cdocqr.OriBank,(pkg+i),L_BYTE*L_BANK); i+=L_BYTE*L_BANK;/* 开户银行 */ memcpy((void *)p->data.cdocqr.Account,(pkg+i),L_BYTE*L_ACCOUNT); i+=L_BYTE*L_ACCOUNT;/* 银行帐号 */ memcpy((void *)p->data.cdocqr.Question,(pkg+i),L_BYTE*L_QUESTION); i+=L_BYTE*L_QUESTION;/* 取回密码要提问的问题 */ memcpy((void *)p->data.cdocqr.Answer,(pkg+i),L_BYTE*L_QUESTION); i+=L_BYTE*L_QUESTION;/* 问题预设答案 */ memcpy((void *)p->data.cdocqr.Craft,(pkg+i),L_BYTE*L_CRAFT); i+=L_BYTE*L_CRAFT;/* 行业 */ memcpy((void *)p->data.cdocqr.IntQuestion,(pkg+i),L_BYTE*L_QUESTION); i+=L_BYTE*L_QUESTION;/* 感兴趣的话题 */ memcpy((void *)p->data.cdocqr.Note,(pkg+i),L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ memcpy((void *)&(p->data.cdocqr.Lockfg),(pkg+i),L_BYTE); i+=L_BYTE;/* 锁定标志 */ return i;}int pack_amtqr (TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.amtqr.CashAmt),L_INT32); i+=L_INT32;/* 现金余额 */ memcpy((void *)(pkg+i),&(p->data.amtqr.PointAmt),L_INT32); i+=L_INT32;/* 积分余额 */ memcpy((void *)(pkg+i),&(p->data.amtqr.Credit),L_INT32); i+=L_INT32;/* 信用额 */ memcpy((void *)(pkg+i),&(p->data.amtqr.Auth),L_INT32); i+=L_INT32;/* 已签发授权额 */ memcpy((void *)(pkg+i),&(p->data.amtqr.PerLimit),L_INT32); i+=L_INT32;/* 每次最大消费额 */ memcpy((void *)(pkg+i),&(p->data.amtqr.DayLimit),L_INT32); i+=L_INT32;/* 每天最大消费额 */ memcpy((void *)(pkg+i),&(p->data.amtqr.Day_amt),L_INT32); i+=L_INT32;/* 当天累计消费额 */ return i;}int unpack_amtqr(BYTE *pkg,TRANSACTION *p){ int i=0; i+=L_HEAD; memcpy((void *)(&(p->data.amtqr.CashAmt)),(pkg+i),L_INT32); i+=L_INT32;/* 现金余额 */ memcpy((void *)(&(p->data.amtqr.PointAmt)),(pkg+i),L_INT32); i+=L_INT32;/* 积分余额 */ memcpy((void *)(&(p->data.amtqr.Credit)),(pkg+i),L_INT32); i+=L_INT32;/* 信用额 */ memcpy((void *)(&(p->data.amtqr.Auth)),(pkg+i),L_INT32); i+=L_INT32;/* 已签发授权额 */ memcpy((void *)(&(p->data.amtqr.PerLimit)),(pkg+i),L_INT32); i+=L_INT32;/* 每次最大消费额 */ memcpy((void *)(&(p->data.amtqr.DayLimit)),(pkg+i),L_INT32); i+=L_INT32;/* 每天最大消费额 */ memcpy((void *)(&(p->data.amtqr.Day_amt)),(pkg+i),L_INT32); i+=L_INT32;/* 当天累计消费额 */ return i;}int pack_trqr (TRANSACTION *p,BYTE * pkg){ int i=0,j=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.trqr.Bdate),L_INT32); i+=L_INT32;/* 起始日期 */ memcpy((void *)(pkg+i),&(p->data.trqr.Edate),L_INT32); i+=L_INT32;/* 结束日期 */ memcpy((void *)(pkg+i),&(p->data.trqr.Page),L_INT16); i+=L_INT16;/* 查询页码 */ memcpy((void *)(pkg+i),&(p->data.trqr.Lastpg),L_INT16); i+=L_INT16;/* 最后页面标志 */ for(j=0;j<LINE_PER_PAGE;j++) { memcpy((void *)(pkg+i),&(p->data.trqr.line[j].Tsn),L_INT32); i+=L_INT32;/*交易流水号 */ memcpy((void *)(pkg+i),&(p->data.trqr.line[j].Tdate),L_INT32); i+=L_INT32;/* 交易日期 */ memcpy((void *)(pkg+i),&(p->data.trqr.line[j].CashAmt),L_INT32); i+=L_INT32;/* 现金交易量 */ memcpy((void *)(pkg+i),&(p->data.trqr.line[j].PointAmt),L_INT32); i+=L_INT32;/* 现金交易量 */ memcpy((void *)(pkg+i),&(p->data.trqr.line[j].Tcode),L_INT16); i+=L_INT16;/* 交易类型编码 */ memcpy((void *)(pkg+i),&(p->data.trqr.line[j].OperId),L_INT32); i+=L_INT32;/* 交易操作员名 */ memcpy((void *)(pkg+i),p->data.trqr.line[j].Note,L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ } return i; }int unpack_trqr(BYTE *pkg,TRANSACTION *p){ int i=0,j=0; i+=L_HEAD; memcpy((void *)&(p->data.trqr.Bdate),(pkg+i),L_INT32); i+=L_INT32;/* 起始日期 */ memcpy((void *)&(p->data.trqr.Edate),(pkg+i),L_INT32); i+=L_INT32;/* 结束日期 */ memcpy((void *)&(p->data.trqr.Page),(pkg+i),L_INT16); i+=L_INT16;/* 查询页码 */ memcpy((void *)&(p->data.trqr.Lastpg),(pkg+i),L_INT16); i+=L_INT16;/* 最后页面标志 */ for(j=0;j<LINE_PER_PAGE;j++) { memcpy((void *)&(p->data.trqr.line[j].Tsn),(pkg+i),L_INT32); i+=L_INT32;/*交易流水号 */ memcpy((void *)&(p->data.trqr.line[j].Tdate),(pkg+i),L_INT32); i+=L_INT32;/* 交易日期 */ memcpy((void *)&(p->data.trqr.line[j].CashAmt),(pkg+i),L_INT32); i+=L_INT32;/* 现金交易量 */ memcpy((void *)&(p->data.trqr.line[j].PointAmt),(pkg+i),L_INT32); i+=L_INT32;/* 现金交易量 */ memcpy((void *)&(p->data.trqr.line[j].Tcode),(pkg+i),L_INT16); i+=L_INT16;/* 交易类型编码 */ memcpy((void *)&(p->data.trqr.line[j].OperId),(pkg+i),L_INT32); i+=L_INT32;/* 交易操作员名 */ memcpy((void *)p->data.trqr.line[j].Note,(pkg+i),L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ } return i; }int pack_auqr (TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.auqr.CsuType),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)(pkg+i),&(p->data.auqr.Lockfg),L_BYTE); i+=L_BYTE;/* 锁定标志 */ memcpy((void *)(pkg+i),&(p->data.auqr.MaxCsu),L_INT32); i+=L_INT32;/* 请求核准的消费数量,返回用 户当前余额可进行消费的最大单位 */ memcpy((void *)(pkg+i),p->data.auqr.Reserve,L_RESERVE*L_BYTE); i+=L_RESERVE*L_BYTE;/* 保留 */ return i; }int unpack_auqr(BYTE *pkg,TRANSACTION *p){int i=0; i+=L_HEAD; memcpy((void *)&(p->data.auqr.CsuType),(pkg+i),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)&(p->data.auqr.Lockfg),(pkg+i),L_BYTE); i+=L_BYTE;/* 锁定标志 */ memcpy((void *)&(p->data.auqr.MaxCsu),(pkg+i),L_INT32); i+=L_INT32;/* 请求核准的消费数量,返回用 户当前余额可进行消费的最大单位 */ memcpy((void *)p->data.auqr.Reserve,(pkg+i),L_RESERVE*L_BYTE); i+=L_RESERVE*L_BYTE;/* 保留 */ return i; } int pack_trs (TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.trs.CashAmt),L_INT32); i+=L_INT32;/* 转出现金量 */ memcpy((void *)(pkg+i),&(p->data.trs.PointAmt),L_INT32); i+=L_INT32;/* 转出积分量 */ memcpy((void *)(pkg+i),p->data.trs.Iacc,L_ACCID*L_BYTE); i+=L_ACCID*L_BYTE;/* 转入帐号名 */ return i; }int unpack_trs(BYTE *pkg,TRANSACTION *p){ int i=0; i+=L_HEAD; memcpy((void *)&(p->data.trs.CashAmt),(pkg+i),L_INT32); i+=L_INT32;/* 转出现金量 */ memcpy((void *)&(p->data.trs.PointAmt),(pkg+i),L_INT32); i+=L_INT32;/* 转出积分量 */ memcpy((void *)p->data.trs.Iacc,(pkg+i),L_ACCID*L_BYTE); i+=L_ACCID*L_BYTE;/* 转入帐号名 */ return i; }int pack_sbt (TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.sbt.CashAmt),L_INT32); i+=L_INT32;/* 转出现金量 */ memcpy((void *)(pkg+i),&(p->data.sbt.PointAmt),L_INT32); i+=L_INT32;/* 转出积分量 */ return i; }int unpack_sbt(BYTE *pkg,TRANSACTION *p){ int i=0; i+=L_HEAD; memcpy((void *)&(p->data.sbt.CashAmt),(pkg+i),L_INT32); i+=L_INT32;/* 转出现金量 */ memcpy((void *)&(p->data.sbt.PointAmt),(pkg+i),L_INT32); i+=L_INT32;/* 转出积分量 */ return i;}int pack_fluct (TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.fluct.CashAmt),L_INT32); i+=L_INT32;/* 现金增减量 */ memcpy((void *)(pkg+i),&(p->data.fluct.PointAmt),L_INT32); i+=L_INT32;/* 积分增减量 */ return i; }int unpack_fluct(BYTE *pkg,TRANSACTION *p){ int i=0; i+=L_HEAD; memcpy((void *)&(p->data.fluct.CashAmt),(pkg+i),L_INT32); i+=L_INT32;/* 现金增减量 */ memcpy((void *)&(p->data.fluct.PointAmt),(pkg+i),L_INT32); i+=L_INT32;/* 积分增减量 */ return i; }int pack_csu (TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.csu.CsuType),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)(pkg+i),&(p->data.csu.CsuUnit),L_INT32); i+=L_INT32;/* 发生的消费单位 */ memcpy((void *)(pkg+i),&(p->data.csu.CashAmt),L_INT32); i+=L_INT32;/* 现金增减量 */ memcpy((void *)(pkg+i),&(p->data.csu.PointAmt),L_INT32); i+=L_INT32;/* 积分增减量 */ return i; }int unpack_csu(BYTE *pkg,TRANSACTION *p){ int i=0; i+=L_HEAD; memcpy((void *)&(p->data.csu.CsuType),(pkg+i),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)&(p->data.csu.CsuUnit),(pkg+i),L_INT32); i+=L_INT32;/* 发生的消费单位 */ memcpy((void *)&(p->data.csu.CashAmt),(pkg+i),L_INT32); i+=L_INT32;/* 现金余额 */ memcpy((void *)&(p->data.csu.PointAmt),(pkg+i),L_INT32); i+=L_INT32;/* 积分余额 */ return i; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -