hi,
i am thinking about moving sms code from openbsc to libsomocore.
my idea is to move the core code of openbsc to libosmocore's src/gsm and include/osmocom/gsm/ respectively.
one problem is that the transaction structure of osmocombb and openbsc is different. for sms support there could be a common part inside the union of each transaction:
struct gsm_trans { ... union { ... struct { uint8_t link_id; /* RSL Link ID to be used for this trans */ int is_mt; /* is this a MO (0) or MT (1) transfer */ enum gsm411_cp_state cp_state; struct osmo_timer_list cp_timer;
enum gsm411_rp_state rp_state;
struct gsm_sms *sms; } sms; }; };
i would suggest to move the common part to libosmocore and name it "gsm_trans_sms". then both openbsc and osmocombb can use the same sms structure. also the "gsm_sms" structure itself must be generalized and not rely on openbsc structures. (i have not yet looked at it.)
to get reference to the private gsm_trans, openbsc and osmocombb can now use "container_of" in the specific sms glue code.
any ideas / suggestions?
andreas
baseband-devel@lists.osmocom.org