📄 k8583struct.h
字号:
#if !defined( _INITMSG_H)
#define _INITMSG_H
#define RECV_MAX_LEN 4096
#define SEND_MAX_LEN 4096
// 定义包文格式 82
#define MAX_JYDM_LEN 8
#define MAX_BLX_LEN 1
#define MAX_FLAG_LEN 1
#define MAX_YHDM_LEN 4
#define MAX_JGH_LEN 10
#define MAX_ZDH_LEN 10
#define MAX_FHDM_LEN 4
#define MAX_DATALEN_LEN 4
#define MAX_BZXX_LEN 20
#define MAX_MAC_LEN 20
#define MAX_PACK_LEN 1024
#define MAX_HEAD_LEN MAX_JYDM_LEN + MAX_BLX_LEN + MAX_FLAG_LEN + MAX_YHDM_LEN + MAX_JGH_LEN + MAX_ZDH_LEN + MAX_FHDM_LEN + MAX_DATALEN_LEN + MAX_BZXX_LEN + MAX_MAC_LEN
#define MAX_DATA_LEN MAX_PACK_LEN - MAX_HEAD_LEN
#define FHDM_OFFSET MAX_JYDM_LEN + MAX_BLX_LEN + MAX_YHDM_LEN + MAX_JGH_LEN + MAX_ZDH_LEN
#define DATALEN_OFFSET MAX_JYDM_LEN + MAX_BLX_LEN + MAX_YHDM_LEN + MAX_JGH_LEN + MAX_ZDH_LEN + MAX_FHDM_LEN
typedef struct
{
char ip[16]; //主机IP地址
char port[10]; //端口
char colip[16]; //列IP
char colport[10]; //列端口
char branch[10]; //分行代码
char fbankcode[10]; //分支代码
char teller[10]; //柜员号
char terno[6]; //终端号
char tertype[5]; //终端类型
char timeout[3]; //溢出时间
char workingkey[30]; //工作密钥
char masterkey[30]; //主密钥
} COMMPARA; //通讯参数
typedef struct
{
char m_Jydm[MAX_JYDM_LEN]; // 交易代码
char m_Blx[MAX_BLX_LEN]; // 包类型 0--单,1--多
char m_Flag[MAX_FLAG_LEN]; // 后续标志 0--无,1--有
char m_Yhdm[MAX_YHDM_LEN]; // 银行代码
char m_Jgh[MAX_JGH_LEN]; // 机构号
char m_Zdh[MAX_ZDH_LEN]; // 终端号
char m_Fhdm[MAX_FHDM_LEN]; // 返回代码
char m_DataLen[MAX_DATALEN_LEN]; // 数据长度
char m_Bzxx[MAX_BZXX_LEN]; // 备注信息
char m_Mac[MAX_MAC_LEN]; // MAC 校验
char m_Data[MAX_DATA_LEN]; // 数据部分
}PACKSTRUCT;
//add 河南交行
/* 金额表示方法: 若金额为123.78元,表示为12位字符串为000000012378 */
//密码校验请求
typedef struct
{
char jylx[2]; /* 01 - 密码校验标志 */
char pprno[3]; /* 多媒体查询 设备号 */
char pprclh[3]; /* 多媒体查询 处理号 */
char card_no[16]; /* 卡号 */
char mm[6]; /* 卡密码 若为AAAAAA则不核密码 */
char srmm[6]; /* 客户输入密码 */
char reserve[15]; /* 保留 */
}RequestPasswd;
typedef struct
{
char jylx[2]; /* 01 - 密码校验标志 */
char pprno[3]; /* 多媒体查询 设备号 */
char pprclh[3]; /* 多媒体查询 处理号 */
char jgdm[3]; /* 结果代码 (参看后面) */
char reserve[15]; /* 备用 */
}ReplyPasswd;
//结果代码: 000 - 密码正确
//001 - 密码出错一次
//002 - 密码出错二次
//003 - 密码出错三次
//该三位代码中的第一位非零,为通信故障
//信息查询请求
typedef struct
{
char jylx[2]; /* 02 - 信息查询 */
char pprno[3]; /* 多媒体查询 设备编号 */
char pprclh[3]; /* 多媒体查询 处理号 */
char card_no[16]; /* 卡 号 */
char bz[2]; /* 币 种 */
char cz[2]; /* 储 种 */
char bs[4]; /* 笔数号,查询通知明细时需要输入 */
/* 钞汇标志(查询外币活期时使用)0000钞/1000汇*/
char rq1[8]; /* 查询起始日期YYYYMMDD,查询活期时需要输入*/
char rq2[8]; /* 查询终止日期00000000*/
char reserve[15]; /* 备用000000000000000 */
}information_request;
//返回信息==信息头 + 储蓄信息 信息记录数
typedef struct
{
char jylx[2]; /* 02- 信息查询 */
char pprno[3]; /* 多媒体查询 设备编号 */
char pprclh[3]; /* 多媒体查询 处理号 */
char jgdm[3]; /* 结果代码 */
char rec_num[3]; /* 记录条数 */
char reserve[15]; /* 保留字节 */
}message_head;
typedef struct
{
char jylx[2]; /* 02- 信息查询 */
char pprno[3]; /* 多媒体查询 设备编号 */
char pprclh[3]; /* 多媒体查询 处理号 */
char jgdm[3]; /* 结果代码 */
char rec_num[3]; /* 记录条数 */
char reserve[15]; /* 保留字节 17??? */
}message_headqgt;
typedef struct
{
/* 储蓄信息 */
char zt[2]; /* 状态 */
char zh[10]; /* 帐号 */
char fsr[8]; /* 发生日 */
char qx[3]; /* 期限 */
//char dqrq[8]; /* ?到期日期 */
//char nono[4]; /* ? */
char fse[12]; /* 发生额 */
char ye[12]; /* 余额 */
char bs[4]; /* 笔数 */
//char bz[1]; /* 钞汇标志 */
char ywhh[10]; /* 业务行号 */
char czy[2]; /* 操作员 */
}deposit_msg_structcxxx;
//4019外币定期
typedef struct
{
char zt[2]; /* 状态 */
char zh[10]; /* 帐号 */
char fsr[8]; /* 发生日 */
char qx[3]; /* 期限 */
char dqrq[8]; /* ?到期日期 */
char nono[4]; /* ? */
char fse[12]; /* 发生额 */
char bs[4]; /* 笔数 */
char bz[1]; /* 钞汇标志2000.8.14*/
char ywhh[10]; /* 业务行号 */
char czy[2]; /* 操作员 */
}deposit_msg_structwbdq;
//定期
typedef struct
{
char zt[2]; /* 状态 */
char zh[10]; /* 帐号 */
char fsr[8]; /* 发生日 */
char qx[3]; /* 期限 */
char dqrq[8]; /* ?到期日期 */
char nono[4]; /* ? */
char fse[12]; /* 发生额 */
char bs[4]; /* 笔数 */
char bz[1]; /* 钞汇标志2000.8.14*/
char ywhh[10]; /* 业务行号 */
char czy[2]; /* 操作员 */
}deposit_msg_structdq;
//国库券信息格式
typedef struct
{ /* 国库券信息 */
char zt[2]; /* 状态 */
char zh[10]; /* 帐号 */
char fsr[8]; /* 发生日 */
char fxnd[4]; /* 发行年度 */
char djq[2]; /* 第几期 */
char qx[3]; /* 期限 */
char je[12]; /* 发生额 */
char bs[4]; /* 笔数 */
char ywhh[10]; /* 业务行号 */
char czy[2]; /* 操作员 */
char by1[15]; /* 备用 */
}deposit_msg_structgkq;
//代收费信息格式
typedef struct
{ /* 代收费信息 */
char zt[2]; /* 状态:00-正常,01,02-取消 */
/* 对应库中状态分别为0、D、F */
char khbh[20]; /* 客户编号 */
/* 电话号码、保险费号码前面补a(不固定);若是代收电费,khbh中第一字节为识别码:1东区2西区,电费户号放最后面六个字节(固定), */
char yf[6]; /* 年和月:(YYYYMM) */
char zje[12]; /* 总金额 */
char znj[12]; /* 滞纳金 */
char jfr[8]; /* 交费日 */
char jfbz[1]; /* 交费标志1-已交费0-未交费 */
}dsf_msg_struct;
//多媒体客户综合信息查询请求数据结构
//信息请求:与information_request相同
//信息返回:
//信息头 + 储蓄信息 信息记录数
//信息头 .同前面多最后两个位
typedef struct
{
char jylx[2]; /* 02- 信息查询 */
char sbh[3]; /* 设备号 */
char clh[3]; /* 处理号 */
char jgdm[3]; /* 结果代码 */
char rec_num[3]; /* 记录条数 */
char reserve[15]; /* 保留字节 [2-7](起始页数3+总页数3)*/
//char bz[2]; /* 币 种 */
//char cz[2]; /* 储 种 */
}message_headzhxx;
//储蓄信息综合信息
typedef struct
{ /* 储蓄信息 */
char zt[2]; /* 状态 00正常 */
char zh[10]; /* 帐号 */
char fsr[8]; /* 开户日 */
char qx[3]; /* 期限 */
char fse[12]; /* 发生额[0-3](币种2+储种2) */
char ye[12]; /* 余额 */
char bs[4]; /* 笔数 */
char bz[1]; /* 钞汇标志 */
char ywhh[10]; /* 业务行号 */
char czy[2]; /* 转存标志 00不转存 01转存*/
}deposit_msg_structtwo;
//多媒体全国通查询请求数据结构
// 信息请求:同information_request
// 信息返回:
//信息头 + 储蓄信息 信息记录数
//信息头 同message_head
//储蓄信息
typedef struct
{ /* 储蓄信息 */
char zt[2]; /* 状态 01存款 02取款 03消费 04转账 */
char zh[10]; /* 帐号 */
char fsr[8]; /* 发生日 */
char fse[12]; /* 发生额 */
char ye[12]; /* 手续费 */
char ywhh[10]; /* 发生地 */
//char czy[2]; // add zhangli
}deposit_msg_structqgt;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -