pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-gprs/+/32293 )
Change subject: Rename internal g_ctx -> g_{layer_name}_ctx ......................................................................
Rename internal g_ctx -> g_{layer_name}_ctx
Otherwise if a test includes {layer_name}_private.h from several libraries to use private APIs it will fail due to colliding g_ctx pointers of different types.
Change-Id: Ib8a844551452b79bdb3a81968ffc1fd42ee1c5d9 --- M include/osmocom/gprs/gmm/gmm_private.h M include/osmocom/gprs/llc/llc_private.h M include/osmocom/gprs/rlcmac/rlcmac_private.h M include/osmocom/gprs/sm/sm_private.h M include/osmocom/gprs/sndcp/sndcp_private.h M src/gmm/gmm.c M src/gmm/gmm_ms_fsm.c M src/gmm/gmm_prim.c M src/llc/llc.c M src/llc/llc_ll.c M src/llc/llc_llgmm.c M src/llc/llc_prim.c M src/rlcmac/gre.c M src/rlcmac/rlcmac.c M src/rlcmac/rlcmac_prim.c M src/rlcmac/sched.c M src/rlcmac/tbf.c M src/rlcmac/tbf_dl.c M src/rlcmac/tbf_dl_ass_fsm.c M src/rlcmac/tbf_dl_fsm.c M src/rlcmac/tbf_ul.c M src/rlcmac/tbf_ul_ass_fsm.c M src/rlcmac/tbf_ul_fsm.c M src/sm/sm.c M src/sm/sm_ms_fsm.c M src/sm/sm_prim.c M src/sndcp/sndcp.c M src/sndcp/sndcp_prim.c 28 files changed, 250 insertions(+), 237 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/include/osmocom/gprs/gmm/gmm_private.h b/include/osmocom/gprs/gmm/gmm_private.h index 473c670..21c7467 100644 --- a/include/osmocom/gprs/gmm/gmm_private.h +++ b/include/osmocom/gprs/gmm/gmm_private.h @@ -46,7 +46,7 @@ struct llist_head gmme_list; /* list of struct gprs_gmm_entity->list */ };
-extern struct gprs_gmm_ctx *g_ctx; +extern struct gprs_gmm_ctx *g_gmm_ctx;
/* GMM Entity: */ struct gprs_gmm_entity { diff --git a/include/osmocom/gprs/llc/llc_private.h b/include/osmocom/gprs/llc/llc_private.h index 1db33b6..3f7ee15 100644 --- a/include/osmocom/gprs/llc/llc_private.h +++ b/include/osmocom/gprs/llc/llc_private.h @@ -273,7 +273,7 @@ struct llist_head llme_list; };
-extern struct gprs_llc_ctx *g_ctx; +extern struct gprs_llc_ctx *g_llc_ctx;
/* llc_bssgp.c */ int gprs_llc_prim_lower_up_bssgp(struct osmo_gprs_llc_prim *llc_prim); @@ -367,7 +367,7 @@ /* 6.2.2 Command/Response bit (C/R) */ static inline bool gprs_llc_received_cr_is_cmd(uint8_t cr) { - if (g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) + if (g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) return !cr; /*received from MS */ else return !!cr; /*received from SGSN */ @@ -376,7 +376,7 @@
static inline void gprs_llc_encode_is_cmd_as_cr(bool is_cmd, uint32_t *flags) { - if (g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) + if (g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) *flags |= OSMO_GPRS_LLC_PDU_F_CMD_RSP; /*Transmit to MS */ else *flags &= ~OSMO_GPRS_LLC_PDU_F_CMD_RSP; /* Transmit to SGSN */ diff --git a/include/osmocom/gprs/rlcmac/rlcmac_private.h b/include/osmocom/gprs/rlcmac/rlcmac_private.h index cd03066..da7ba67 100644 --- a/include/osmocom/gprs/rlcmac/rlcmac_private.h +++ b/include/osmocom/gprs/rlcmac/rlcmac_private.h @@ -82,7 +82,7 @@ SI13_RestOctets_t si13ro; };
-extern struct gprs_rlcmac_ctx *g_ctx; +extern struct gprs_rlcmac_ctx *g_rlcmac_ctx;
/* rlcmac.c */ struct gprs_rlcmac_entity *gprs_rlcmac_find_entity_by_tlli(uint32_t tlli); diff --git a/include/osmocom/gprs/sm/sm_private.h b/include/osmocom/gprs/sm/sm_private.h index b0043e6..58b4a61 100644 --- a/include/osmocom/gprs/sm/sm_private.h +++ b/include/osmocom/gprs/sm/sm_private.h @@ -89,7 +89,7 @@ uint32_t next_sess_id; };
-extern struct gprs_sm_ctx *g_ctx; +extern struct gprs_sm_ctx *g_sm_ctx;
/* SM Entity, PDP CTX */ struct gprs_sm_entity { diff --git a/include/osmocom/gprs/sndcp/sndcp_private.h b/include/osmocom/gprs/sndcp/sndcp_private.h index 37fac23..6f4da3b 100644 --- a/include/osmocom/gprs/sndcp/sndcp_private.h +++ b/include/osmocom/gprs/sndcp/sndcp_private.h @@ -97,7 +97,7 @@ struct gprs_sndcp_ctx_cfg cfg; };
-extern struct gprs_sndcp_ctx *g_ctx; +extern struct gprs_sndcp_ctx *g_sndcp_ctx;
/* A fragment queue header, maintaining list of fragments for one N-PDU */ diff --git a/src/gmm/gmm.c b/src/gmm/gmm.c index e97b398..fbe7d40 100644 --- a/src/gmm/gmm.c +++ b/src/gmm/gmm.c @@ -34,7 +34,7 @@ #include <osmocom/gprs/gmm/gmm_pdu.h>
-struct gprs_gmm_ctx *g_ctx; +struct gprs_gmm_ctx *g_gmm_ctx;
/* Section 11.2.2 / Table 11.3 GPRS Mobility management timers - MS side */ #define GSM0408_T3310_SECS 15 @@ -82,10 +82,10 @@ { struct gprs_gmm_entity *gmme;
- while ((gmme = llist_first_entry_or_null(&g_ctx->gmme_list, struct gprs_gmm_entity, list))) + while ((gmme = llist_first_entry_or_null(&g_gmm_ctx->gmme_list, struct gprs_gmm_entity, list))) gprs_gmm_gmme_free(gmme);
- talloc_free(g_ctx); + talloc_free(g_gmm_ctx); }
int osmo_gprs_gmm_init(enum osmo_gprs_gmm_location location) @@ -94,22 +94,22 @@ int rc; OSMO_ASSERT(location == OSMO_GPRS_GMM_LOCATION_MS || location == OSMO_GPRS_GMM_LOCATION_NETWORK)
- if (g_ctx) { + if (g_gmm_ctx) { first_init = false; gprs_gmm_ctx_free(); }
- g_ctx = talloc_zero(NULL, struct gprs_gmm_ctx); - g_ctx->location = location; - g_ctx->T_defs = T_defs_gmm; - INIT_LLIST_HEAD(&g_ctx->gmme_list); + g_gmm_ctx = talloc_zero(NULL, struct gprs_gmm_ctx); + g_gmm_ctx->location = location; + g_gmm_ctx->T_defs = T_defs_gmm; + INIT_LLIST_HEAD(&g_gmm_ctx->gmme_list);
- osmo_tdefs_reset(g_ctx->T_defs); + osmo_tdefs_reset(g_gmm_ctx->T_defs);
if (first_init) { rc = gprs_gmm_ms_fsm_init(); if (rc != 0) { - TALLOC_FREE(g_ctx); + TALLOC_FREE(g_gmm_ctx); return rc; } } @@ -124,15 +124,15 @@ struct gprs_gmm_entity *gmme; int ev;
- if (g_ctx->gprs_enabled == enable_gprs) + if (g_gmm_ctx->gprs_enabled == enable_gprs) return;
- g_ctx->gprs_enabled = enable_gprs; + g_gmm_ctx->gprs_enabled = enable_gprs;
/* Inform all existing MS: */ ev = enable_gprs ? GPRS_GMM_MS_EV_ENABLE_GPRS_MODE : GPRS_GMM_MS_EV_DISABLE_GPRS_MODE; - llist_for_each_entry(gmme, &g_ctx->gmme_list, list) + llist_for_each_entry(gmme, &g_gmm_ctx->gmme_list, list) osmo_fsm_inst_dispatch(gmme->ms_fsm.fi, ev, NULL); }
@@ -140,7 +140,7 @@ { struct gprs_gmm_entity *gmme;
- gmme = talloc_zero(g_ctx, struct gprs_gmm_entity); + gmme = talloc_zero(g_gmm_ctx, struct gprs_gmm_entity); if (!gmme) return NULL;
@@ -151,10 +151,10 @@
/* Initialize timers to default values. They may be overwritten by the * network later on: */ - gmme->t3302 = osmo_tdef_get(g_ctx->T_defs, 3302, OSMO_TDEF_S, -1); - gmme->t3346 = osmo_tdef_get(g_ctx->T_defs, 3346, OSMO_TDEF_S, -1); + gmme->t3302 = osmo_tdef_get(g_gmm_ctx->T_defs, 3302, OSMO_TDEF_S, -1); + gmme->t3346 = osmo_tdef_get(g_gmm_ctx->T_defs, 3346, OSMO_TDEF_S, -1);
- llist_add(&gmme->list, &g_ctx->gmme_list); + llist_add(&gmme->list, &g_gmm_ctx->gmme_list);
return gmme; } @@ -174,7 +174,7 @@ { struct gprs_gmm_entity *gmme;
- llist_for_each_entry(gmme, &g_ctx->gmme_list, list) { + llist_for_each_entry(gmme, &g_gmm_ctx->gmme_list, list) { if (gmme->ptmsi == tlli || gmme->old_ptmsi == tlli) return gmme; } diff --git a/src/gmm/gmm_ms_fsm.c b/src/gmm/gmm_ms_fsm.c index 92bf6f2..902a86f 100644 --- a/src/gmm/gmm_ms_fsm.c +++ b/src/gmm/gmm_ms_fsm.c @@ -41,7 +41,7 @@ };
#define gmm_ms_fsm_state_chg(fi, NEXT_STATE) \ - osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, gmm_ms_fsm_timeouts, g_ctx->T_defs, -1) + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, gmm_ms_fsm_timeouts, g_gmm_ctx->T_defs, -1)
static int reinit_attach_proc(struct gprs_gmm_ms_fsm_ctx *ctx) @@ -52,7 +52,7 @@
/* Rearm T3110 */ OSMO_ASSERT(ctx->fi->T == 3110); - val_sec = osmo_tdef_get(g_ctx->T_defs, ctx->fi->T, OSMO_TDEF_S, -1); + val_sec = osmo_tdef_get(g_gmm_ctx->T_defs, ctx->fi->T, OSMO_TDEF_S, -1); osmo_timer_schedule(&ctx->fi->timer, val_sec, 0); return gprs_gmm_tx_att_req(ctx->gmme, ctx->attach.type, @@ -397,7 +397,7 @@ return -ENODATA;
/* Transition to state GMM-DEREGISTERED right away if GPRS is enabled: */ - if (g_ctx->gprs_enabled) + if (g_gmm_ctx->gprs_enabled) osmo_fsm_inst_dispatch(ctx->fi, GPRS_GMM_MS_EV_ENABLE_GPRS_MODE, NULL);
return 0; diff --git a/src/gmm/gmm_prim.c b/src/gmm/gmm_prim.c index 9888e50..69e74a2 100644 --- a/src/gmm/gmm_prim.c +++ b/src/gmm/gmm_prim.c @@ -133,22 +133,22 @@ /* Set callback used by GMM layer to push primitives to higher layers in protocol stack */ void osmo_gprs_gmm_prim_set_up_cb(osmo_gprs_gmm_prim_up_cb up_cb, void *up_user_data) { - g_ctx->gmm_up_cb = up_cb; - g_ctx->gmm_up_cb_user_data = up_user_data; + g_gmm_ctx->gmm_up_cb = up_cb; + g_gmm_ctx->gmm_up_cb_user_data = up_user_data; }
/* Set callback used by GMM layer to push primitives to lower layers in protocol stack */ void osmo_gprs_gmm_prim_set_down_cb(osmo_gprs_gmm_prim_down_cb down_cb, void *down_user_data) { - g_ctx->gmm_down_cb = down_cb; - g_ctx->gmm_down_cb_user_data = down_user_data; + g_gmm_ctx->gmm_down_cb = down_cb; + g_gmm_ctx->gmm_down_cb_user_data = down_user_data; }
/* Set callback used by GMM layer to push primitives to LLC lower layer in protocol stack */ void osmo_gprs_gmm_prim_set_llc_down_cb(osmo_gprs_gmm_prim_llc_down_cb llc_down_cb, void *llc_down_user_data) { - g_ctx->gmm_llc_down_cb = llc_down_cb; - g_ctx->gmm_llc_down_cb_user_data = llc_down_user_data; + g_gmm_ctx->gmm_llc_down_cb = llc_down_cb; + g_gmm_ctx->gmm_llc_down_cb_user_data = llc_down_user_data; }
/******************************** @@ -342,10 +342,10 @@ int gprs_gmm_prim_call_up_cb(struct osmo_gprs_gmm_prim *gmm_prim) { int rc; - if (g_ctx->gmm_up_cb) - rc = g_ctx->gmm_up_cb(gmm_prim, g_ctx->gmm_up_cb_user_data); + if (g_gmm_ctx->gmm_up_cb) + rc = g_gmm_ctx->gmm_up_cb(gmm_prim, g_gmm_ctx->gmm_up_cb_user_data); else - rc = gmm_up_cb_dummy(gmm_prim, g_ctx->gmm_up_cb_user_data); + rc = gmm_up_cb_dummy(gmm_prim, g_gmm_ctx->gmm_up_cb_user_data); msgb_free(gmm_prim->oph.msg); return rc; } @@ -356,7 +356,7 @@ int rc; struct gprs_gmm_entity *gmme;
- gmme = llist_first_entry_or_null(&g_ctx->gmme_list, struct gprs_gmm_entity, list); + gmme = llist_first_entry_or_null(&g_gmm_ctx->gmme_list, struct gprs_gmm_entity, list); if (!gmme) { gmme = gprs_gmm_gmme_alloc(); OSMO_ASSERT(gmme); @@ -417,7 +417,7 @@ int rc; struct gprs_gmm_entity *gmme;
- gmme = llist_first_entry_or_null(&g_ctx->gmme_list, struct gprs_gmm_entity, list); + gmme = llist_first_entry_or_null(&g_gmm_ctx->gmme_list, struct gprs_gmm_entity, list); if (!gmme) { gmme = gprs_gmm_gmme_alloc(); OSMO_ASSERT(gmme); @@ -501,10 +501,10 @@ int gprs_gmm_prim_call_down_cb(struct osmo_gprs_gmm_prim *gmm_prim) { int rc; - if (g_ctx->gmm_down_cb) - rc = g_ctx->gmm_down_cb(gmm_prim, g_ctx->gmm_down_cb_user_data); + if (g_gmm_ctx->gmm_down_cb) + rc = g_gmm_ctx->gmm_down_cb(gmm_prim, g_gmm_ctx->gmm_down_cb_user_data); else - rc = gmm_down_cb_dummy(gmm_prim, g_ctx->gmm_down_cb_user_data); + rc = gmm_down_cb_dummy(gmm_prim, g_gmm_ctx->gmm_down_cb_user_data); msgb_free(gmm_prim->oph.msg); return rc; } @@ -527,7 +527,7 @@ /* GMM lower layers (LLC) push GMM primitive up to GMM layer: */ int osmo_gprs_gmm_prim_lower_up(struct osmo_gprs_gmm_prim *gmm_prim) { - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_gmm_ctx); OSMO_ASSERT(gmm_prim); struct msgb *msg = gmm_prim->oph.msg; int rc; @@ -554,10 +554,10 @@ int gprs_gmm_prim_call_llc_down_cb(struct osmo_gprs_llc_prim *llc_prim) { int rc; - if (g_ctx->gmm_llc_down_cb) - rc = g_ctx->gmm_llc_down_cb(llc_prim, g_ctx->gmm_llc_down_cb_user_data); + if (g_gmm_ctx->gmm_llc_down_cb) + rc = g_gmm_ctx->gmm_llc_down_cb(llc_prim, g_gmm_ctx->gmm_llc_down_cb_user_data); else - rc = gmm_llc_down_cb_dummy(llc_prim, g_ctx->gmm_llc_down_cb_user_data); + rc = gmm_llc_down_cb_dummy(llc_prim, g_gmm_ctx->gmm_llc_down_cb_user_data); /* Special return value '1' means: do not free */ if (rc != 1) msgb_free(llc_prim->oph.msg); @@ -635,7 +635,7 @@ /* GMM lower layers (LLC) push GMM primitive up to GMM layer: */ int osmo_gprs_gmm_prim_llc_lower_up(struct osmo_gprs_llc_prim *llc_prim) { - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_gmm_ctx); OSMO_ASSERT(llc_prim); struct msgb *msg = llc_prim->oph.msg; int rc; diff --git a/src/llc/llc.c b/src/llc/llc.c index 2ad0228..e9e8e3b 100644 --- a/src/llc/llc.c +++ b/src/llc/llc.c @@ -34,7 +34,7 @@ #include <osmocom/gprs/llc/llc_private.h>
-struct gprs_llc_ctx *g_ctx; +struct gprs_llc_ctx *g_llc_ctx;
const struct value_string gprs_llc_llme_state_names[] = { { OSMO_GPRS_LLC_LLMS_UNASSIGNED, "UNASSIGNED" }, @@ -125,10 +125,10 @@ { struct gprs_llc_llme *llme;
- while ((llme = llist_first_entry_or_null(&g_ctx->llme_list, struct gprs_llc_llme, list))) + while ((llme = llist_first_entry_or_null(&g_llc_ctx->llme_list, struct gprs_llc_llme, list))) gprs_llc_llme_free(llme);
- talloc_free(g_ctx); + talloc_free(g_llc_ctx); }
int osmo_gprs_llc_init(enum osmo_gprs_llc_location location, const char *cipher_plugin_path) @@ -141,12 +141,12 @@ return rc; }
- if (g_ctx) + if (g_llc_ctx) gprs_llc_ctx_free();
- g_ctx = talloc_zero(NULL, struct gprs_llc_ctx); - g_ctx->location = location; - INIT_LLIST_HEAD(&g_ctx->llme_list); + g_llc_ctx = talloc_zero(NULL, struct gprs_llc_ctx); + g_llc_ctx->location = location; + INIT_LLIST_HEAD(&g_llc_ctx->llme_list); return 0; }
@@ -167,7 +167,7 @@ struct gprs_llc_llme *llme; uint32_t i;
- llme = talloc_zero(g_ctx, struct gprs_llc_llme); + llme = talloc_zero(g_llc_ctx, struct gprs_llc_llme); if (!llme) return NULL;
@@ -180,7 +180,7 @@ for (i = 0; i < ARRAY_SIZE(llme->lle); i++) lle_init(llme, i);
- llist_add(&llme->list, &g_ctx->llme_list); + llist_add(&llme->list, &g_llc_ctx->llme_list);
//llme->comp.proto = gprs_sndcp_comp_alloc(llme); //llme->comp.data = gprs_sndcp_comp_alloc(llme); @@ -203,7 +203,7 @@ { struct gprs_llc_llme *llme;
- llist_for_each_entry(llme, &g_ctx->llme_list, list) { + llist_for_each_entry(llme, &g_llc_ctx->llme_list, list) { if (llme->tlli == tlli || llme->old_tlli == tlli) return llme; } @@ -319,7 +319,7 @@ /* TODO: we are probably missing the ciphering enc part, see osmo-sgsn apply_gea() */
/* LLC payload is put directly below: */ - if (g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) + if (g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) llc_prim = gprs_llc_prim_alloc_bssgp_dl_unitdata_req(lle->llme->tlli, NULL, 4096 - sizeof(llc_prim)); else llc_prim = gprs_llc_prim_alloc_grr_unitdata_req(lle->llme->tlli, NULL, 4096 - sizeof(llc_prim)); @@ -333,7 +333,7 @@ return rc; }
- if (g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) { + if (g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN) { llc_prim->bssgp.ll_pdu = msgb_l3(msg); llc_prim->bssgp.ll_pdu_len = msgb_l3len(msg); } else { diff --git a/src/llc/llc_ll.c b/src/llc/llc_ll.c index 51038af..72ef889 100644 --- a/src/llc/llc_ll.c +++ b/src/llc/llc_ll.c @@ -244,18 +244,18 @@ int rc; switch (OSMO_PRIM_HDR(&llc_prim->oph)) { case OSMO_PRIM(OSMO_GPRS_LLC_LL_XID, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = llc_prim_handle_ll_xid_req(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LL_XID, PRIM_OP_RESPONSE): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = llc_prim_handle_ll_xid_resp(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LL_UNITDATA, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = llc_prim_handle_ll_unitdata_req(llc_prim); break; /* TODO: others */ diff --git a/src/llc/llc_llgmm.c b/src/llc/llc_llgmm.c index 9797456..cd8c189 100644 --- a/src/llc/llc_llgmm.c +++ b/src/llc/llc_llgmm.c @@ -244,40 +244,40 @@ int rc; switch (OSMO_PRIM_HDR(&llc_prim->oph)) { case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_ASSIGN, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = llc_prim_handle_llgm_assign_req(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_RESET, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = llc_prim_handle_llgm_reset_req(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_TRIGGER, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS); rc = gprs_llc_prim_handle_unsupported(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_SUSPEND, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = gprs_llc_prim_handle_unsupported(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_RESUME, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = gprs_llc_prim_handle_unsupported(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_IOV, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = gprs_llc_prim_handle_unsupported(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_PSHO, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = gprs_llc_prim_handle_unsupported(llc_prim); break; case OSMO_PRIM(OSMO_GPRS_LLC_LLGMM_ASSIGN_UP, PRIM_OP_REQUEST): - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || - g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS || + g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = gprs_llc_prim_handle_unsupported(llc_prim); break; default: diff --git a/src/llc/llc_prim.c b/src/llc/llc_prim.c index d653f03..4b520ad 100644 --- a/src/llc/llc_prim.c +++ b/src/llc/llc_prim.c @@ -83,15 +83,15 @@ /* Set callback used by LLC layer to push primitives to higher layers in protocol stack */ void osmo_gprs_llc_prim_set_up_cb(osmo_gprs_llc_prim_up_cb up_cb, void *up_user_data) { - g_ctx->llc_up_cb = up_cb; - g_ctx->llc_up_cb_user_data = up_user_data; + g_llc_ctx->llc_up_cb = up_cb; + g_llc_ctx->llc_up_cb_user_data = up_user_data; }
/* Set callback used by LLC layer to push primitives to lower layers in protocol stack */ void osmo_gprs_llc_prim_set_down_cb(osmo_gprs_llc_prim_down_cb down_cb, void *down_user_data) { - g_ctx->llc_down_cb = down_cb; - g_ctx->llc_down_cb_user_data = down_user_data; + g_llc_ctx->llc_down_cb = down_cb; + g_llc_ctx->llc_down_cb_user_data = down_user_data; }
/******************************** @@ -138,10 +138,10 @@ int gprs_llc_prim_call_up_cb(struct osmo_gprs_llc_prim *llc_prim) { int rc; - if (g_ctx->llc_up_cb) - rc = g_ctx->llc_up_cb(llc_prim, g_ctx->llc_up_cb_user_data); + if (g_llc_ctx->llc_up_cb) + rc = g_llc_ctx->llc_up_cb(llc_prim, g_llc_ctx->llc_up_cb_user_data); else - rc = llc_up_cb_dummy(llc_prim, g_ctx->llc_up_cb_user_data); + rc = llc_up_cb_dummy(llc_prim, g_llc_ctx->llc_up_cb_user_data); /* Special return value '1' means: do not free */ if (rc != 1) msgb_free(llc_prim->oph.msg); @@ -152,7 +152,7 @@ int osmo_gprs_llc_prim_upper_down(struct osmo_gprs_llc_prim *llc_prim) { int rc; - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_llc_ctx);
LOGLLC(LOGL_INFO, "Rx from upper layers: %s\n", osmo_gprs_llc_prim_name(llc_prim));
@@ -176,10 +176,10 @@ int gprs_llc_prim_call_down_cb(struct osmo_gprs_llc_prim *llc_prim) { int rc; - if (g_ctx->llc_down_cb) - rc = g_ctx->llc_down_cb(llc_prim, g_ctx->llc_down_cb_user_data); + if (g_llc_ctx->llc_down_cb) + rc = g_llc_ctx->llc_down_cb(llc_prim, g_llc_ctx->llc_down_cb_user_data); else - rc = llc_down_cb_dummy(llc_prim, g_ctx->llc_down_cb_user_data); + rc = llc_down_cb_dummy(llc_prim, g_llc_ctx->llc_down_cb_user_data); /* Special return value '1' means: do not free */ if (rc != 1) msgb_free(llc_prim->oph.msg); @@ -191,7 +191,7 @@ /* LLC lower layers push LLC primitive up to LLC layer: */ int osmo_gprs_llc_prim_lower_up(struct osmo_gprs_llc_prim *llc_prim) { - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_llc_ctx); OSMO_ASSERT(llc_prim); struct msgb *msg = llc_prim->oph.msg; int rc; @@ -200,11 +200,11 @@
switch (llc_prim->oph.sap) { case OSMO_GPRS_LLC_SAP_GRR: - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_MS); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_MS); rc = gprs_llc_prim_lower_up_grr(llc_prim); break; case OSMO_GPRS_LLC_SAP_BSSGP: - OSMO_ASSERT(g_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); + OSMO_ASSERT(g_llc_ctx->location == OSMO_GPRS_LLC_LOCATION_SGSN); rc = gprs_llc_prim_lower_up_bssgp(llc_prim); break; default: diff --git a/src/rlcmac/gre.c b/src/rlcmac/gre.c index 2bab3c1..fe18a43 100644 --- a/src/rlcmac/gre.c +++ b/src/rlcmac/gre.c @@ -40,7 +40,7 @@ struct gprs_rlcmac_entity *gre; int rc;
- gre = talloc_zero(g_ctx, struct gprs_rlcmac_entity); + gre = talloc_zero(g_rlcmac_ctx, struct gprs_rlcmac_entity); if (!gre) return NULL;
@@ -48,15 +48,15 @@ if (!gre->llc_queue) goto err_free_gre; gprs_rlcmac_llc_queue_set_codel_params(gre->llc_queue, - g_ctx->cfg.codel.use, - g_ctx->cfg.codel.interval_msec); + g_rlcmac_ctx->cfg.codel.use, + g_rlcmac_ctx->cfg.codel.interval_msec);
rc = gprs_rlcmac_tbf_dl_ass_fsm_constructor(&gre->dl_tbf_dl_ass_fsm, gre); if (rc < 0) goto err_free_gre;
gre->tlli = tlli; - llist_add_tail(&gre->entry, &g_ctx->gre_list); + llist_add_tail(&gre->entry, &g_rlcmac_ctx->gre_list);
return gre;
diff --git a/src/rlcmac/rlcmac.c b/src/rlcmac/rlcmac.c index 574ff5a..00b45ff 100644 --- a/src/rlcmac/rlcmac.c +++ b/src/rlcmac/rlcmac.c @@ -40,7 +40,7 @@
#define GPRS_CODEL_SLOW_INTERVAL_MS 4000
-struct gprs_rlcmac_ctx *g_ctx; +struct gprs_rlcmac_ctx *g_rlcmac_ctx;
/* TS 44.060 Table 13.1.1 */ static struct osmo_tdef T_defs_rlcmac[] = { @@ -56,10 +56,10 @@ { struct gprs_rlcmac_entity *gre;
- while ((gre = llist_first_entry_or_null(&g_ctx->gre_list, struct gprs_rlcmac_entity, entry))) + while ((gre = llist_first_entry_or_null(&g_rlcmac_ctx->gre_list, struct gprs_rlcmac_entity, entry))) gprs_rlcmac_entity_free(gre);
- talloc_free(g_ctx); + talloc_free(g_rlcmac_ctx); }
int osmo_gprs_rlcmac_init(enum osmo_gprs_rlcmac_location location) @@ -69,48 +69,48 @@ unsigned int i; OSMO_ASSERT(location == OSMO_GPRS_RLCMAC_LOCATION_MS || location == OSMO_GPRS_RLCMAC_LOCATION_PCU)
- if (g_ctx) { + if (g_rlcmac_ctx) { gprs_rlcmac_ctx_free(); first_init = false; }
- g_ctx = talloc_zero(NULL, struct gprs_rlcmac_ctx); - g_ctx->cfg.location = location; - g_ctx->cfg.codel.use = true; - g_ctx->cfg.codel.interval_msec = GPRS_CODEL_SLOW_INTERVAL_MS; - g_ctx->cfg.egprs_arq_type = GPRS_RLCMAC_EGPRS_ARQ1; - g_ctx->cfg.ul_tbf_preemptive_retransmission = true; - g_ctx->T_defs = T_defs_rlcmac; - INIT_LLIST_HEAD(&g_ctx->gre_list); + g_rlcmac_ctx = talloc_zero(NULL, struct gprs_rlcmac_ctx); + g_rlcmac_ctx->cfg.location = location; + g_rlcmac_ctx->cfg.codel.use = true; + g_rlcmac_ctx->cfg.codel.interval_msec = GPRS_CODEL_SLOW_INTERVAL_MS; + g_rlcmac_ctx->cfg.egprs_arq_type = GPRS_RLCMAC_EGPRS_ARQ1; + g_rlcmac_ctx->cfg.ul_tbf_preemptive_retransmission = true; + g_rlcmac_ctx->T_defs = T_defs_rlcmac; + INIT_LLIST_HEAD(&g_rlcmac_ctx->gre_list);
- osmo_tdefs_reset(g_ctx->T_defs); + osmo_tdefs_reset(g_rlcmac_ctx->T_defs);
if (first_init) { rc = gprs_rlcmac_tbf_dl_ass_fsm_init(); if (rc != 0) { - TALLOC_FREE(g_ctx); + TALLOC_FREE(g_rlcmac_ctx); return rc; } rc = gprs_rlcmac_tbf_dl_fsm_init(); if (rc != 0) { - TALLOC_FREE(g_ctx); + TALLOC_FREE(g_rlcmac_ctx); return rc; } rc = gprs_rlcmac_tbf_ul_fsm_init(); if (rc != 0) { - TALLOC_FREE(g_ctx); + TALLOC_FREE(g_rlcmac_ctx); return rc; } rc = gprs_rlcmac_tbf_ul_ass_fsm_init(); if (rc != 0) { - TALLOC_FREE(g_ctx); + TALLOC_FREE(g_rlcmac_ctx); return rc; } }
- for (i = 0; i < ARRAY_SIZE(g_ctx->sched.ulc); i++) { - g_ctx->sched.ulc[i] = gprs_rlcmac_pdch_ulc_alloc(g_ctx, i); - OSMO_ASSERT(g_ctx->sched.ulc[i]); + for (i = 0; i < ARRAY_SIZE(g_rlcmac_ctx->sched.ulc); i++) { + g_rlcmac_ctx->sched.ulc[i] = gprs_rlcmac_pdch_ulc_alloc(g_rlcmac_ctx, i); + OSMO_ASSERT(g_rlcmac_ctx->sched.ulc[i]); }
return 0; @@ -126,8 +126,8 @@ if (interval_msec == 0) interval_msec = GPRS_CODEL_SLOW_INTERVAL_MS;
- g_ctx->cfg.codel.use = use; - g_ctx->cfg.codel.interval_msec = interval_msec; + g_rlcmac_ctx->cfg.codel.use = use; + g_rlcmac_ctx->cfg.codel.interval_msec = interval_msec; return 0; }
@@ -135,7 +135,7 @@ { struct gprs_rlcmac_entity *gre;
- llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { if (gre->tlli == tlli) return gre; } @@ -146,7 +146,7 @@ { struct gprs_rlcmac_entity *gre;
- llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { if (!gre->dl_tbf) continue; if (gre->dl_tbf->cur_alloc.dl_tfi != dl_tfi) @@ -160,7 +160,7 @@ { struct gprs_rlcmac_entity *gre;
- llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { if (!gre->ul_tbf) continue; if (gre->ul_tbf->cur_alloc.ul_tfi != ul_tfi) @@ -182,7 +182,7 @@ .iaro = iaro };
- llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { ul_tbf = gre->ul_tbf; if (!ul_tbf) continue; @@ -309,9 +309,9 @@ int rc;
LOGRLCMAC(LOGL_DEBUG, "Rx SI13 from lower layers\n"); - memcpy(g_ctx->si13, si13, GSM_MACBLOCK_LEN); + memcpy(g_rlcmac_ctx->si13, si13, GSM_MACBLOCK_LEN);
- rc = osmo_gprs_rlcmac_decode_si13ro(&g_ctx->si13ro, si13->rest_octets, + rc = osmo_gprs_rlcmac_decode_si13ro(&g_rlcmac_ctx->si13ro, si13->rest_octets, GSM_MACBLOCK_LEN - offsetof(struct gsm48_system_information_type_13, rest_octets)); if (rc < 0) { LOGRLCMAC(LOGL_ERROR, "Error decoding SI13: %s\n", @@ -319,16 +319,16 @@ return rc; }
- g_ctx->si13_available = true; + g_rlcmac_ctx->si13_available = true;
/* Update tdef for T3168: * TS 44.060 Table 12.24.2: Range: 0 to 7. The timeout value is given as the binary value plus one in units of 500 ms. */ - osmo_tdef_set(g_ctx->T_defs, 3168, - (g_ctx->si13ro.u.PBCCH_Not_present.GPRS_Cell_Options.T3168 + 1) * 500, + osmo_tdef_set(g_rlcmac_ctx->T_defs, 3168, + (g_rlcmac_ctx->si13ro.u.PBCCH_Not_present.GPRS_Cell_Options.T3168 + 1) * 500, OSMO_TDEF_MS);
/* TODO: Update tdef for T3192 as per TS 44.060 Table 12.24.2 - * osmo_tdef_set(g_ctx->T_defs, 3192, si13ro.u.PBCCH_Not_present.GPRS_Cell_Options.T3192, enum osmo_tdef_unit val_unit); + * osmo_tdef_set(g_rlcmac_ctx->T_defs, 3192, si13ro.u.PBCCH_Not_present.GPRS_Cell_Options.T3192, enum osmo_tdef_unit val_unit); */
return rc; @@ -402,7 +402,7 @@
if (dl_block->SP) { uint32_t poll_fn = rrbp2fn(rlcmac_prim->l1ctl.pdch_data_ind.fn, dl_block->RRBP); - gprs_rlcmac_pdch_ulc_reserve(g_ctx->sched.ulc[rlcmac_prim->l1ctl.pdch_data_ind.ts_nr], + gprs_rlcmac_pdch_ulc_reserve(g_rlcmac_ctx->sched.ulc[rlcmac_prim->l1ctl.pdch_data_ind.ts_nr], poll_fn, GPRS_RLCMAC_PDCH_ULC_POLL_DL_ASS, gre); @@ -429,7 +429,7 @@ /* If RRBP contains valid data, schedule a response (PKT CONTROL ACK or PKT RESOURCE REQ). */ if (dl_block->SP) { uint32_t poll_fn = rrbp2fn(rlcmac_prim->l1ctl.pdch_data_ind.fn, dl_block->RRBP); - gprs_rlcmac_pdch_ulc_reserve(g_ctx->sched.ulc[rlcmac_prim->l1ctl.pdch_data_ind.ts_nr], poll_fn, + gprs_rlcmac_pdch_ulc_reserve(g_rlcmac_ctx->sched.ulc[rlcmac_prim->l1ctl.pdch_data_ind.ts_nr], poll_fn, GPRS_RLCMAC_PDCH_ULC_POLL_UL_ACK, ul_tbf_as_tbf(ul_tbf)); } @@ -485,11 +485,11 @@ size_t max_len = gprs_rlcmac_mcs_max_bytes_dl(GPRS_RLCMAC_CS_1); int rc;
- bv = bitvec_alloc(max_len, g_ctx); + bv = bitvec_alloc(max_len, g_rlcmac_ctx); OSMO_ASSERT(bv); bitvec_unpack(bv, rlcmac_prim->l1ctl.pdch_data_ind.data);
- dl_ctrl_block = (RlcMacDownlink_t *)talloc_zero(g_ctx, RlcMacDownlink_t); + dl_ctrl_block = (RlcMacDownlink_t *)talloc_zero(g_rlcmac_ctx, RlcMacDownlink_t); OSMO_ASSERT(dl_ctrl_block); rc = osmo_gprs_rlcmac_decode_downlink(bv, dl_ctrl_block); if (rc < 0) { diff --git a/src/rlcmac/rlcmac_prim.c b/src/rlcmac/rlcmac_prim.c index 8f27ff7..e6f151a 100644 --- a/src/rlcmac/rlcmac_prim.c +++ b/src/rlcmac/rlcmac_prim.c @@ -112,15 +112,15 @@ /* Set callback used by LLC layer to push primitives to higher layers in protocol stack */ void osmo_gprs_rlcmac_prim_set_up_cb(osmo_gprs_rlcmac_prim_up_cb up_cb, void *up_user_data) { - g_ctx->rlcmac_up_cb = up_cb; - g_ctx->rlcmac_up_cb_user_data = up_user_data; + g_rlcmac_ctx->rlcmac_up_cb = up_cb; + g_rlcmac_ctx->rlcmac_up_cb_user_data = up_user_data; }
/* Set callback used by LLC layer to push primitives to lower layers in protocol stack */ void osmo_gprs_rlcmac_prim_set_down_cb(osmo_gprs_rlcmac_prim_down_cb down_cb, void *down_user_data) { - g_ctx->rlcmac_down_cb = down_cb; - g_ctx->rlcmac_down_cb_user_data = down_user_data; + g_rlcmac_ctx->rlcmac_down_cb = down_cb; + g_rlcmac_ctx->rlcmac_down_cb_user_data = down_user_data; }
/******************************** @@ -355,10 +355,10 @@ int gprs_rlcmac_prim_call_up_cb(struct osmo_gprs_rlcmac_prim *rlcmac_prim) { int rc; - if (g_ctx->rlcmac_up_cb) - rc = g_ctx->rlcmac_up_cb(rlcmac_prim, g_ctx->rlcmac_up_cb_user_data); + if (g_rlcmac_ctx->rlcmac_up_cb) + rc = g_rlcmac_ctx->rlcmac_up_cb(rlcmac_prim, g_rlcmac_ctx->rlcmac_up_cb_user_data); else - rc = rlcmac_up_cb_dummy(rlcmac_prim, g_ctx->rlcmac_up_cb_user_data); + rc = rlcmac_up_cb_dummy(rlcmac_prim, g_rlcmac_ctx->rlcmac_up_cb_user_data); /* Special return value '1' means: do not free */ if (rc != 1) msgb_free(rlcmac_prim->oph.msg); @@ -447,10 +447,10 @@
LOGRLCMAC(LOGL_DEBUG, "Tx to lower layers: %s\n", osmo_gprs_rlcmac_prim_name(rlcmac_prim));
- if (g_ctx->rlcmac_down_cb) - rc = g_ctx->rlcmac_down_cb(rlcmac_prim, g_ctx->rlcmac_down_cb_user_data); + if (g_rlcmac_ctx->rlcmac_down_cb) + rc = g_rlcmac_ctx->rlcmac_down_cb(rlcmac_prim, g_rlcmac_ctx->rlcmac_down_cb_user_data); else - rc = rlcmac_down_cb_dummy(rlcmac_prim, g_ctx->rlcmac_down_cb_user_data); + rc = rlcmac_down_cb_dummy(rlcmac_prim, g_rlcmac_ctx->rlcmac_down_cb_user_data); /* Special return value '1' means: do not free */ if (rc != 1) msgb_free(rlcmac_prim->oph.msg); @@ -551,7 +551,7 @@
int osmo_gprs_rlcmac_prim_lower_up(struct osmo_gprs_rlcmac_prim *rlcmac_prim) { - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_rlcmac_ctx); OSMO_ASSERT(rlcmac_prim); struct msgb *msg = rlcmac_prim->oph.msg; int rc; diff --git a/src/rlcmac/sched.c b/src/rlcmac/sched.c index 50a3910..25ee6da 100644 --- a/src/rlcmac/sched.c +++ b/src/rlcmac/sched.c @@ -72,7 +72,7 @@ struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_pdch_ulc_node *node;
- node = gprs_rlcmac_pdch_ulc_get_node(g_ctx->sched.ulc[bi->ts], bi->fn); + node = gprs_rlcmac_pdch_ulc_get_node(g_rlcmac_ctx->sched.ulc[bi->ts], bi->fn); if (node) { switch (node->reason) { case GPRS_RLCMAC_PDCH_ULC_POLL_UL_ASS: @@ -116,11 +116,11 @@ /* TODO */ break; } - gprs_rlcmac_pdch_ulc_release_node(g_ctx->sched.ulc[bi->ts], node); + gprs_rlcmac_pdch_ulc_release_node(g_rlcmac_ctx->sched.ulc[bi->ts], node); }
/* Iterate over UL TBFs: */ - llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { if (!gre->ul_tbf) continue; ul_tbf = gre->ul_tbf; @@ -134,7 +134,7 @@ static struct gprs_rlcmac_ul_tbf *find_requested_ul_tbf_for_data(const struct gprs_rlcmac_rts_block_ind *bi) { struct gprs_rlcmac_entity *gre; - llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { if (!gre->ul_tbf) continue; if (gprs_rlcmac_ul_tbf_data_rts(gre->ul_tbf, bi)) @@ -146,7 +146,7 @@ static struct gprs_rlcmac_ul_tbf *find_requested_ul_tbf_for_dummy(const struct gprs_rlcmac_rts_block_ind *bi) { struct gprs_rlcmac_entity *gre; - llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { if (!gre->ul_tbf) continue; if (gprs_rlcmac_ul_tbf_dummy_rts(gre->ul_tbf, bi)) @@ -268,7 +268,7 @@ { struct gprs_rlcmac_entity *gre;
- llist_for_each_entry(gre, &g_ctx->gre_list, entry) { + llist_for_each_entry(gre, &g_rlcmac_ctx->gre_list, entry) { if (gre->ul_tbf && gprs_rlcmac_tbf_ul_ass_waiting_tbf_starting_time(gre->ul_tbf)) gprs_rlcmac_tbf_ul_ass_fn_tick(gre->ul_tbf, bi->fn, bi->ts); if (gprs_rlcmac_tbf_start_pending(&gre->dl_tbf_dl_ass_fsm)) @@ -307,6 +307,6 @@ msgb_free(msg);
ret_rc: - gprs_rlcmac_pdch_ulc_expire_fn(g_ctx->sched.ulc[bi->ts], bi->fn); + gprs_rlcmac_pdch_ulc_expire_fn(g_rlcmac_ctx->sched.ulc[bi->ts], bi->fn); return rc; } diff --git a/src/rlcmac/tbf.c b/src/rlcmac/tbf.c index a88e924..2168801 100644 --- a/src/rlcmac/tbf.c +++ b/src/rlcmac/tbf.c @@ -36,8 +36,8 @@ void gprs_rlcmac_tbf_destructor(struct gprs_rlcmac_tbf *tbf) { unsigned int i; - for (i = 0; i < ARRAY_SIZE(g_ctx->sched.ulc); i++) - gprs_rlcmac_pdch_ulc_release_tbf(g_ctx->sched.ulc[i], tbf); + for (i = 0; i < ARRAY_SIZE(g_rlcmac_ctx->sched.ulc); i++) + gprs_rlcmac_pdch_ulc_release_tbf(g_rlcmac_ctx->sched.ulc[i], tbf); }
void gprs_rlcmac_tbf_free(struct gprs_rlcmac_tbf *tbf) diff --git a/src/rlcmac/tbf_dl.c b/src/rlcmac/tbf_dl.c index 4ed0bfd..741f2a0 100644 --- a/src/rlcmac/tbf_dl.c +++ b/src/rlcmac/tbf_dl.c @@ -42,7 +42,7 @@ if (rc < 0) goto err_tbf_destruct;
- dl_tbf->tbf.nr = g_ctx->next_dl_tbf_nr++; + dl_tbf->tbf.nr = g_rlcmac_ctx->next_dl_tbf_nr++;
dl_tbf->dlw = gprs_rlcmac_rlc_dl_window_alloc(dl_tbf); OSMO_ASSERT(dl_tbf->dlw); @@ -298,7 +298,7 @@ /* If RRBP contains valid data, schedule a DL ACK/NACK. */ if (rlc->es_p) { uint32_t poll_fn = rrbp2fn(fn, rlc->rrbp); - gprs_rlcmac_pdch_ulc_reserve(g_ctx->sched.ulc[ts_nr], poll_fn, + gprs_rlcmac_pdch_ulc_reserve(g_rlcmac_ctx->sched.ulc[ts_nr], poll_fn, GPRS_RLCMAC_PDCH_ULC_POLL_DL_ACK, dl_tbf_as_tbf(dl_tbf)); } diff --git a/src/rlcmac/tbf_dl_ass_fsm.c b/src/rlcmac/tbf_dl_ass_fsm.c index 365772a..4bb6ae9 100644 --- a/src/rlcmac/tbf_dl_ass_fsm.c +++ b/src/rlcmac/tbf_dl_ass_fsm.c @@ -55,7 +55,7 @@ #define tbf_dl_ass_fsm_state_chg(fi, NEXT_STATE) \ osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \ tbf_dl_ass_fsm_timeouts, \ - g_ctx->T_defs, \ + g_rlcmac_ctx->T_defs, \ -1)
static int handle_imm_ass(struct gprs_rlcmac_tbf_dl_ass_fsm_ctx *ctx, const struct tbf_start_ev_rx_ccch_imm_ass_ctx *d) diff --git a/src/rlcmac/tbf_dl_fsm.c b/src/rlcmac/tbf_dl_fsm.c index e4a4cf2..250b66c 100644 --- a/src/rlcmac/tbf_dl_fsm.c +++ b/src/rlcmac/tbf_dl_fsm.c @@ -47,7 +47,7 @@ #define tbf_dl_fsm_state_chg(fi, NEXT_STATE) \ osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \ tbf_dl_fsm_timeouts, \ - g_ctx->T_defs, \ + g_rlcmac_ctx->T_defs, \ -1)
static void st_new(struct osmo_fsm_inst *fi, uint32_t event, void *data) diff --git a/src/rlcmac/tbf_ul.c b/src/rlcmac/tbf_ul.c index 143c880..8e03207 100644 --- a/src/rlcmac/tbf_ul.c +++ b/src/rlcmac/tbf_ul.c @@ -48,7 +48,7 @@ if (rc < 0) goto err_state_fsm_destruct;
- ul_tbf->tbf.nr = g_ctx->next_ul_tbf_nr++; + ul_tbf->tbf.nr = g_rlcmac_ctx->next_ul_tbf_nr++; ul_tbf->tx_cs = GPRS_RLCMAC_CS_1;
ul_tbf->ulw = gprs_rlcmac_rlc_ul_window_alloc(ul_tbf); @@ -121,8 +121,8 @@ /* 3GPP TS 44.060 13.3: * N3104_MAX = 3 * (BS_CV_MAX + 3) * number of uplink timeslots assigned */ /* If we didn't receive SI13 yet, use maximum value bs_cv_max in range 0..15 */ - uint8_t bs_cv_max = g_ctx->si13_available ? - g_ctx->si13ro.u.PBCCH_Not_present.GPRS_Cell_Options.BS_CV_MAX : + uint8_t bs_cv_max = g_rlcmac_ctx->si13_available ? + g_rlcmac_ctx->si13ro.u.PBCCH_Not_present.GPRS_Cell_Options.BS_CV_MAX : 15; return 3 * (bs_cv_max + 3) * ul_tbf->cur_alloc.num_ts; } @@ -522,7 +522,7 @@ if (ul_tbf->tbf.is_egprs) { /* Table 8.1.1.2 and Table 8.1.1.1 of 44.060 */ blk->cs_current_trans = gprs_rlcmac_get_retx_mcs(blk->cs_init, tx_cs, - g_ctx->cfg.egprs_arq_type == GPRS_RLCMAC_EGPRS_ARQ1); + g_rlcmac_ctx->cfg.egprs_arq_type == GPRS_RLCMAC_EGPRS_ARQ1);
LOGPTBFUL(ul_tbf, LOGL_DEBUG, "initial_cs_dl(%s) last_mcs(%s) demanded_mcs(%s) cs_trans(%s) arq_type(%d) bsn(%d)\n", @@ -530,7 +530,7 @@ gprs_rlcmac_mcs_name(blk->cs_last), gprs_rlcmac_mcs_name(tx_cs), gprs_rlcmac_mcs_name(blk->cs_current_trans), - g_ctx->cfg.egprs_arq_type, bsn); + g_rlcmac_ctx->cfg.egprs_arq_type, bsn);
/* TODO: Need to remove this check when MCS-8 -> MCS-6 * transistion is handled. @@ -571,7 +571,7 @@ force_data_len != -1 ? " (forced)" : "");
bsn = create_new_bsn(ul_tbf, bi, tx_cs); - } else if (g_ctx->cfg.ul_tbf_preemptive_retransmission && + } else if (g_rlcmac_ctx->cfg.ul_tbf_preemptive_retransmission && !gprs_rlcmac_rlc_ul_window_window_empty(ul_tbf->ulw)) { /* The window contains unacked packages, but not acked. * Mark unacked bsns as RESEND */ diff --git a/src/rlcmac/tbf_ul_ass_fsm.c b/src/rlcmac/tbf_ul_ass_fsm.c index 8b61cbe..f9ccfcb 100644 --- a/src/rlcmac/tbf_ul_ass_fsm.c +++ b/src/rlcmac/tbf_ul_ass_fsm.c @@ -66,7 +66,7 @@ #define tbf_ul_ass_fsm_state_chg(fi, NEXT_STATE) \ osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \ tbf_ul_ass_fsm_timeouts, \ - g_ctx->T_defs, \ + g_rlcmac_ctx->T_defs, \ -1)
static struct msgb *create_pkt_resource_req(const struct gprs_rlcmac_tbf_ul_ass_fsm_ctx *ctx, @@ -363,7 +363,7 @@ /* If RRBP contains valid data, schedule a response (PKT CONTROL ACK or PKT RESOURCE REQ). */ if (d->dl_block->SP) { uint32_t poll_fn = rrbp2fn(d->fn, d->dl_block->RRBP); - gprs_rlcmac_pdch_ulc_reserve(g_ctx->sched.ulc[d->ts_nr], poll_fn, + gprs_rlcmac_pdch_ulc_reserve(g_rlcmac_ctx->sched.ulc[d->ts_nr], poll_fn, GPRS_RLCMAC_PDCH_ULC_POLL_UL_ASS, ul_tbf_as_tbf(ctx->ul_tbf)); } @@ -396,7 +396,7 @@ /* If RRBP contains valid data, schedule a response (PKT CONTROL ACK or PKT RESOURCE REQ). */ if (d->dl_block->SP) { uint32_t poll_fn = rrbp2fn(d->fn, d->dl_block->RRBP); - gprs_rlcmac_pdch_ulc_reserve(g_ctx->sched.ulc[d->ts_nr], poll_fn, + gprs_rlcmac_pdch_ulc_reserve(g_rlcmac_ctx->sched.ulc[d->ts_nr], poll_fn, GPRS_RLCMAC_PDCH_ULC_POLL_UL_ASS, ul_tbf_as_tbf(ctx->ul_tbf)); } diff --git a/src/rlcmac/tbf_ul_fsm.c b/src/rlcmac/tbf_ul_fsm.c index 9bf708c..96adf8b 100644 --- a/src/rlcmac/tbf_ul_fsm.c +++ b/src/rlcmac/tbf_ul_fsm.c @@ -53,7 +53,7 @@ #define tbf_ul_fsm_state_chg(fi, NEXT_STATE) \ osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, \ tbf_ul_fsm_timeouts, \ - g_ctx->T_defs, \ + g_rlcmac_ctx->T_defs, \ -1)
static uint8_t ul_tbf_ul_slotmask(struct gprs_rlcmac_ul_tbf *ul_tbf) @@ -110,7 +110,7 @@ (osmo_timer_pending(&fi->timer) && fi->T == 3182)); LOGPFSML(ctx->fi, LOGL_INFO, "Last UL block sent (CV=0), start T3182\n"); fi->T = 3182; - val_sec = osmo_tdef_get(g_ctx->T_defs, fi->T, OSMO_TDEF_S, -1); + val_sec = osmo_tdef_get(g_rlcmac_ctx->T_defs, fi->T, OSMO_TDEF_S, -1); osmo_timer_schedule(&fi->timer, val_sec, 0); } } @@ -169,7 +169,7 @@ if (ctx->ul_tbf->ul_ass_fsm.ass_type == GPRS_RLCMAC_TBF_UL_ASS_TYPE_1PHASE) { LOGPFSML(ctx->fi, LOGL_INFO, "First UL block sent (1 phase access), start T3166\n"); fi->T = 3166; - val_sec = osmo_tdef_get(g_ctx->T_defs, fi->T, OSMO_TDEF_S, -1); + val_sec = osmo_tdef_get(g_rlcmac_ctx->T_defs, fi->T, OSMO_TDEF_S, -1); osmo_timer_schedule(&fi->timer, val_sec, 0); } break; diff --git a/src/sm/sm.c b/src/sm/sm.c index 59a5e7b..c83e739 100644 --- a/src/sm/sm.c +++ b/src/sm/sm.c @@ -33,7 +33,7 @@ #include <osmocom/gprs/sm/sm_ms_fsm.h> #include <osmocom/gprs/sm/sm_pdu.h>
-struct gprs_sm_ctx *g_ctx; +struct gprs_sm_ctx *g_sm_ctx;
/* TS 24.008 */ static struct osmo_tdef T_defs_sm[] = { @@ -45,10 +45,10 @@ { struct gprs_sm_ms *ms;
- while ((ms = llist_first_entry_or_null(&g_ctx->ms_list, struct gprs_sm_ms, list))) + while ((ms = llist_first_entry_or_null(&g_sm_ctx->ms_list, struct gprs_sm_ms, list))) gprs_sm_ms_free(ms);
- talloc_free(g_ctx); + talloc_free(g_sm_ctx); }
int osmo_gprs_sm_init(enum osmo_gprs_sm_location location) @@ -57,22 +57,22 @@ int rc; OSMO_ASSERT(location == OSMO_GPRS_SM_LOCATION_MS || location == OSMO_GPRS_SM_LOCATION_NETWORK)
- if (g_ctx) { + if (g_sm_ctx) { first_init = false; gprs_sm_ctx_free(); }
- g_ctx = talloc_zero(NULL, struct gprs_sm_ctx); - g_ctx->location = location; - g_ctx->T_defs = T_defs_sm; - INIT_LLIST_HEAD(&g_ctx->ms_list); + g_sm_ctx = talloc_zero(NULL, struct gprs_sm_ctx); + g_sm_ctx->location = location; + g_sm_ctx->T_defs = T_defs_sm; + INIT_LLIST_HEAD(&g_sm_ctx->ms_list);
- osmo_tdefs_reset(g_ctx->T_defs); + osmo_tdefs_reset(g_sm_ctx->T_defs);
if (first_init) { rc = gprs_sm_ms_fsm_init(); if (rc != 0) { - TALLOC_FREE(g_ctx); + TALLOC_FREE(g_sm_ctx); return rc; } } @@ -83,13 +83,13 @@ { struct gprs_sm_ms *ms;
- ms = talloc_zero(g_ctx, struct gprs_sm_ms); + ms = talloc_zero(g_sm_ctx, struct gprs_sm_ms); if (!ms) return NULL;
ms->ms_id = ms_id;
- llist_add(&ms->list, &g_ctx->ms_list); + llist_add(&ms->list, &g_sm_ctx->ms_list);
return ms; } @@ -113,7 +113,7 @@ { struct gprs_sm_ms *ms;
- llist_for_each_entry(ms, &g_ctx->ms_list, list) { + llist_for_each_entry(ms, &g_sm_ctx->ms_list, list) { if (ms->ms_id == ms_id) return ms; } @@ -123,12 +123,12 @@ struct gprs_sm_entity *gprs_sm_entity_alloc(struct gprs_sm_ms *ms, uint32_t nsapi) { struct gprs_sm_entity *sme; - sme = talloc_zero(g_ctx, struct gprs_sm_entity); + sme = talloc_zero(g_sm_ctx, struct gprs_sm_entity); if (!sme) return NULL;
sme->ms = ms; - sme->sess_id = g_ctx->next_sess_id++; + sme->sess_id = g_sm_ctx->next_sess_id++; sme->nsapi = nsapi;
if (gprs_sm_ms_fsm_ctx_init(&sme->ms_fsm, sme) < 0) { @@ -157,7 +157,7 @@ struct gprs_sm_ms *ms; unsigned int i;
- llist_for_each_entry(ms, &g_ctx->ms_list, list) { + llist_for_each_entry(ms, &g_sm_ctx->ms_list, list) { for (i = 0; i < ARRAY_SIZE(ms->pdp); i++) { if (!ms->pdp[i]) continue; diff --git a/src/sm/sm_ms_fsm.c b/src/sm/sm_ms_fsm.c index b6fb79f..92137c4 100644 --- a/src/sm/sm_ms_fsm.c +++ b/src/sm/sm_ms_fsm.c @@ -39,7 +39,7 @@ };
#define sm_ms_fsm_state_chg(fi, NEXT_STATE) \ - osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, sm_ms_fsm_timeouts, g_ctx->T_defs, -1) + osmo_tdef_fsm_inst_state_chg(fi, NEXT_STATE, sm_ms_fsm_timeouts, g_sm_ctx->T_defs, -1)
static void st_sm_ms_pdp_inactive(struct osmo_fsm_inst *fi, uint32_t event, void *data) { diff --git a/src/sm/sm_prim.c b/src/sm/sm_prim.c index 197c8a4..33d15ba 100644 --- a/src/sm/sm_prim.c +++ b/src/sm/sm_prim.c @@ -87,22 +87,22 @@ /* Set callback used by SM layer to push primitives to higher layers in protocol stack */ void osmo_gprs_sm_prim_set_up_cb(osmo_gprs_sm_prim_up_cb up_cb, void *up_user_data) { - g_ctx->sm_up_cb = up_cb; - g_ctx->sm_up_cb_user_data = up_user_data; + g_sm_ctx->sm_up_cb = up_cb; + g_sm_ctx->sm_up_cb_user_data = up_user_data; }
/* Set callback used by SM layer to push primitives to lower layers in protocol stack */ void osmo_gprs_sm_prim_set_down_cb(osmo_gprs_sm_prim_down_cb down_cb, void *down_user_data) { - g_ctx->sm_down_cb = down_cb; - g_ctx->sm_down_cb_user_data = down_user_data; + g_sm_ctx->sm_down_cb = down_cb; + g_sm_ctx->sm_down_cb_user_data = down_user_data; }
/* Set callback used by SM layer to push primitives to GMM lower layer in protocol stack */ void osmo_gprs_sm_prim_set_gmm_down_cb(osmo_gprs_sm_prim_gmm_down_cb gmm_down_cb, void *gmm_down_user_data) { - g_ctx->sm_gmm_down_cb = gmm_down_cb; - g_ctx->sm_gmm_down_cb_user_data = gmm_down_user_data; + g_sm_ctx->sm_gmm_down_cb = gmm_down_cb; + g_sm_ctx->sm_gmm_down_cb_user_data = gmm_down_user_data; }
/******************************** @@ -193,10 +193,10 @@ int gprs_sm_prim_call_up_cb(struct osmo_gprs_sm_prim *sm_prim) { int rc; - if (g_ctx->sm_up_cb) - rc = g_ctx->sm_up_cb(sm_prim, g_ctx->sm_up_cb_user_data); + if (g_sm_ctx->sm_up_cb) + rc = g_sm_ctx->sm_up_cb(sm_prim, g_sm_ctx->sm_up_cb_user_data); else - rc = sm_up_cb_dummy(sm_prim, g_ctx->sm_up_cb_user_data); + rc = sm_up_cb_dummy(sm_prim, g_sm_ctx->sm_up_cb_user_data); msgb_free(sm_prim->oph.msg); return rc; } @@ -304,10 +304,10 @@ int gprs_sm_prim_call_down_cb(struct osmo_gprs_sm_prim *sm_prim) { int rc; - if (g_ctx->sm_down_cb) - rc = g_ctx->sm_down_cb(sm_prim, g_ctx->sm_down_cb_user_data); + if (g_sm_ctx->sm_down_cb) + rc = g_sm_ctx->sm_down_cb(sm_prim, g_sm_ctx->sm_down_cb_user_data); else - rc = sm_down_cb_dummy(sm_prim, g_ctx->sm_down_cb_user_data); + rc = sm_down_cb_dummy(sm_prim, g_sm_ctx->sm_down_cb_user_data); msgb_free(sm_prim->oph.msg); return rc; } @@ -315,7 +315,7 @@ /* SM lower layers (GMM) push SM primitive up to SM layer: */ int osmo_gprs_sm_prim_lower_up(struct osmo_gprs_sm_prim *sm_prim) { - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_sm_ctx); OSMO_ASSERT(sm_prim); struct msgb *msg = sm_prim->oph.msg; int rc; @@ -339,10 +339,10 @@ int gprs_sm_prim_call_gmm_down_cb(struct osmo_gprs_gmm_prim *gmm_prim) { int rc; - if (g_ctx->sm_gmm_down_cb) - rc = g_ctx->sm_gmm_down_cb(gmm_prim, g_ctx->sm_gmm_down_cb_user_data); + if (g_sm_ctx->sm_gmm_down_cb) + rc = g_sm_ctx->sm_gmm_down_cb(gmm_prim, g_sm_ctx->sm_gmm_down_cb_user_data); else - rc = sm_gmm_down_cb_dummy(gmm_prim, g_ctx->sm_gmm_down_cb_user_data); + rc = sm_gmm_down_cb_dummy(gmm_prim, g_sm_ctx->sm_gmm_down_cb_user_data); /* Special return value '1' means: do not free */ if (rc != 1) msgb_free(gmm_prim->oph.msg); @@ -412,7 +412,7 @@ /* SM lower layers (GMM) push SM primitive up to SM layer: */ int osmo_gprs_sm_prim_gmm_lower_up(struct osmo_gprs_gmm_prim *gmm_prim) { - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_sm_ctx); OSMO_ASSERT(gmm_prim); struct msgb *msg = gmm_prim->oph.msg; int rc; diff --git a/src/sndcp/sndcp.c b/src/sndcp/sndcp.c index 252ba06..1ff5893 100644 --- a/src/sndcp/sndcp.c +++ b/src/sndcp/sndcp.c @@ -32,15 +32,15 @@ #include <osmocom/gprs/sndcp/sndcp_private.h> #include <osmocom/gprs/llc/llc_prim.h>
-struct gprs_sndcp_ctx *g_ctx; +struct gprs_sndcp_ctx *g_sndcp_ctx;
int osmo_gprs_sndcp_init(void) { - if (g_ctx) - talloc_free(g_ctx); + if (g_sndcp_ctx) + talloc_free(g_sndcp_ctx);
- g_ctx = talloc_zero(NULL, struct gprs_sndcp_ctx); - INIT_LLIST_HEAD(&g_ctx->snme_list); + g_sndcp_ctx = talloc_zero(NULL, struct gprs_sndcp_ctx); + INIT_LLIST_HEAD(&g_sndcp_ctx->snme_list); return 0; }
@@ -48,12 +48,12 @@ { struct gprs_sndcp_mgmt_entity *snme;
- snme = talloc_zero(g_ctx, struct gprs_sndcp_mgmt_entity); + snme = talloc_zero(g_sndcp_ctx, struct gprs_sndcp_mgmt_entity); if (!snme) return NULL;
snme->tlli = tlli; - llist_add(&snme->list, &g_ctx->snme_list); + llist_add(&snme->list, &g_sndcp_ctx->snme_list);
return snme; } @@ -73,7 +73,7 @@ { struct gprs_sndcp_mgmt_entity *snme;
- llist_for_each_entry(snme, &g_ctx->snme_list, list) { + llist_for_each_entry(snme, &g_sndcp_ctx->snme_list, list) { if (snme->tlli == tlli) return snme; } @@ -111,7 +111,7 @@ { struct gprs_sndcp_entity *sne;
- sne = talloc_zero(g_ctx, struct gprs_sndcp_entity); + sne = talloc_zero(g_sndcp_ctx, struct gprs_sndcp_entity); if (!sne) return NULL;
@@ -172,7 +172,7 @@ { struct defrag_queue_entry *dqe;
- dqe = talloc_zero(g_ctx, struct defrag_queue_entry); + dqe = talloc_zero(g_sndcp_ctx, struct defrag_queue_entry); if (!dqe) return -ENOMEM; dqe->data = talloc_zero_size(dqe, data_len); @@ -323,7 +323,7 @@ * hands it off to the correct GTP tunnel + GGSN via gtp_data_req() */
/* Decompress packet */ - if (any_pcomp_or_dcomp_active(g_ctx)) { + if (any_pcomp_or_dcomp_active(g_sndcp_ctx)) { expnd = decompress_segment(sne, msg, npdu, npdu_len, &npdu_len); if (!expnd) { rc = -EIO; @@ -542,7 +542,7 @@ LOGSNE(sne, "===================================================\n"); debug_ip_packet(npdu, npdu_len, 0, __func__ "()"); #endif - if (any_pcomp_or_dcomp_active(g_ctx)) { + if (any_pcomp_or_dcomp_active(g_sndcp_ctx)) {
/* Apply header compression */ rc = gprs_sndcp_pcomp_compress(msg->data, msg->len, &pcomp, @@ -810,8 +810,8 @@ * hands it off to the correct GTP tunnel + GGSN via gtp_data_req() */
/* Decompress packet */ - if (any_pcomp_or_dcomp_active(g_ctx)) { - expnd = decompress_segment(sne, g_ctx, npdu, npdu_len, (unsigned int *)&npdu_len); + if (any_pcomp_or_dcomp_active(g_sndcp_ctx)) { + expnd = decompress_segment(sne, g_sndcp_ctx, npdu, npdu_len, (unsigned int *)&npdu_len); if (!expnd) { rc = -EIO; goto ret_free; @@ -825,7 +825,7 @@ rc = gprs_sndcp_prim_call_up_cb(sndcp_prim_tx);
ret_free: - if (any_pcomp_or_dcomp_active(g_ctx)) + if (any_pcomp_or_dcomp_active(g_sndcp_ctx)) talloc_free(expnd); return rc; } @@ -846,7 +846,7 @@ /* Process proposed parameters */ switch (comp_field->algo.pcomp) { case RFC_1144: - if (g_ctx->cfg.pcomp_rfc1144_passive_accept + if (g_sndcp_ctx->cfg.pcomp_rfc1144_passive_accept && comp_field->rfc1144_params->nsapi_len > 0) { LOGSNME(snme, LOGL_DEBUG, "Accepting RFC1144 header compression...\n"); gprs_sndcp_comp_add(snme, snme->comp.proto, comp_field); @@ -888,7 +888,7 @@ /* Process proposed parameters */ switch (comp_field->algo.dcomp) { case V42BIS: - if (g_ctx->cfg.dcomp_v42bis_passive_accept && + if (g_sndcp_ctx->cfg.dcomp_v42bis_passive_accept && comp_field->v42bis_params->nsapi_len > 0) { LOGSNME(snme, LOGL_DEBUG, "Accepting V.42bis data compression...\n"); gprs_sndcp_comp_add(snme, snme->comp.data, comp_field); diff --git a/src/sndcp/sndcp_prim.c b/src/sndcp/sndcp_prim.c index dee7dbe..bc22c9c 100644 --- a/src/sndcp/sndcp_prim.c +++ b/src/sndcp/sndcp_prim.c @@ -99,22 +99,22 @@ /* Set callback used by SNDCP layer to push primitives to higher layers in protocol stack */ void osmo_gprs_sndcp_prim_set_up_cb(osmo_gprs_sndcp_prim_up_cb up_cb, void *up_user_data) { - g_ctx->sndcp_up_cb = up_cb; - g_ctx->sndcp_up_cb_user_data = up_user_data; + g_sndcp_ctx->sndcp_up_cb = up_cb; + g_sndcp_ctx->sndcp_up_cb_user_data = up_user_data; }
/* Set callback used by SNDCP layer to push primitives to lower layers in protocol stack */ void osmo_gprs_sndcp_prim_set_down_cb(osmo_gprs_sndcp_prim_down_cb down_cb, void *down_user_data) { - g_ctx->sndcp_down_cb = down_cb; - g_ctx->sndcp_down_cb_user_data = down_user_data; + g_sndcp_ctx->sndcp_down_cb = down_cb; + g_sndcp_ctx->sndcp_down_cb_user_data = down_user_data; }
/* Set callback used by SNDCP layer to push primitives to SM sublayer */ void osmo_gprs_sndcp_prim_set_snsm_cb(osmo_gprs_sndcp_prim_snsm_cb snsm_cb, void *snsm_user_data) { - g_ctx->sndcp_snsm_cb = snsm_cb; - g_ctx->sndcp_snsm_cb_user_data = snsm_user_data; + g_sndcp_ctx->sndcp_snsm_cb = snsm_cb; + g_sndcp_ctx->sndcp_snsm_cb_user_data = snsm_user_data; }
/******************************** @@ -289,10 +289,10 @@ int gprs_sndcp_prim_call_up_cb(struct osmo_gprs_sndcp_prim *sndcp_prim) { int rc; - if (g_ctx->sndcp_up_cb) - rc = g_ctx->sndcp_up_cb(sndcp_prim, g_ctx->sndcp_up_cb_user_data); + if (g_sndcp_ctx->sndcp_up_cb) + rc = g_sndcp_ctx->sndcp_up_cb(sndcp_prim, g_sndcp_ctx->sndcp_up_cb_user_data); else - rc = sndcp_up_cb_dummy(sndcp_prim, g_ctx->sndcp_up_cb_user_data); + rc = sndcp_up_cb_dummy(sndcp_prim, g_sndcp_ctx->sndcp_up_cb_user_data); msgb_free(sndcp_prim->oph.msg); return rc; } @@ -395,7 +395,7 @@ int osmo_gprs_sndcp_prim_upper_down(struct osmo_gprs_sndcp_prim *sndcp_prim) { int rc; - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_sndcp_ctx);
LOGSNDCP(LOGL_INFO, "Rx from upper layers: %s\n", osmo_gprs_sndcp_prim_name(sndcp_prim));
@@ -428,10 +428,10 @@ int gprs_sndcp_prim_call_down_cb(struct osmo_gprs_llc_prim *llc_prim) { int rc; - if (g_ctx->sndcp_down_cb) - rc = g_ctx->sndcp_down_cb(llc_prim, g_ctx->sndcp_down_cb_user_data); + if (g_sndcp_ctx->sndcp_down_cb) + rc = g_sndcp_ctx->sndcp_down_cb(llc_prim, g_sndcp_ctx->sndcp_down_cb_user_data); else - rc = sndcp_down_cb_dummy(llc_prim, g_ctx->sndcp_down_cb_user_data); + rc = sndcp_down_cb_dummy(llc_prim, g_sndcp_ctx->sndcp_down_cb_user_data); msgb_free(llc_prim->oph.msg); return rc; } @@ -515,7 +515,7 @@ /* SNDCP lower layers (LLC) push SNDCP primitive up to SNDCP layer: */ int osmo_gprs_sndcp_prim_lower_up(struct osmo_gprs_llc_prim *llc_prim) { - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_sndcp_ctx); OSMO_ASSERT(llc_prim); struct msgb *msg = llc_prim->oph.msg; int rc; @@ -545,10 +545,10 @@ int gprs_sndcp_prim_call_snsm_cb(struct osmo_gprs_sndcp_prim *sndcp_prim) { int rc; - if (g_ctx->sndcp_snsm_cb) - rc = g_ctx->sndcp_snsm_cb(sndcp_prim, g_ctx->sndcp_snsm_cb_user_data); + if (g_sndcp_ctx->sndcp_snsm_cb) + rc = g_sndcp_ctx->sndcp_snsm_cb(sndcp_prim, g_sndcp_ctx->sndcp_snsm_cb_user_data); else - rc = sndcp_snsm_cb_dummy(sndcp_prim, g_ctx->sndcp_snsm_cb_user_data); + rc = sndcp_snsm_cb_dummy(sndcp_prim, g_sndcp_ctx->sndcp_snsm_cb_user_data); msgb_free(sndcp_prim->oph.msg); return rc; } @@ -646,7 +646,7 @@ int osmo_gprs_sndcp_prim_dispatch_snsm(struct osmo_gprs_sndcp_prim *sndcp_prim) { int rc; - OSMO_ASSERT(g_ctx); + OSMO_ASSERT(g_sndcp_ctx); OSMO_ASSERT(sndcp_prim); struct msgb *msg = sndcp_prim->oph.msg;