aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/transaction.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-07-26 14:24:11 +0200
committerHarald Welte <laforge@gnumonks.org>2009-07-26 14:24:11 +0200
commit0803b98cc089b499cbaea8cd3284eba60bd71f43 (patch)
tree3d886e4d09ee17c4f77ee0a4a64bb458293e2826 /openbsc/include/openbsc/transaction.h
parentb8b4073e1842cd1de4b432e201865a96baa4c067 (diff)
move definition of 'struct gsm_trans' to transaction.h
Diffstat (limited to 'openbsc/include/openbsc/transaction.h')
-rw-r--r--openbsc/include/openbsc/transaction.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/transaction.h b/openbsc/include/openbsc/transaction.h
index 39ed50035..c51be8175 100644
--- a/openbsc/include/openbsc/transaction.h
+++ b/openbsc/include/openbsc/transaction.h
@@ -3,6 +3,51 @@
#include <openbsc/gsm_data.h>
#include <openbsc/gsm_subscriber.h>
+#include <openbsc/linuxlist.h>
+#include <openbsc/gsm_04_11.h>
+
+/* One transaction */
+struct gsm_trans {
+ /* Entry in list of all transactions */
+ struct llist_head entry;
+
+ /* The protocol within which we live */
+ u_int8_t protocol;
+
+ /* The current transaction ID */
+ u_int8_t transaction_id;
+
+ /* To whom we belong, unique identifier of remote MM entity */
+ struct gsm_subscriber *subscr;
+
+ /* The LCHAN that we're currently using to transmit messages */
+ struct gsm_lchan *lchan;
+
+ /* reference from MNCC or other application */
+ u_int32_t callref;
+
+ union {
+ struct {
+
+ /* current call state */
+ int state;
+
+ /* current timer and message queue */
+ int Tcurrent; /* current CC timer */
+ int T308_second; /* used to send release again */
+ struct timer_list timer;
+ struct gsm_mncc msg; /* stores setup/disconnect/release message */
+ } cc;
+ struct {
+ enum gsm411_cp_state cp_state;
+ enum gsm411_rp_state rp_state;
+
+ struct timer_list timer;
+ } sms;
+ };
+};
+
+
struct gsm_trans *trans_find_by_id(struct gsm_subscriber *subscr,
u_int8_t proto, u_int8_t trans_id);