[bsc_msc] Move the id get response into the bsc_msc.c

Create the message in a common place and then it can be used
by tools having an a link or such.
This commit is contained in:
Holger Hans Peter Freyther 2010-06-15 18:52:05 +08:00
parent 52c4ba0309
commit f76e7ef5e1
2 changed files with 24 additions and 0 deletions

View File

@ -45,4 +45,6 @@ void bsc_msc_schedule_connect(struct bsc_msc_connection *);
void bsc_msc_lost(struct bsc_msc_connection *);
struct msgb *bsc_msc_id_get_resp(const char *token);
#endif

View File

@ -22,6 +22,7 @@
#include <openbsc/bsc_msc.h>
#include <openbsc/debug.h>
#include <openbsc/ipaccess.h>
#include <osmocore/write_queue.h>
#include <osmocore/talloc.h>
@ -237,4 +238,25 @@ void bsc_msc_schedule_connect(struct bsc_msc_connection *con)
con->reconnect_timer.cb = reconnect_msc;
con->reconnect_timer.data = con;
bsc_schedule_timer(&con->reconnect_timer, 5, 0);
}
struct msgb *bsc_msc_id_get_resp(const char *token)
{
struct msgb *msg;
if (!token) {
LOGP(DMSC, LOGL_ERROR, "No token specified.\n");
return NULL;
}
msg = msgb_alloc_headroom(4096, 128, "id resp");
if (!msg) {
LOGP(DMSC, LOGL_ERROR, "Failed to create the message.\n");
return NULL;
}
msg->l2h = msgb_v_put(msg, IPAC_MSGT_ID_RESP);
msgb_l16tv_put(msg, strlen(token) + 1,
IPAC_IDTAG_UNITNAME, (u_int8_t *) token);
return msg;
}