public PDUTypes FindResponseType(PDUTypes pduType, Boolean endResponse) { if (pduType == PDUTypes.PSSDR) { return(PDUTypes.PSSDC); } else if (pduType == PDUTypes.PSSRR && endResponse) { return(PDUTypes.PSSRC); } else if (pduType == PDUTypes.PSSRR && !endResponse) { return(PDUTypes.USSRR); } else if (pduType == PDUTypes.USSRR) { return(PDUTypes.USSRC); } else if (pduType == PDUTypes.USSRC) { return(PDUTypes.USSRR); } return(pduType); }
public static int DecodeRTAHeader(System.IO.Stream buffer, out UInt16 AlarmDestinationEndpoint, out UInt16 AlarmSourceEndpoint, out PDUTypes PDUType, out AddFlags AddFlags, out UInt16 SendSeqNum, out UInt16 AckSeqNum, out UInt16 VarPartLen) { int ret = 0; byte tmp; ret += DCP.DecodeU16(buffer, out AlarmDestinationEndpoint); ret += DCP.DecodeU16(buffer, out AlarmSourceEndpoint); ret += DCP.DecodeU8(buffer, out tmp); PDUType = (PDUTypes)tmp; ret += DCP.DecodeU8(buffer, out tmp); AddFlags = (AddFlags)tmp; ret += DCP.DecodeU16(buffer, out SendSeqNum); ret += DCP.DecodeU16(buffer, out AckSeqNum); ret += DCP.DecodeU16(buffer, out VarPartLen); return(ret); }