OSDN Git Service

lib: Add definitions for AMP Assoc data
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>
Thu, 10 May 2012 08:08:51 +0000 (11:08 +0300)
committerJohan Hedberg <johan.hedberg@intel.com>
Wed, 16 May 2012 08:05:06 +0000 (11:05 +0300)
Definitions are needed for decoding A2MP Assoc Rsp.

lib/a2mp.h

index da937d1..61f1c1e 100644 (file)
@@ -142,6 +142,44 @@ struct a2mp_disconn_rsp {
 #define A2MP_STATUS_PHYS_LINK_EXISTS                   0x05
 #define A2MP_STATUS_SECURITY_VIOLATION                 0x06
 
+#define A2MP_MAC_ADDR_TYPE             1
+#define A2MP_PREF_CHANLIST_TYPE                2
+#define A2MP_CONNECTED_CHAN            3
+#define A2MP_PAL_CAP_TYPE              4
+#define A2MP_PAL_VER_INFO              5
+
+struct a2mp_tlv {
+       uint8_t type;
+       uint16_t len;
+       uint8_t val[0];
+} __attribute__ ((packed));
+
+struct a2mp_pal_ver {
+       uint8_t ver;
+       uint16_t company_id;
+       uint16_t sub_ver;
+} __attribute__ ((packed));
+
+struct a2mp_country_triplet {
+       union {
+               struct {
+                       uint8_t first_channel;
+                       uint8_t num_channels;
+                       int8_t max_power;
+               } __attribute__ ((packed)) chans;
+               struct {
+                       uint8_t reg_extension_id;
+                       uint8_t reg_class;
+                       uint8_t coverage_class;
+               } __attribute__ ((packed)) ext;
+       };
+} __attribute__ ((packed));
+
+struct a2mp_chan_list {
+       uint8_t country_code[3];
+       struct a2mp_country_triplet triplets[0];
+} __attribute__ ((packed));
+
 #ifdef __cplusplus
 }
 #endif