Packets: added GenericTLVParserRegistry
[senf.git] / senf / Packets / 80211Bundle / InformationElements.hh
index 21911d5..69fa2a9 100644 (file)
@@ -56,9 +56,40 @@ namespace senf {
         SENF_PARSER_FINALIZE ( WLANSSIDInfoElementParser        );
      
         SENF_PARSER_INIT() {
-            type() = TYPEID;
+            type() = typeId;
         }        
-        static const type_t::value_type TYPEID = 0x00u;
+        static const type_t::value_type typeId = 0x00u;
+    };
+        
+    struct WLANSupportedRatesInfoElementParser
+        : public WLANInfoElementParser
+    {
+    #   include SENF_PARSER()
+        SENF_PARSER_INHERIT  ( WLANInfoElementParser               );
+        // we just skip the value here. If somebody needs the information he has to implement 
+        // this strange information element hisself. 
+        SENF_PARSER_SKIP     ( length(), 0                         );
+        SENF_PARSER_FINALIZE ( WLANSupportedRatesInfoElementParser );
+     
+        SENF_PARSER_INIT() {
+            type() = typeId;
+        }        
+        static const type_t::value_type typeId = 0x01u;
+    };
+        
+    struct WLANPowerConstraintInfoElementParser
+        : public WLANInfoElementParser
+    {
+    #   include SENF_PARSER()
+        SENF_PARSER_INHERIT  ( WLANInfoElementParser                );
+        SENF_PARSER_FIELD    ( value,   UInt8Parser                 );
+        SENF_PARSER_FINALIZE ( WLANPowerConstraintInfoElementParser );
+     
+        SENF_PARSER_INIT() {
+            type() = typeId;
+            length() = 1;
+        }        
+        static const type_t::value_type typeId = 0x20u;
     };
 }