From d8daaae91ec0f93238e1800bd6e1370147786488 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 14 Feb 2019 16:54:10 +0700 Subject: transaction: clarify magic 0xff transaction ID Change-Id: I2d3a6334f49989bedbb1430d26ffad8b61dfd873 --- include/osmocom/msc/transaction.h | 3 +++ src/libmsc/gsm_04_08_cc.c | 5 +++-- src/libmsc/gsm_09_11.c | 2 +- src/libmsc/transaction.c | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/osmocom/msc/transaction.h b/include/osmocom/msc/transaction.h index c5c740c50..5e8d637e5 100644 --- a/include/osmocom/msc/transaction.h +++ b/include/osmocom/msc/transaction.h @@ -9,6 +9,9 @@ #include #include +/* Used for late TID assignment */ +#define TRANS_ID_UNASSIGNED 0xff + enum bridge_state { BRIDGE_STATE_NONE, BRIDGE_STATE_LOOPBACK_PENDING, diff --git a/src/libmsc/gsm_04_08_cc.c b/src/libmsc/gsm_04_08_cc.c index b84fd03ca..98c2aa3ec 100644 --- a/src/libmsc/gsm_04_08_cc.c +++ b/src/libmsc/gsm_04_08_cc.c @@ -617,7 +617,7 @@ static int gsm48_cc_tx_setup(struct gsm_trans *trans, void *arg) gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh)); /* transaction id must not be assigned */ - if (trans->transaction_id != 0xff) { /* unasssigned */ + if (trans->transaction_id != TRANS_ID_UNASSIGNED) { DEBUGP(DCC, "TX Setup with assigned transaction. " "This is not allowed!\n"); /* Temporarily out of order */ @@ -1928,7 +1928,8 @@ int mncc_tx_to_cc(struct gsm_network *net, int msg_type, void *arg) GSM48_CC_CAUSE_DEST_OOO); } /* Create transaction */ - trans = trans_alloc(net, vsub, GSM48_PDISC_CC, 0xff, data->callref); + trans = trans_alloc(net, vsub, GSM48_PDISC_CC, + TRANS_ID_UNASSIGNED, data->callref); if (!trans) { LOGP(DCC, LOGL_ERROR, "No memory for trans.\n"); vlr_subscr_put(vsub); diff --git a/src/libmsc/gsm_09_11.c b/src/libmsc/gsm_09_11.c index 08721d47c..d2ad0b7a6 100644 --- a/src/libmsc/gsm_09_11.c +++ b/src/libmsc/gsm_09_11.c @@ -296,7 +296,7 @@ static struct gsm_trans *establish_nc_ss_trans(struct gsm_network *net, /* Allocate a new transaction */ trans = trans_alloc(net, vsub, GSM48_PDISC_NC_SS, - 0xff, gsup_msg->session_id); + TRANS_ID_UNASSIGNED, gsup_msg->session_id); if (!trans) { LOGP(DMM, LOGL_ERROR, " -> No memory for trans\n"); return NULL; diff --git a/src/libmsc/transaction.c b/src/libmsc/transaction.c index 237191d09..23880aa9c 100644 --- a/src/libmsc/transaction.c +++ b/src/libmsc/transaction.c @@ -196,7 +196,7 @@ int trans_assign_trans_id(const struct gsm_network *net, const struct vlr_subscr llist_for_each_entry(trans, &net->trans_list, entry) { if (trans->vsub != vsub || trans->protocol != protocol || - trans->transaction_id == 0xff) + trans->transaction_id == TRANS_ID_UNASSIGNED) continue; used_tid_bitmask |= (1 << trans->transaction_id); } -- cgit v1.2.3