00001 #include "headers.h" 00002 00009 00013 FinPacket::FinPacket() : NpPacket() { 00014 m_controlType = NpPacket::Fin; 00015 m_errorCode = 0; 00016 m_length = 0; 00017 m_headerLength = FP_HEADER_LENGTH; 00018 } // ctor 00019 00020 00024 FinPacket::FinPacket(unsigned char* rawData) : NpPacket(rawData) { 00025 m_errorCode = ntohs(rawData[ErrorCodeOffset] << 8); 00026 m_headerLength = FP_HEADER_LENGTH; 00027 } // ctor 00028 00029 00033 unsigned char* 00034 FinPacket::getRawData() { 00035 // get a pointer to the appropriate memory position to write the error message 00036 unsigned char* buf = NpPacket::getRawData(); 00037 00038 // add the error code 00039 unsigned short tmpUshort; 00040 tmpUshort = htons(m_errorCode); 00041 buf[ErrorCodeOffset] = (tmpUshort >> 8); 00042 00043 return buf; 00044 } // fn getRawData 00045 00046 00047 unsigned short 00048 FinPacket::getErrorCode() { 00049 return m_errorCode; 00050 } // fn getErrorCode 00051 00052 00053 void 00054 FinPacket::setErrorCode(unsigned short code) { 00055 m_errorCode = code; 00056 } // fn setErrorCode 00057 00058 00059 void 00060 FinPacket::toStream(std::ostream& out) { 00061 NpPacket::toStream(out); 00062 out << "Error code = " << m_errorCode << "\n"; 00063 } // fn toStream