X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2F80221Bundle%2FTLVParser.cc;h=ad14cb5915695c9db12f2be6fedd572147247d94;hb=ff305084cba283649a2c97e73d2608c3e4598683;hp=cf2e41d446ef8953af8b2bc38268baed24baafb5;hpb=94e4eda4358a4def564175ae42173f91307e36a4;p=senf.git diff --git a/senf/Packets/80221Bundle/TLVParser.cc b/senf/Packets/80221Bundle/TLVParser.cc index cf2e41d..ad14cb5 100644 --- a/senf/Packets/80221Bundle/TLVParser.cc +++ b/senf/Packets/80221Bundle/TLVParser.cc @@ -30,6 +30,7 @@ #include #include #include +#include #define prefix_ //-///////////////////////////////////////////////////////////////////////////////////////////////// @@ -233,6 +234,14 @@ prefix_ void senf::MIHRegisterReqCodeTLVParser::dump(std::ostream & os) os << " (???; invalid value!)" << std::endl; } +prefix_ std::pair senf::MIHRegisterReqCodeTLVParser::validate() + const +{ + if (length() != 1) return std::make_pair(false, "invalid length in MIHRegisterReqCodeTLV " + senf::str(length())); + if (value() >= 2) return std::make_pair(false, "invalid value in MIHRegisterReqCodeTLV " + senf::str(value())); + return std::make_pair(true, ""); +} + //-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::MIHValidTimeIntervalTLVParser @@ -248,6 +257,13 @@ prefix_ void senf::MIHValidTimeIntervalTLVParser::dump(std::ostream & os) << ( value()==0 ? " (infinite)" : " seconds") << std::endl; } +prefix_ std::pair senf::MIHValidTimeIntervalTLVParser::validate() + const +{ + if (length() != 4) return std::make_pair(false, "invalid length in MIHValidTimeIntervalTLV " + senf::str(length())); + return std::make_pair(true, ""); +} + //-///////////////////////////////////////////////////////////////////////////////////////////////// // senf::MIHTLVLengthParser