?? 8583.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 + -