* support BS11 specific IE types in abis_nm
* make bs11_config compile again 
* now that we have a proper TLV parser, use it to parse the status response on the serial port

diff --git a/src/abis_nm.c b/src/abis_nm.c
index 33fc0bf..9793dc4 100644
--- a/src/abis_nm.c
+++ b/src/abis_nm.c
@@ -217,6 +217,8 @@
 		[NM_ATT_BS11_LMT_LOGIN_TIME] =	{ TLV_TYPE_TLV },
 		[NM_ATT_BS11_LMT_USER_ACC_LEV] ={ TLV_TYPE_TLV },
 		[NM_ATT_BS11_LMT_USER_NAME] =	{ TLV_TYPE_TLV },
+		[NM_ATT_BS11_BTS_STATE]	=	{ TLV_TYPE_TLV },
+		[NM_ATT_BS11_E1_STATE]	=	{ TLV_TYPE_TLV },
 		/* ip.access specifics */
 		[NM_ATT_IPACC_RSL_BSC_IP] =	{ TLV_TYPE_FIXED, 4 },
 		[NM_ATT_IPACC_RSL_BSC_PORT] =	{ TLV_TYPE_FIXED, 2 },
@@ -224,7 +226,11 @@
 
 	},
 };
-#define nm_tlv_parse(dec, buf, len)	tlv_parse(dec, &nm_att_tlvdef, buf, len)
+
+int abis_nm_tlv_parse(struct tlv_parsed *tp, const u_int8_t *buf, int len)
+{
+	return tlv_parse(tp, &nm_att_tlvdef, buf, len);
+}
 
 static int is_in_arr(enum abis_nm_msgtype mt, const enum abis_nm_msgtype *arr, int size)
 {
@@ -462,7 +468,7 @@
 
 	new_state = *nm_state;
 	
-	nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
+	abis_nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
 	if (TLVP_PRESENT(&tp, NM_ATT_OPER_STATE)) {
 		new_state.operational = *TLVP_VAL(&tp, NM_ATT_OPER_STATE);
 		DEBUGPC(DNM, "OP_STATE=%s ", opstate_name(new_state.operational));
@@ -584,7 +590,7 @@
 	struct tlv_parsed tp;
 	u_int8_t adm_state;
 
-	nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
+	abis_nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
 	if (!TLVP_PRESENT(&tp, NM_ATT_ADM_STATE))
 		return -EINVAL;
 
@@ -1858,7 +1864,7 @@
 	}
 
 	foh = (struct abis_om_fom_hdr *) oh->data + 1 + idstrlen;
-	nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
+	abis_nm_tlv_parse(&tp, foh->data, oh->length-sizeof(*foh));
 
 	switch (foh->msg_type) {
 	case NM_MT_IPACC_RSL_CONNECT_ACK: