this is the first version that actually talks to the BTS
* initialize OML and RSL based on TEI establish (ACTIVATE_IND) events
* fix abis_nm_raw_msg() to not overwrite the OML header with payload
* fix debug print statements
* fix msgb_dequeue: actually dequeue it from the list ;)
diff --git a/include/openbsc/debug.h b/include/openbsc/debug.h
index 41953a3..02ae699 100644
--- a/include/openbsc/debug.h
+++ b/include/openbsc/debug.h
@@ -12,9 +12,11 @@
#define DMI 0x1000
#ifdef DEBUG
-#define DEBUGP(ss, args...) debugp(ss, __FILE__, __LINE__, ## args)
+#define DEBUGP(ss, fmt, args...) debugp(ss, __FILE__, __LINE__, fmt, ## args)
#else
-#define DEBUGP(xss, args, ...)
+#define DEBUGP(xss, fmt, args...)
#endif
+void debugp(int subsys, char *file, int line, const char *format, ...);
+
#endif /* _DEBUG_H */
diff --git a/include/openbsc/gsm_data.h b/include/openbsc/gsm_data.h
index 8bb219a..75de2e7 100644
--- a/include/openbsc/gsm_data.h
+++ b/include/openbsc/gsm_data.h
@@ -126,5 +126,13 @@
/* the 'local' subscriber */
struct gsm_subscriber *subscr;
};
-
+
+enum gsm_e1_event {
+ EVT_E1_NONE,
+ EVT_E1_OML_UP,
+ EVT_E1_RSL_UP,
+ EVT_E1_OML_DN,
+ EVT_E1_RSL_DN,
+};
+
#endif
diff --git a/include/openbsc/msgb.h b/include/openbsc/msgb.h
index 13631e7..cfb9121 100644
--- a/include/openbsc/msgb.h
+++ b/include/openbsc/msgb.h
@@ -34,8 +34,8 @@
struct gsm_bts_trx *trx;
struct gsm_lchan *lchan;
- u_int8_t l2_off;
- u_int8_t l3_off;
+ unsigned char *l2h;
+ unsigned char *l3h;
u_int16_t data_len;
u_int16_t len;
@@ -51,8 +51,8 @@
extern void msgb_enqueue(struct llist_head *queue, struct msgb *msg);
extern struct msgb *msgb_dequeue(struct llist_head *queue);
-#define msgb_l2(m) ((void *)(m->data + m->l2_off))
-#define msgb_l3(m) ((void *)(m->data + m->l3_off))
+#define msgb_l2(m) ((void *)(m->l2h))
+#define msgb_l3(m) ((void *)(m->l3h))
static inline unsigned int msgb_headlen(const struct msgb *msgb)
{