aboutsummaryrefslogtreecommitdiffstats
path: root/src/gsm_04_08.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2008-12-29 00:39:37 +0000
committerHarald Welte <laforge@gnumonks.org>2008-12-29 00:39:37 +0000
commit6f4b753000d12574be13051f0f7df30a587ae822 (patch)
tree1ca5bf1eb39a00cf8a76bdb45d47f75b8aa3c439 /src/gsm_04_08.c
parentb84e2f4f1b6c4f9d902ed2d23fe340b304b21fbd (diff)
turn gsm_cc_tx_simple into gsm_tx_simple
Diffstat (limited to 'src/gsm_04_08.c')
-rw-r--r--src/gsm_04_08.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index 429389164..0bbde18aa 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -475,14 +475,15 @@ static int gsm48_cc_tx_status(struct gsm_lchan *lchan)
return gsm48_cc_sendmsg(msg);
}
-static int gsm48_cc_tx_simple(struct gsm_lchan *lchan, u_int8_t msg_type)
+static int gsm48_tx_simple(struct gsm_lchan *lchan,
+ u_int8_t pdisc, u_int8_t msg_type)
{
struct msgb *msg = gsm48_msgb_alloc();
struct gsm48_hdr *gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh));
msg->lchan = lchan;
- gh->proto_discr = GSM48_PDISC_CC;
+ gh->proto_discr = pdisc;
gh->msg_type = msg_type;
return gsm48_cc_sendmsg(msg);
@@ -495,7 +496,8 @@ static int gsm48_cc_rx_status_enq(struct msgb *msg)
static int gsm48_cc_rx_setup(struct msgb *msg)
{
- return gsm48_cc_tx_simple(msg->lchan, GSM48_MT_CC_CALL_CONF);
+ return gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
+ GSM48_MT_CC_CALL_CONF);
}
static int gsm0408_rcv_cc(struct msgb *msg)
@@ -521,7 +523,8 @@ static int gsm0408_rcv_cc(struct msgb *msg)
case GSM48_MT_CC_CONNECT:
DEBUGP(DCC, "CONNECT\n");
/* MT: need to respond with CONNECT_ACK */
- rc = gsm48_cc_tx_simple(msg->lchan, GSM48_MT_CC_CONNECT_ACK);
+ rc = gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
+ GSM48_MT_CC_CONNECT_ACK);
break;
case GSM48_MT_CC_CONNECT_ACK:
/* MO: Answer to CONNECT */
@@ -540,14 +543,16 @@ static int gsm0408_rcv_cc(struct msgb *msg)
DEBUGP(DCC, "DISCONNECT (state->RELEASE_REQ)\n");
call->state = GSM_CSTATE_RELEASE_REQ;
/* FIXME: clear the network connection */
- rc = gsm48_cc_tx_simple(msg->lchan, GSM48_MT_CC_RELEASE);
+ rc = gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
+ GSM48_MT_CC_RELEASE);
break;
case GSM48_MT_CC_SETUP:
call->type = GSM_CT_MO;
call->state = GSM_CSTATE_INITIATED;
call->transaction_id = gh->proto_discr & 0xf0;
DEBUGP(DCC, "SETUP(tid=0x%02x)\n", call->transaction_id);
- rc = gsm48_cc_tx_simple(msg->lchan, GSM48_MT_CC_CONNECT);
+ rc = gsm48_tx_simple(msg->lchan, GSM48_PDISC_CC,
+ GSM48_MT_CC_CONNECT);
/* FIXME: continue with CALL_PROCEEDING, ALERTING, CONNECT, RELEASE_COMPLETE */
break;
case GSM48_MT_CC_EMERG_SETUP: