📄 packer.c
字号:
int pack_gqus(TRANSACTION *p,BYTE * pkg){ int i=0,j=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.gqus.Gid),L_INT32); i+=L_INT32;/* 组编码 */ memcpy((void *)(pkg+i),&(p->data.gqus.GpMask),L_INT32); i+=L_INT32;/* 组掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.Ip),L_INT32); i+=L_INT32;/* Ip */ memcpy((void *)(pkg+i),&(p->data.gqus.IpMask),L_INT32); i+=L_INT32;/* IpMask */ memcpy((void *)(pkg+i),&(p->data.gqus.PeriodTm),L_INT32); i+=L_INT32;/* 时段 */ memcpy((void *)(pkg+i),&(p->data.gqus.Wday),L_BYTE); i+=L_BYTE;/* 一周各天 */ memcpy((void *)(pkg+i),&(p->data.gqus.SmgMask),L_INT32); i+=L_INT32;/* 系统管理功能掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.UmgMask),L_INT32); i+=L_INT32;/* 用户管理功能掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.UquMask),L_INT32); i+=L_INT32;/* 查询功能掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.OquMask),L_INT32); i+=L_INT32;/* 查询功能掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.MgaGid),L_INT32); i+=L_INT32;/* 可管理的GID */ memcpy((void *)(pkg+i),&(p->data.gqus.GidMask),L_INT32); i+=L_INT32;/* 组掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.MumgMask),L_INT32); i+=L_INT32;/* 用户管理功能掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.MquMask),L_INT32); i+=L_INT32;/* 查询功能掩码 */ memcpy((void *)(pkg+i),&(p->data.gqus.MtradMask),L_INT32); i+=L_INT32;/* 交易功能掩码 */ memcpy ((void *)(pkg+i),p->data.gqus.Reserve,L_BYTE*L_RESERVE); i+=L_BYTE*L_RESERVE;/* 保留 */ memcpy ((void *)(pkg+i),p->data.gqus.Note,L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ return i;}int unpack_gqus(BYTE *pkg,TRANSACTION *p){ int i=0,j=0; i+=L_HEAD; memcpy((void *)&(p->data.gqus.Gid),(pkg+i),L_INT32); i+=L_INT32;/* 组编码 */ memcpy((void *)&(p->data.gqus.GpMask),(pkg+i),L_INT32); i+=L_INT32;/* 组掩码 */ memcpy((void *)&(p->data.gqus.Ip),(pkg+i),L_INT32); i+=L_INT32;/* Ip */ memcpy((void *)&(p->data.gqus.IpMask),(pkg+i),L_INT32); i+=L_INT32;/* IpMask */ memcpy((void *)&(p->data.gqus.PeriodTm),(pkg+i),L_INT32); i+=L_INT32;/* 时段 */ memcpy((void *)&(p->data.gqus.Wday),(pkg+i),L_BYTE); i+=L_BYTE;/* 一周各天 */ memcpy((void *)&(p->data.gqus.SmgMask),(pkg+i),L_INT32); i+=L_INT32;/* 系统管理功能掩码 */ memcpy((void *)&(p->data.gqus.UmgMask),(pkg+i),L_INT32); i+=L_INT32;/* 用户管理功能掩码 */ memcpy((void *)&(p->data.gqus.UquMask),(pkg+i),L_INT32); i+=L_INT32;/* 查询功能掩码 */ memcpy((void *)&(p->data.gqus.OquMask),(pkg+i),L_INT32); i+=L_INT32;/* 查询功能掩码 */ memcpy((void *)&(p->data.gqus.MgaGid),(pkg+i),L_INT32); i+=L_INT32;/* 可管理的GID */ memcpy((void *)&(p->data.gqus.GidMask),(pkg+i),L_INT32); i+=L_INT32;/* 组掩码 */ memcpy((void *)&(p->data.gqus.MumgMask),(pkg+i),L_INT32); i+=L_INT32;/* 用户管理功能掩码 */ memcpy((void *)&(p->data.gqus.MquMask),(pkg+i),L_INT32); i+=L_INT32;/* 查询功能掩码 */ memcpy((void *)&(p->data.gqus.MtradMask),(pkg+i),L_INT32); i+=L_INT32;/* 查询功能掩码 */ memcpy ((void *)p->data.gqus.Reserve,(pkg+i),L_BYTE*L_RESERVE); i+=L_BYTE*L_RESERVE;/* 保留 */ memcpy ((void *)p->data.gqus.Note,(pkg+i),L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ return i;}int pack_csuqr (TRANSACTION *p,BYTE * pkg){ int i=0,j=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.csuqr.Page),L_INT16); i+=L_INT16;/* 页码 */ memcpy((void *)(pkg+i),&(p->data.csuqr.Lastpg),L_INT16); i+=L_INT16;/* 最后页面标志 */ for(j=0;j<LINE_PER_PAGE;j++) { memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].CsuType),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].Ecredit),L_BYTE); i+=L_BYTE;/* 信用额标志 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].Status),L_BYTE); i+=L_BYTE;/* 状态 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].PerCash),L_INT32); i+=L_INT32;/* 每单位消费扣减现金额 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].PerPoint),L_INT32); i+=L_INT32;/* 每单位消费扣减积分额 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].VIP),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].SP),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].HC),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].Normal),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csuqr.line[j].Umask),L_INT32); i+=L_INT32; /* in 可使用的用户类型掩码 */ memcpy ((void *)(pkg+i),p->data.csuqr.line[j].Note,L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ } return i;}int unpack_csuqr(BYTE *pkg,TRANSACTION *p){ int i=0,j=0; i+=L_HEAD; memcpy((void *)&(p->data.csuqr.Page),(pkg+i),L_INT16); i+=L_INT16;/* 页码 */ memcpy((void *)&(p->data.csuqr.Lastpg),(pkg+i),L_INT16); i+=L_INT16;/* 最后页面标志 */ for(j=0;j<LINE_PER_PAGE;j++) { memcpy((void *)&(p->data.csuqr.line[j].CsuType),(pkg+i),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)&(p->data.csuqr.line[j].Ecredit),(pkg+i),L_BYTE); i+=L_BYTE;/* 信用额标志 */ memcpy((void *)&(p->data.csuqr.line[j].Status),(pkg+i),L_BYTE); i+=L_BYTE;/* 状态 */ memcpy((void *)&(p->data.csuqr.line[j].PerCash),(pkg+i),L_INT32); i+=L_INT32;/* 每单位消费扣减现金额 */ memcpy((void *)&(p->data.csuqr.line[j].PerPoint),(pkg+i),L_INT32); i+=L_INT32;/* 每单位消费扣减积分额 */ memcpy((void *)&(p->data.csuqr.line[j].VIP),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csuqr.line[j].SP),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csuqr.line[j].HC),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csuqr.line[j].Normal),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csuqr.line[j].Umask),(pkg+i),L_INT32); i+=L_INT32; /* in 可使用的用户类型掩码 */ memcpy ((void *)p->data.csuqr.line[j].Note,(pkg+i),L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ } return i;}int pack_csus (TRANSACTION *p,BYTE * pkg){ int i=0,j=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.csus.CsuType),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)(pkg+i),&(p->data.csus.Ecredit),L_BYTE); i+=L_BYTE;/* 信用额标志 */ memcpy((void *)(pkg+i),&(p->data.csus.Status),L_BYTE); i+=L_BYTE;/* 状态 */ memcpy((void *)(pkg+i),&(p->data.csus.PerCash),L_INT32); i+=L_INT32;/* 每单位消费扣减现金额 */ memcpy((void *)(pkg+i),&(p->data.csus.PerPoint),L_INT32); i+=L_INT32;/* 每单位消费扣减积分额 */ memcpy((void *)(pkg+i),&(p->data.csus.VIP),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csus.SP),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csus.HC),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csus.Normal),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)(pkg+i),&(p->data.csus.Umask),L_INT32); i+=L_INT32; /* in 可使用的用户类型掩码 */ memcpy ((void *)(pkg+i),p->data.csus.Note,L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ return i;}int unpack_csus(BYTE *pkg,TRANSACTION *p){ int i=0,j=0; i+=L_HEAD; memcpy((void *)&(p->data.csus.CsuType),(pkg+i),L_INT16); i+=L_INT16;/* 消费类型编码 */ memcpy((void *)&(p->data.csus.Ecredit),(pkg+i),L_BYTE); i+=L_BYTE;/* 信用额标志 */ memcpy((void *)&(p->data.csus.Status),(pkg+i),L_BYTE); i+=L_BYTE;/* 状态 */ memcpy((void *)&(p->data.csus.PerCash),(pkg+i),L_INT32); i+=L_INT32;/* 每单位消费扣减现金额 */ memcpy((void *)&(p->data.csus.PerPoint),(pkg+i),L_INT32); i+=L_INT32;/* 每单位消费扣减积分额 */ memcpy((void *)&(p->data.csus.VIP),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csus.SP),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csus.HC),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csus.Normal),(pkg+i),L_INT32); i+=L_INT32; /* in 用户优惠率 */ memcpy((void *)&(p->data.csus.Umask),(pkg+i),L_INT32); i+=L_INT32; /* in 可使用的用户类型掩码 */ memcpy ((void *)p->data.csus.Note,(pkg+i),L_BYTE*L_NOTE); i+=L_BYTE*L_NOTE;/* 说明 */ return i;}/* 列用户名 */int pack_luser(TRANSACTION *p,BYTE * pkg){ int i=0,j=0; i+=L_HEAD; memcpy((void *)(pkg+i),&(p->data.luser.Page),L_INT16); i+=L_INT16;/* 查询页码 */ memcpy((void *)(pkg+i),&(p->data.luser.Lastpg),L_INT16); i+=L_INT16;/* 最后页面标志 */ for(j=0;j<LINE_PER_PAGE;j++) { memcpy((void *)(pkg+i),&(p->data.luser.line[j].Uid),L_INT32); i+=L_INT32;/* 用户标识码 */ memcpy((void*)(pkg+i),p->data.luser.line[j].User,L_ACCID*L_BYTE); i+=L_ACCID*L_BYTE;/* 用户名 */ memcpy((void *)(pkg+i),&(p->data.luser.line[j].Gid),L_INT32); i+=L_INT32;/* 用户组标识码 */ } return i; }int unpack_luser(BYTE *pkg,TRANSACTION *p){ int i=0,j=0; i+=L_HEAD; memcpy((void *)&(p->data.luser.Page),(pkg+i),L_INT16); i+=L_INT16;/* 页码 */ memcpy((void *)&(p->data.luser.Lastpg),(pkg+i),L_INT16); i+=L_INT16;/* 最后页面标志 */ for(j=0;j<LINE_PER_PAGE;j++) { memcpy((void *)&(p->data.luser.line[j].Uid),(pkg+i),L_INT32); i+=L_INT32;/* 用户标识码 */ memcpy((void *)p->data.luser.line[j].User,pkg+i,L_BYTE*L_ACCID); i+=L_BYTE*L_ACCID;/* 用户名 */ memcpy((void *)&(p->data.luser.line[j].Gid),(pkg+i),L_INT32); i+=L_INT32;/* 用户标识码 */ } return i;} int pack_scre(TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),p->data.scre.Passwd,L_BYTE*L_PASSWD); i+=L_BYTE*L_PASSWD;/* 密码 */ memcpy((void *)(pkg+i),&(p->data.scre.Uid),L_INT32); i+=L_INT32;/* 用户标识码 */ memcpy((void *)(pkg+i),&(p->data.scre.Gid),L_INT32); i+=L_INT32;/* 用户组标识码 */ memcpy((void *)(pkg+i),&(p->data.scre.Ulevel),L_BYTE); i+=L_BYTE; memcpy((void *)(pkg+i),&(p->data.scre.PeriodTm),L_INT32); i+=L_INT32;/* 时段 */ memcpy((void *)(pkg+i),&(p->data.scre.Wday),L_BYTE); i+=L_BYTE;/* 一周各天 */ memcpy((void *)(pkg+i),&(p->data.scre.Status),L_BYTE); i+=L_BYTE;/* 帐号状态 */ memcpy((void *)(pkg+i),&(p->data.scre.Type),L_BYTE); i+=L_BYTE;/* 帐号类型 */ memcpy((void *)(pkg+i),&(p->data.scre.CostType),L_BYTE); i+=L_BYTE;/* 交费方式 */ memcpy((void *)(pkg+i),&(p->data.scre.AccvalidTm),L_INT32); i+=L_INT32;/* 有效时间 */ memcpy((void *)(pkg+i),&(p->data.scre.AccexpTm),L_INT32); i+=L_INT32;/* 失效时间 */ memcpy((void *)(pkg+i),&(p->data.scre.CashAmt),L_INT32); i+=L_INT32;/* 现金余额 */ memcpy((void *)(pkg+i),&(p->data.scre.PointAmt),L_INT32); i+=L_INT32;/* 积分余额 */ memcpy((void *)(pkg+i),&(p->data.scre.Credit),L_INT32); i+=L_INT32;/* 信用额 */ memcpy((void *)(pkg+i),&(p->data.scre.PerLimit),L_INT32); i+=L_INT32;/* 每次最大消费额 */ memcpy((void *)(pkg+i),&(p->data.scre.DayLimit),L_INT32); i+=L_INT32;/* 每天最大消费额 */ return i; }int unpack_scre(BYTE *pkg,TRANSACTION *p){ int i=0; i+=L_HEAD; memcpy((void *)p->data.scre.Passwd,(pkg+i),L_BYTE*L_PASSWD); i+=L_BYTE*L_PASSWD;/* 密码 */ memcpy((void *)&(p->data.scre.Uid),(pkg+i),L_INT32); i+=L_INT32;/* 用户标识码 */ memcpy((void *)&(p->data.scre.Gid),(pkg+i),L_INT32); i+=L_INT32;/* 用户组标识码 */ memcpy((void *)&(p->data.scre.Ulevel),(pkg+i),L_BYTE); i+=L_BYTE; memcpy((void *)&(p->data.scre.PeriodTm),(pkg+i),L_INT32); i+=L_INT32;/* 时段 */ memcpy((void *)&(p->data.scre.Wday),(pkg+i),L_BYTE); i+=L_BYTE;/* 一周各天 */ memcpy((void *)&(p->data.scre.Status),(pkg+i),L_BYTE); i+=L_BYTE;/* 帐号状态 */ memcpy((void *)&(p->data.scre.Type),(pkg+i),L_BYTE); i+=L_BYTE;/* 帐号类型 */ memcpy((void *)&(p->data.scre.CostType),(pkg+i),L_BYTE); i+=L_BYTE;/* 交费方式 */ memcpy((void *)&(p->data.scre.AccvalidTm),(pkg+i),L_INT32); i+=L_INT32;/* 有效时间 */ memcpy((void *)&(p->data.scre.AccexpTm),(pkg+i),L_INT32); i+=L_INT32;/* 失效时间 */ memcpy((void *)&(p->data.scre.CashAmt),(pkg+i),L_INT32); i+=L_INT32;/* 现金余额 */ memcpy((void *)&(p->data.scre.PointAmt),(pkg+i),L_INT32); i+=L_INT32;/* 积分余额 */ memcpy((void *)&(p->data.scre.Credit),(pkg+i),L_INT32); i+=L_INT32;/* 信用额 */ memcpy((void *)&(p->data.scre.PerLimit),(pkg+i),L_INT32); i+=L_INT32;/* 每次最大消费额 */ memcpy((void *)&(p->data.scre.DayLimit),(pkg+i),L_INT32); i+=L_INT32;/* 每天最大消费额 */ return i;}int pack_ccre(TRANSACTION *p,BYTE * pkg){ int i=0; i+=L_HEAD; memcpy((void *)(pkg+i),p->data.scre.Passwd,L_BYTE*L_PASSWD); i+=L_BYTE*L_PASSWD;/* 密码 */ memcpy((void *)(pkg+i),&(p->data.scre.Uid),L_INT32); i+=L_INT32;/* 用户标识码 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -