sysmobts: Move the function add_manufacturer_label_id to oml file

Signed-off-by: Alvaro Neira Ayuso <anayuso@sysmocom.de>
This commit is contained in:
Álvaro Neira Ayuso 2014-05-23 12:06:56 +02:00 committed by Holger Hans Peter Freyther
parent 399b3fe1b4
commit 72e9bc9edb
5 changed files with 30 additions and 23 deletions

View File

@ -10,6 +10,8 @@ enum oml_message_type {
int oml_init(void);
int down_oml(struct gsm_bts *bts, struct msgb *msg);
int oml_add_manufacturer_id_label(struct msgb *msg,
enum oml_message_type vendor_type);
int oml_check_manuf(struct abis_om_hdr *hdr, size_t msg_size);
int oml_check_msg(struct msgb *msg);

View File

@ -160,6 +160,29 @@ struct msgb *oml_msgb_alloc(void)
return msgb_alloc_headroom(1024, 128, "OML");
}
int oml_add_manufacturer_id_label(struct msgb *msg,
enum oml_message_type vendor_type)
{
uint8_t *manuf;
switch (vendor_type) {
case OML_MSG_TYPE_IPA:
manuf = msgb_push(msg, 1 + sizeof(ipaccess_magic));
manuf[0] = sizeof(ipaccess_magic);
memcpy(manuf+1, ipaccess_magic, sizeof(ipaccess_magic));
break;
case OML_MSG_TYPE_OSMO:
manuf = msgb_push(msg, 1 + sizeof(osmocom_magic));
manuf[0] = sizeof(osmocom_magic);
memcpy(manuf+1, osmocom_magic, sizeof(osmocom_magic));
break;
default:
return -1;
}
return 0;
}
int oml_check_manuf(struct abis_om_hdr *hdr, size_t msg_size)
{
if (msg_size < 1) {

View File

@ -24,7 +24,7 @@ sysmobts_mgr_SOURCES = \
misc/sysmobts_mgr.c misc/sysmobts_misc.c \
misc/sysmobts_par.c misc/sysmobts_nl.c utils.c \
misc/sysmobts_mgr_vty.c
sysmobts_mgr_LDADD = $(COMMON_LDADD)
sysmobts_mgr_LDADD = $(top_builddir)/src/common/libbts.a $(COMMON_LDADD)
sysmobts_util_SOURCES = misc/sysmobts_util.c misc/sysmobts_par.c
sysmobts_util_LDADD = $(LIBOSMOCORE_LIBS)

View File

@ -41,6 +41,9 @@
#include <osmocom/gsm/abis_nm.h>
#include <osmocom/gsm/protocol/ipaccess.h>
#include <osmo-bts/bts.h>
#include <osmo-bts/oml.h>
#include "utils.h"
#include "btsconfig.h"
#include "sysmobts_misc.h"
@ -98,7 +101,7 @@ static void add_oml_hdr_msg(struct msgb *msg, uint8_t msg_type,
foh->obj_inst.ts_nr = ts_nr;
if (is_manuf)
add_manufacturer_id_label(msg, MANUF_ID_OSMO);
oml_add_manufacturer_id_label(msg, MANUF_ID_OSMO);
msg->l2h = msgb_push(msg, sizeof(*omh));
omh = (struct abis_om_hdr *) msg->l2h;

View File

@ -187,24 +187,3 @@ int check_ipa_header(struct msgb *msg)
return 0;
}
int add_manufacturer_id_label(struct msgb *msg, enum manuf_type_id type_id)
{
uint8_t *manuf;
switch (type_id) {
case MANUF_ID_IPA:
manuf = msgb_push(msg, 1 + sizeof(ipaccess_magic));
manuf[0] = sizeof(ipaccess_magic);
memcpy(manuf+1, ipaccess_magic, sizeof(ipaccess_magic));
break;
case MANUF_ID_OSMO:
manuf = msgb_push(msg, 1 + sizeof(osmocom_magic));
manuf[0] = sizeof(osmocom_magic);
memcpy(manuf+1, osmocom_magic, sizeof(osmocom_magic));
break;
default:
return -1;
}
return 0;
}