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

📄 8583.h

📁 c语言编写的8583解包程序 在unix环境下测试通过
💻 H
字号:
#ifndef _8583_H_#define _8583_H_#include <sys/types.h>#include <sys/timeb.h>#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <termio.h>#include <signal.h>/* define des bits de champs */#define BIT1            1#define BIT2            2#define BIT3            3#define BIT4            4#define BIT5            5#define BIT6            6#define BIT7            7#define BIT8            8#define BIT9            9#define BIT10          10#define BIT11          11#define BIT12          12#define BIT13          13#define BIT14          14#define BIT15          15#define BIT16          16#define BIT17          17#define BIT18          18#define BIT19          19#define BIT20          20#define BIT21          21#define BIT22          22#define BIT23          23#define BIT24          24#define BIT25          25#define BIT26          26#define BIT27          27#define BIT28          28#define BIT29          29#define BIT30          30#define BIT31          31#define BIT32          32#define BIT33          33#define BIT34          34#define BIT35          35#define BIT36          36#define BIT37          37#define BIT38          38#define BIT39          39#define BIT40          40#define BIT41          41#define BIT42          42#define BIT43          43#define BIT44          44#define BIT45          45#define BIT46          46#define BIT47          47#define BIT48          48#define BIT49          49#define BIT50          50#define BIT51          51#define BIT52          52#define BIT53          53#define BIT54          54#define BIT55          55#define BIT56          56#define BIT57          57#define BIT58          58#define BIT59          59#define BIT60          60#define BIT61          61#define BIT62          62#define BIT63          63#define BIT64          64#define BITEND         255#define NUMERIC         0x01    /*type of the value : BCD or Hex*/#define TRACKX          0x02    /*which track:track2 or track3*/#define ALPHANUM        0x03    /*sigle character --an */#define ALPHANUMS       0x04    /*ans in iso8583 format*/#define BITS            0x05    /*express information with single bit*/#define BIT_MAP         255#define LLVAR           0x01#define LLLVAR          0x02#define MDhms		0x03#define YMD		0x04#define hms		0x06#define k_TRUE     0#define k_FALSE    1/*all kind of information for one bit in the iso8583 package format*/struct BITD {	unsigned char Bitn; 		/* bit number */	unsigned char Format;	 	/* bit format --for the length*/	unsigned char Attrib;		/* attribute -- code type*/	unsigned int  Max;		/* max width */	unsigned int  *Length;		/*length in use*/	unsigned char Tx_Function_No; 	/*function refered to the bit in sending*/	unsigned char Rcv_Function_No; 	/*function refered to the bit in recieving*/	unsigned char *Send_Data;       /*data assoicated with the bit in sending*/	unsigned char *Receive_Data;    /*data assoicated with the bit in recieving*/};typedef struct{	unsigned char	priority;	int		trans_type;	unsigned char	key_info[5];	char		card_no[22];	unsigned char	random[5];	long		card_count;	long		pos_count;	double		old_overdraw;	double		amount;	double		balance;	unsigned char	check_type;	char		tid[13];	char		date[9];	char		time[7];	char		exp_date[9];	int		data_len;	unsigned char	data[100];	unsigned char	update_info[3];	unsigned char	tac[9];	unsigned char	mac1[9];	unsigned char	mac2[9];	unsigned char	mac3[9];}conStruct;struct PACK_DATA {	   char priority[2];	    char bitmap[8];	      /* Field 1  BIT */	    char trans_type[2];	      /* Field 2  BIT */	    char check_type[2];	      /* Field 3  BIT */	    char card_no[10];         /* Field 4  BCD */	    char amount[4];           /* Field 5  BIT */	    char key_info[4];	      /* Field 6  BIT */	    char random[4];	      /* Field 7  BIT */	    char card_count[2];	      /* Field 8  BIT */	    char pos_count[4];	      /* Field 9  BIT */	    char balance[4];	      /* Field 10 BIT */	    char time[3];             /* Field 12 BCD */	    char date[4];             /* Field 13 BCD */	    char expired[4];          /* Field 14 BCD */	    char tid[6]; 	      /* Field 15 BCD */	    char mac1[4]; 	      /* Field 16 BIT */	    char mac2[4]; 	      /* Field 17 BIT */	    char mac3[4]; 	      /* Field 18 BIT */	    char tac[4]; 	      /* Field 19 BIT */	    char update_info[3];      /* Field 20 BIT */	    char old_overdraw[4];     /* Field 21 BIT */	    char resp_code[2];        /* Field 39 BIT */	    char field_60[30];        /* Field 60 */	    char field_61[60];        /* Field 61 */	    char field_62[100];       /* Field 62 */	    char field_63[200];       /* Field 63 */	    char mac[8];              /* Field 64 BIT*/	   };unsigned int   Len4,Len35,Len36,Len48,Len54,Len60,Len61,Len62,Len63;struct PACK_DATA Pack_Data;int  unpack8583(char *,struct PACK_DATA *);int  pack8583(char *,struct PACK_DATA *);int	 unpack_fct(int,int,int,char *,char *,char );int  Set_Memcpy( int,int,int,char *,char * );int Set_Mac(char *,int,char *);#endif /* _8583_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -