diff options
-rw-r--r-- | openbsc/include/openbsc/gsm_data.h | 38 | ||||
-rw-r--r-- | openbsc/include/openbsc/transaction.h | 45 |
2 files changed, 45 insertions, 38 deletions
diff --git a/openbsc/include/openbsc/gsm_data.h b/openbsc/include/openbsc/gsm_data.h index 087123f51..7ada2a13d 100644 --- a/openbsc/include/openbsc/gsm_data.h +++ b/openbsc/include/openbsc/gsm_data.h @@ -99,44 +99,6 @@ struct gsm_lchan; struct gsm_subscriber; struct gsm_mncc; -/* 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 { - } sms; - }; -}; - - /* Network Management State */ struct gsm_nm_state { u_int8_t operational; 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); |