⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 k8583struct.h

📁 一个与银行通讯的测试程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#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 + -