diff --git a/lib/a2mp.h b/lib/a2mp.h
index da937d1..61f1c1e 100644
--- a/lib/a2mp.h
+++ b/lib/a2mp.h
#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