[abis] Add ACK signal and send it on SET NVATTR ACK

* Add the signal definition to signal.h
* Dispatch the signal from abis_nm.c
* Handle it in ipaccess-config.c and say we are done with work
This commit is contained in:
Holger Hans Peter Freyther 2009-12-29 11:26:38 +01:00
parent e5198967a6
commit 086ffa51b4
3 changed files with 17 additions and 0 deletions

View File

@ -69,6 +69,7 @@ enum signal_nm {
S_NM_FAIL_REP, /* GSM 12.21 failure event report */
S_NM_NACK, /* GSM 12.21 various NM_MT_*_NACK happened */
S_NM_IPACC_NACK, /* GSM 12.21 nanoBTS extensions NM_MT_IPACC_*_*_NACK happened */
S_NM_IPACC_ACK, /* GSM 12.21 nanoBTS extensions NM_MT_IPACC_*_*_ACK happened */
S_NM_TEST_REP, /* GSM 12.21 Test Report */
};

View File

@ -2805,6 +2805,9 @@ static int abis_nm_rx_ipacc(struct msgb *msg)
case NM_MT_IPACC_GET_NVATTR_NACK:
dispatch_signal(SS_NM, S_NM_IPACC_NACK, &foh->msg_type);
break;
case NM_MT_IPACC_SET_NVATTR_ACK:
dispatch_signal(SS_NM, S_NM_IPACC_ACK, &foh->msg_type);
break;
default:
break;
}

View File

@ -83,6 +83,16 @@ static int ipacc_msg_nack(u_int8_t mt)
return 0;
}
static int ipacc_msg_ack(u_int8_t mt)
{
if (sw_load_state == 1) {
fprintf(stderr, "The new software is activaed.\n");
exit(0);
}
return 0;
}
struct ipacc_ferr_elem {
int16_t freq_err;
u_int8_t freq_qual;
@ -170,6 +180,9 @@ static int nm_sig_cb(unsigned int subsys, unsigned int signal,
case S_NM_IPACC_NACK:
msg_type = signal_data;
return ipacc_msg_nack(*msg_type);
case S_NM_IPACC_ACK:
msg_type = signal_data;
return ipacc_msg_ack(*msg_type);
case S_NM_TEST_REP:
return test_rep(signal_data);
default: