/*
 * 	Module_RFID.h
 *
 *  Created on: 2019-10-24
 *  Update: 2020-10-19
 *  Author: Eason Yang
 *	Version: V0.03
 *
 * History
 * 1. Added : Reyax constant.
 *
 *
 *
 *
 *
 */
 
#ifndef LIB_Systex_H_
#define LIB_Systex_H_

#include 	<sys/time.h>
#include 	<sys/timeb.h>
#include    <sys/types.h>
#include    <sys/stat.h>
#include 	<sys/types.h>
#include 	<sys/ioctl.h>
#include 	<sys/socket.h>
#include 	<sys/ipc.h>
#include 	<sys/shm.h>
#include 	<sys/shm.h>
#include 	<sys/mman.h>
#include 	<linux/wireless.h>
#include 	<arpa/inet.h>
#include 	<netinet/in.h>

#include 	<unistd.h>
#include 	<stdarg.h>
#include    <stdio.h>	/* Standard input/output definitions */
#include    <stdlib.h>
#include    <unistd.h>	/* UNIX standard function definitions */
#include    <fcntl.h>	/* File control definitions */
#include    <termios.h>	/* POSIX terminal control definitions */
#include    <errno.h>	/* Error number definitions */
#include 	<string.h>	/* String function definitions */
#include	<time.h>
#include	<ctype.h>
#include 	<ifaddrs.h>
#include	<stdbool.h>



struct TransInfo
{
	unsigned char TransDate[6];	//������
	unsigned char TransTime[6];	//����ɶ�
	unsigned char ROC[12];		//EDCñ��վ\�s�� (���a�k�ɪť�)
	unsigned char ApprovalNo[9];		//���v�X[�H�Υd�h�f���] (���a�k�ɪť�)
	unsigned char StoreId[18];		//�d��,����,�o�����X(���a�k�ɪť�)
	unsigned char RRN[12];		//�H�Υd����Ǹ�
	unsigned char CardNo[20];		//�d��(���a�k�ɪť�),�d����������
	unsigned char TransAmount[12];		//������B
	unsigned char VemData[64];		//�L�H�ۧU�]�ƥ����T ����O31/32 (�w���v����/�w���v����) ���n��� ��T�ӷ�������O13 (�w���v)���^��
};

int CreditCardSearch(int Fd,unsigned char *EVSEID, struct TransInfo *TransInfoReturn);
int CreditCardPreAuth(int Fd, int PreCost,unsigned char *EVSEID, struct TransInfo *TransInfoReturn);
int CreditCardPreAuthComplete(int Fd, int PreCost,unsigned char *EVSEID, unsigned char *VemData,struct TransInfo *TransInfoReturn);
int CreditCardPreAuthCancel(int Fd, int PreCost,unsigned char *EVSEID, unsigned char *ApprovalNo, unsigned char *CardNum,unsigned char *VemData);
int CreditCardUnionSettlement(int Fd,unsigned char *EVSEID,struct TransInfo *TransInfoReturn);

#endif