//////////////////////// Protocol Dump APIs //////////////////////////// #ifdef PDUMP // Protocol Dump //macros defined to access fields of the protocol dump #define GETPROTDUMPFRAME(lpprotdump,i) \ ((LPFR)(((LPBYTE)(lpprotdump->b)) + lpprotdump->uFrameOff[i])) \ #define ISSENDFRAME(lpfr) \ ((lpfr->ifr & 0x80)) #define GETFCF(lpfr,lpszBuf) \ (wsprintf(lpszBuf, \ (LPSTR)(rgszFrName[lpfr->ifr & 0x7F]))) #define GETFIF(lpfr,lpszBuf) \ { \ int j; \ *lpszBuf = '\0'; \ for(j=0;jcb;j++) \ lpszBuf += wsprintf(lpszBuf,"%02x",(WORD)lpfr->fif[j]); \ } ///////// Sample Code for walking & printing Protocol Dump //////// // // void PrintDump(LPPROTDUMP lpprotdump) // { // int i, j; // // RETAILMSG((SZMOD "-*-*-*-*-*-*-*-* Print Protocol Dump -*-*-*-*-*-*-*-*-\r\n")); // // for(i=0; i<(int)lpprotdump->uNumFrames; i++) // { // LPFR lpfr = (LPFR) (((LPBYTE)(lpprotdump->b)) + lpprotdump->uFrameOff[i]); // IFR ifr = (lpfr->ifr & 0x7F); // BOOL fSend = (lpfr->ifr & 0x80); // // BG_CHK(ifr <= ifrMAX); // RETAILMSG((SZMOD "%s: %s [ ", // (LPSTR)(fSend ? "Sent" : "Recvd"), // (LPSTR)(rgszFrName[ifr]) )); // // for(j=0; jcb; j++) // RETAILMSG(("%02x ", (WORD)lpfr->fif[j])); // // RETAILMSG(("]\r\n")); // } // // RETAILMSG((SZMOD "-*-*-*-*-*-*-*-* End Protocol Dump -*-*-*-*-*-*-*-*-\r\n")); // } // /////////////////////////////////////////////////////////////////// #ifdef DEFINE_FRNAME_ARRAY #define ifrMAX 48 LPSTR rgszFrName[ifrMAX] = { #define ifrNULL 0 "???", #define ifrDIS 1 "DIS", #define ifrCSI 2 "CSI", #define ifrNSF 3 "NSF", #define ifrDTC 4 "DTC", #define ifrCIG 5 "CIG", #define ifrNSC 6 "NSC", #define ifrDCS 7 "DCS", #define ifrTSI 8 "TSI", #define ifrNSS 9 "NSS", #define ifrCFR 10 "CFR", #define ifrFTT 11 "FTT", #define ifrMPS 12 "MPS", #define ifrEOM 13 "EOM", #define ifrEOP 14 "EOP", #define ifrPWD 15 "PWD", #define ifrSEP 16 "SEP", #define ifrSUB 17 "SUB", #define ifrMCF 18 "MCF", #define ifrRTP 19 "RTP", #define ifrRTN 20 "RTN", #define ifrPIP 21 "PIP", #define ifrPIN 22 "PIN", #define ifrDCN 23 "DCN", #define ifrCRP 24 "CRP", #define ifrPRI_MPS 25 "PRI_MPS", #define ifrPRI_EOM 26 "PRI_EOM", #define ifrPRI_EOP 27 "PRI_EOP", #define ifrCTC 28 "CTC", #define ifrCTR 29 "CTR", #define ifrRR 30 "RR" , #define ifrPPR 31 "PPR", #define ifrRNR 32 "RNR", #define ifrERR 33 "ERR", #define ifrPPS_NULL 34 "PPS-NULL", #define ifrPPS_MPS 35 "PPS-MPS", #define ifrPPS_EOM 36 "PPS-EOM", #define ifrPPS_EOP 37 "PPS-EOP", #define ifrPPS_PRI_MPS 38 "PPS-PRI-MPS", #define ifrPPS_PRI_EOM 39 "PPS-PRI-EOM", #define ifrPPS_PRI_EOP 40 "PPS-PRI-EOP", #define ifrEOR_NULL 41 "EOR-NULL", #define ifrEOR_MPS 42 "EOR-MPS", #define ifrEOR_EOM 43 "EOR-EOM", #define ifrEOR_EOP 44 "EOR-EOP", #define ifrEOR_PRI_MPS 45 "EOR-PRI-MPS", #define ifrEOR_PRI_EOM 46 "EOR-PRI-EOM", #define ifrEOR_PRI_EOP 47 "EOR-PRI-EOP" #define ifrMAX 48 }; #endif //DEFINE_FRNAME_ARRAY #endif //PDUMP