atm.h

来自「商业银行前置系统」· C头文件 代码 · 共 847 行 · 第 1/2 页

H
847
字号
    char cReceiptStatus;
    char cDepositStatus;
    char cAtmStatus;
    char cExceptionCode[SIZE_EXCEPTIONCODE];
    char cReqSeqNo[SIZE_REQSEQNO];
 
} OEXSTRU;

typedef OEXSTRU *       POEXSTRU;
typedef const OEXSTRU   COEXSTRU;
typedef const OEXSTRU * PCOEXSTRU;

typedef struct tagRQKSTRU
{
    char cTcc;
    char cTransCode[SIZE_TRANSCODE];
    char cDenom1Status;
    char cDenom2Status;
    char cDenom3Status;
    char cDenom4Status;
                
    char cDenom1Present[SIZE_DENOMPRESENT];
    char cDenom2Present[SIZE_DENOMPRESENT];
    char cDenom3Present[SIZE_DENOMPRESENT];
    char cDenom4Present[SIZE_DENOMPRESENT];
                 
    char cJournalStatus;
    char cReceiptStatus;
    char cDepositStatus;
    char cAtmStatus;
    char cRqkMode;  
    char cReqSeqNo[SIZE_REQSEQNO];
 
} RQKSTRU;

typedef RQKSTRU *       PRQKSTRU;
typedef const RQKSTRU   CRQKSTRU;
typedef const RQKSTRU * PCRQKSTRU;

typedef struct tagRFMSTRU
{
    char cTcc;
    char cTransCode[SIZE_TRANSCODE];
    char cDenom1Status;
    char cDenom2Status;
    char cDenom3Status;
    char cDenom4Status;
                
    char cDenom1Present[SIZE_DENOMPRESENT];
    char cDenom2Present[SIZE_DENOMPRESENT];
    char cDenom3Present[SIZE_DENOMPRESENT];
    char cDenom4Present[SIZE_DENOMPRESENT];
                  
    char cJournalStatus;
    char cReceiptStatus;
    char cDepositStatus;
    char cAtmStatus;
    char cReqNum[SIZE_REQNUM];
    char cReqSeqNo[SIZE_REQSEQNO];

} RFMSTRU;

typedef RFMSTRU *       PRFMSTRU;
typedef const RFMSTRU   CRFMSTRU;
typedef const RFMSTRU * PCRFMSTRU;

typedef struct tagRQFSTRU
{
    char cTcc;
    char cTransCode[SIZE_TRANSCODE];
    char cDenom1Status;
    char cDenom2Status;
    char cDenom3Status;
    char cDenom4Status;
                
    char cDenom1Present[SIZE_DENOMPRESENT];
    char cDenom2Present[SIZE_DENOMPRESENT];
    char cDenom3Present[SIZE_DENOMPRESENT];
    char cDenom4Present[SIZE_DENOMPRESENT];
                  
    char cJournalStatus;
    char cReceiptStatus;
    char cDepositStatus;
    char cAtmStatus;
    char cReqSeqNo[SIZE_REQSEQNO];
 
} RQFSTRU;

typedef RQFSTRU *       PRQFSTRU;
typedef const RQFSTRU   CRQFSTRU;
typedef const RQFSTRU * PCRQFSTRU;

typedef struct tagACCEPTSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cAccNo[SIZE_ACCNO];
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cAccepted;
    char cOffsetIncrement[SIZE_OFFSETINCREMENT];
    char cLimitFlag;
    char cAvailFund[SIZE_AVAILFUND];
    char cTransAmt[SIZE_TRANSAMT];
    char cRespSeqNo[SIZE_RESPSEQNO];
    char cReqSeqNo[SIZE_REQSEQNO];

} ACCEPTSTRU;

typedef ACCEPTSTRU *       PACCEPTSTRU;
typedef const ACCEPTSTRU   CACCEPTSTRU;
typedef const ACCEPTSTRU * PCACCEPTSTRU;

typedef ACCEPTSTRU CWDACCEPTSTRU;

typedef CWDACCEPTSTRU *       PCWDACCEPTSTRU;
typedef const CWDACCEPTSTRU   CCWDACCEPTSTRU;
typedef const CWDACCEPTSTRU * PCCWDACCEPTSTRU;

typedef ACCEPTSTRU TFRACCEPTSTRU;

typedef TFRACCEPTSTRU *       PTFRACCEPTSTRU;
typedef const TFRACCEPTSTRU   CTFRACCEPTSTRU;
typedef const TFRACCEPTSTRU * PCTFRACCEPTSTRU;

typedef ACCEPTSTRU CWCACCEPTSTRU;

typedef CWCACCEPTSTRU *       PCWCACCEPTSTRU;
typedef const CWCACCEPTSTRU   CCWCACCEPTSTRU;
typedef const CWCACCEPTSTRU * PCCWCACCEPTSTRU;

typedef ACCEPTSTRU DEPACCEPTSTRU;

typedef DEPACCEPTSTRU *       PDEPACCEPTSTRU;
typedef const DEPACCEPTSTRU   CDEPACCEPTSTRU;
typedef const DEPACCEPTSTRU * PCDEPACCEPTSTRU;

typedef ACCEPTSTRU DPCACCEPTSTRU;

typedef DPCACCEPTSTRU *       PDPCACCEPTSTRU;
typedef const DPCACCEPTSTRU   CDPCACCEPTSTRU;
typedef const DPCACCEPTSTRU * PCDPCACCEPTSTRU;

typedef struct tagINQACCEPTSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cAccNo[SIZE_ACCNO];
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cAccepted;
    char cOffsetIncrement[SIZE_OFFSETINCREMENT];
    char cLimitFlag;
    char cAvailFund[SIZE_AVAILFUND];
    char cBal[SIZE_BAL];
    char cBalSign;
    char cAvailBal[SIZE_BAL];
    char cAvailBalSign;
    char cTransferAvailAmt[SIZE_TRANSFERAVAILAMT];
    char cNonBook[SIZE_NONBOOK];
    char cRespSeqNo[SIZE_RESPSEQNO];
    char cReqSeqNo[SIZE_REQSEQNO];

} INQACCEPTSTRU;

typedef INQACCEPTSTRU *       PINQACCEPTSTRU;
typedef const INQACCEPTSTRU   CINQACCEPTSTRU;
typedef const INQACCEPTSTRU * PCINQACCEPTSTRU;

typedef struct tagPINACCEPTSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cAccNo[SIZE_ACCNO];
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cAccepted;
    char cOffsetIncrement[SIZE_OFFSETINCREMENT];
    char cRespSeqNo[SIZE_RESPSEQNO];
    char cReqSeqNo[SIZE_REQSEQNO];

} PINACCEPTSTRU;

typedef PINACCEPTSTRU *       PPINACCEPTSTRU;
typedef const PINACCEPTSTRU   CPINACCEPTSTRU;
typedef const PINACCEPTSTRU * PCPINACCEPTSTRU;

typedef struct tagREJECTSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cLimitFlag;
    char cRejectCode[SIZE_REJECTCODE];
    char cUsageCnt[SIZE_USAGECNT];
    char cReqSeqNo[SIZE_REQSEQNO];

} REJECTSTRU;

typedef REJECTSTRU *       PREJECTSTRU;
typedef const REJECTSTRU   CREJECTSTRU;
typedef const REJECTSTRU * PCREJECTSTRU;

typedef REJECTSTRU TFRREJECTSTRU;

typedef TFRREJECTSTRU *       PTFRREJECTSTRU;
typedef const TFRREJECTSTRU   CTFRREJECTSTRU;
typedef const TFRREJECTSTRU * PCTFRREJECTSTRU;

typedef REJECTSTRU CWCREJECTSTRU;

typedef CWCREJECTSTRU *       PCWCREJECTSTRU;
typedef const CWCREJECTSTRU   CCWCREJECTSTRU;
typedef const CWCREJECTSTRU * PCCWCREJECTSTRU;

typedef REJECTSTRU INQREJECTSTRU;

typedef INQREJECTSTRU *       PINQREJECTSTRU;
typedef const INQREJECTSTRU   CINQREJECTSTRU;
typedef const INQREJECTSTRU * PCINQREJECTSTRU;

typedef REJECTSTRU PINREJECTSTRU;

typedef PINREJECTSTRU *       PPINREJECTSTRU;
typedef const PINREJECTSTRU   CPINREJECTSTRU;
typedef const PINREJECTSTRU * PCPINREJECTSTRU;

typedef REJECTSTRU DEPREJECTSTRU;

typedef DEPREJECTSTRU *       PDEPREJECTSTRU;
typedef const DEPREJECTSTRU   CDEPREJECTSTRU;
typedef const DEPREJECTSTRU * PCDEPREJECTSTRU;

typedef REJECTSTRU DPCREJECTSTRU;

typedef DPCREJECTSTRU *       PDPCREJECTSTRU;
typedef const DPCREJECTSTRU   CDPCREJECTSTRU;
typedef const DPCREJECTSTRU * PCDPCREJECTSTRU;

typedef REJECTSTRU CWDREJECTSTRU;

typedef CWDREJECTSTRU *       PCWDREJECTSTRU;
typedef const CWDREJECTSTRU   CCWDREJECTSTRU;
typedef const CWDREJECTSTRU * PCCWDREJECTSTRU;

typedef struct tagBALLACKSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cLimitFlag;
    char cRejectCode[SIZE_REJECTCODE];
    char cAvailFund[SIZE_AVAILFUND];
    char cReqSeqNo[SIZE_REQSEQNO];

} BALLACKSTRU;

typedef BALLACKSTRU *       PBALLACKSTRU;
typedef const BALLACKSTRU   CBALLACKSTRU;
typedef const BALLACKSTRU * PCBALLACKSTRU;

typedef BALLACKSTRU CWDBALLACKSTRU;

typedef CWDBALLACKSTRU *       PCWDBALLACKSTRU;
typedef const CWDBALLACKSTRU   CCWDBALLACKSTRU;
typedef const CWDBALLACKSTRU * PCCWDBALLACKSTRU;

typedef BALLACKSTRU TFRBALLACKSTRU;

typedef TFRBALLACKSTRU *       PTFRBALLACKSTRU;
typedef const TFRBALLACKSTRU   CTFRBALLACKSTRU;
typedef const TFRBALLACKSTRU * PCTFRBALLACKSTRU;

typedef struct tagRESPSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cReqSeqNo[SIZE_REQSEQNO];
     
} RESPSTRU;

typedef RESPSTRU *       PRESPSTRU;
typedef const RESPSTRU   CRESPSTRU;
typedef const RESPSTRU * PCRESPSTRU;

typedef RESPSTRU OEXRESPSTRU;

typedef OEXRESPSTRU *       POEXRESPSTRU;
typedef const OEXRESPSTRU   COEXRESPSTRU;
typedef const OEXRESPSTRU * PCOEXRESPSTRU;

typedef RESPSTRU AEXRESPSTRU;

typedef AEXRESPSTRU *       PAEXRESPSTRU;
typedef const AEXRESPSTRU   CAEXRESPSTRU;
typedef const AEXRESPSTRU * PCAEXRESPSTRU;

typedef RESPSTRU MSRRESPSTRU;

typedef MSRRESPSTRU *       PMSRRESPSTRU;
typedef const MSRRESPSTRU   CMSRRESPSTRU;
typedef const MSRRESPSTRU * PCMSRRESPSTRU;

typedef struct tagRQKRESPSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cNewKey[SIZE_KEY];
    char cReqSeqNo[SIZE_REQSEQNO];

} RQKRESPSTRU;

typedef RQKRESPSTRU *       PRQKRESPSTRU;
typedef const RQKRESPSTRU   CRQKRESPSTRU;
typedef const RQKRESPSTRU * PCRQKRESPSTRU;

typedef struct tagRFMRESPSTRU
{
    char cTfc; 
    char cTpc;
    char cOperateMode;
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cFitCnt[SIZE_FITCNT];
    char cFitArea[SIZE_FITAREA];
    char cEndFlag;
    char cReqSeqNo[SIZE_REQSEQNO];
     
} RFMRESPSTRU;

typedef RFMRESPSTRU *       PRFMRESPSTRU;
typedef const RFMRESPSTRU   CRFMRESPSTRU;
typedef const RFMRESPSTRU * PCRFMRESPSTRU;

typedef struct tagRQFRESPSTRU
{
    char cTfc;
    char cTpc;
    char cOperateMode;
    char cDateTime[SIZE_DATETIME];
    char cDateInDays[SIZE_DATEINDAYS];
    char cFitCnt[SIZE_FITCNT];
    char cFitArea[SIZE_MAXFIT];
    char cReqSeqNo[SIZE_REQSEQNO];
     
} RQFRESPSTRU;

typedef RQFRESPSTRU *       PRQFRESPSTRU;
typedef const RQFRESPSTRU   CRQFRESPSTRU;
typedef const RQFRESPSTRU * PCRQFRESPSTRU;

/*
 * ATM Status Monitor structure
 */

typedef struct tagASMSTRU
{
    char szAtmNo[AP_LEN_ID + 1];

    char szDenom1Status[1 + 1]; 
    char szDenom2Status[1 + 1];
    char szDenom3Status[1 + 1];
    char szDenom4Status[1 + 1];

    char szDenom1Remain[SIZE_DENOMREMAIN + 1];
    char szDenom2Remain[SIZE_DENOMREMAIN + 1];
    char szDenom3Remain[SIZE_DENOMREMAIN + 1];
    char szDenom4Remain[SIZE_DENOMREMAIN + 1];

    char szJournalStatus[1 + 1];
    char szReceiptStatus[1 + 1];
    char szDepositStatus[1 + 1];
    char szAtmStatus[1 + 1];

} ASMSTRU;

typedef ASMSTRU *       PASMSTRU;
typedef const ASMSTRU   CASMSTRU;
typedef const ASMSTRU  PCASMSTRU;

/* 
 * Function point and function define in this file 
 */

RESULT HandleRqk(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleInq(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleCwd(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleCwc(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleTrf(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandlePin(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleAex(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleOex(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleMsr(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleRqf(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleRfm(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleDep(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);
RESULT HandleDpc(char cMsg[SIZE_MSG_ATM], char szMsgLen[6 + 1], ATMSTRU atmstru);

RESULT GetAtm(PATMSTRU patmstru, PCSTR pszAddr);
RESULT SendAsmToMonitor(PASMSTRU pasmstru);

void EncryptTrack2(PSTR pszTrack2, int nFunc);
void EncryptTrack3(PSTR pszTrack3, int nFunc);
void EncryptAtm(PCSTR pszPan, PSTR pszEncryptData, int nFunc);
void EncryptNewPin(PCHAR pcPin, PCSTR pszAccNo, int nFunc);

#endif /* __ATM_H__ */

/* End of this file */

⌨️ 快捷键说明

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