aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/osmocom/bsc/gsm_data.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h
index 15158cdd0..4a8b7be63 100644
--- a/include/osmocom/bsc/gsm_data.h
+++ b/include/osmocom/bsc/gsm_data.h
@@ -455,6 +455,18 @@ struct gsm_encr {
bsc_subscr_name(lchan && lchan->conn ? lchan->conn->bsub : NULL), \
## args)
+/* Iterate lchans that have an FSM allocated based based on explicit pchan kind
+ * (GSM_PCHAN_* constant).
+ * Remark: PDCH related lchans are not handled in BSC but in PCU, so trying to
+ * iterate through GSM_PCHAN_PDCH is considered a void loop.
+ */
+#define ts_as_pchan_for_each_lchan(lchan, ts, as_pchan) \
+ for (lchan = (ts)->lchan; \
+ ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \
+ && lchan->fi \
+ && lchan->nr < pchan_subslots(as_pchan); \
+ lchan++)
+
/* usage:
* struct gsm_lchan *lchan;
* struct gsm_bts_trx_ts *ts = get_some_timeslot();
@@ -464,15 +476,6 @@ struct gsm_encr {
* Iterate only those lchans that have an FSM allocated. */
#define ts_for_each_lchan(lchan, ts) ts_as_pchan_for_each_lchan(lchan, ts, (ts)->pchan_is)
-/* Same as ts_for_each_lchan() but with an explicit pchan kind (GSM_PCHAN_* constant).
- * Iterate only those lchans that have an FSM allocated. */
-#define ts_as_pchan_for_each_lchan(lchan, ts, as_pchan) \
- for (lchan = (ts)->lchan; \
- ((lchan - (ts)->lchan) < ARRAY_SIZE((ts)->lchan)) \
- && lchan->fi \
- && lchan->nr < pchan_subslots(as_pchan); \
- lchan++)
-
enum lchan_activate_mode {
FOR_NONE,
FOR_MS_CHANNEL_REQUEST,