From f65b57a7071acd23ed5429df71393e76907a7283 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 11 Jan 2017 17:25:05 +0100 Subject: [PATCH] Add ctrl command to send OML alert Change-Id: I228cb71ab945e19e3747843469a52f577ee32f97 Related: OS#1615 --- src/common/bts_ctrl_commands.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/common/bts_ctrl_commands.c b/src/common/bts_ctrl_commands.c index 6d223ff71..4efb4ee34 100644 --- a/src/common/bts_ctrl_commands.c +++ b/src/common/bts_ctrl_commands.c @@ -24,11 +24,15 @@ #include #include +#include #include #include #include #include +#include +#include +#include CTRL_CMD_DEFINE(therm_att, "thermal-attenuation"); static int get_therm_att(struct ctrl_cmd *cmd, void *data) @@ -67,12 +71,23 @@ static int verify_therm_att(struct ctrl_cmd *cmd, const char *value, void *data) return 0; } +CTRL_CMD_DEFINE_WO_NOVRF(oml_alert, "oml-alert"); +static int set_oml_alert(struct ctrl_cmd *cmd, void *data) +{ + /* Note: we expect signal dispatch to be synchronous */ + osmo_signal_dispatch(SS_FAIL, OSMO_EVT_EXT_ALARM, cmd->value); + + cmd->reply = "OK"; + + return CTRL_CMD_REPLY; +} int bts_ctrl_cmds_install(struct gsm_bts *bts) { int rc = 0; rc |= ctrl_cmd_install(CTRL_NODE_TRX, &cmd_therm_att); + rc |= ctrl_cmd_install(CTRL_NODE_ROOT, &cmd_oml_alert); return rc; }