pespin has submitted this change. (
https://gerrit.osmocom.org/c/libosmo-gprs/+/39783?usp=email )
Change subject: csn1: Use enum to select enc/dec direction
......................................................................
csn1: Use enum to select enc/dec direction
Ported from osmo-pcu.git Change-Id I845bcab61e354436bff1c3a0f2b6f49de9705716
Change-Id: I216d4d94f585dd4dcf9947324fdbdc786ab2b5c5
---
M include/osmocom/csn1/csn1.h
M src/csn1/csn1.c
M src/csn1/csn1_dec.c
M src/csn1/csn1_enc.c
M src/rlcmac/csn1_ts_24_008.c
M src/rlcmac/csn1_ts_44_060.c
6 files changed, 12 insertions(+), 9 deletions(-)
Approvals:
Jenkins Builder: Verified
fixeria: Looks good to me, approved
diff --git a/include/osmocom/csn1/csn1.h b/include/osmocom/csn1/csn1.h
index a87f5a0..cb3ad13 100644
--- a/include/osmocom/csn1/csn1.h
+++ b/include/osmocom/csn1/csn1.h
@@ -52,7 +52,10 @@
#define CSNCBS_REVISION_LIMIT_STOP -20 /* Stop packing/unpacking - revision limit */
#define CSNCBS_NOT_SUPPORTED_IE -21 /* Handling of the unpacked IE is not supported
by MS-software */
-
+enum CSN_Direction {
+ CSN_DIRECTION_ENC = 0,
+ CSN_DIRECTION_DEC = 1,
+};
#ifndef ElementsOf
#define ElementsOf(array) (sizeof(array) / sizeof(array[0]))
@@ -64,7 +67,7 @@
{
gint remaining_bits_len; /* IN to an csn stream operation */
gint bit_offset; /* IN/OUT to an csn stream operation */
- gint direction; /* 0 - decode; 1 - encode */
+ enum CSN_Direction direction; /* encode vs decode */
} csnStream_t;
typedef gint16 (*StreamSerializeFcn_t)(csnStream_t* ar, struct bitvec *vector, unsigned
*readIndex, void* data);
diff --git a/src/csn1/csn1.c b/src/csn1/csn1.c
index f07c414..5eb35ea 100644
--- a/src/csn1/csn1.c
+++ b/src/csn1/csn1.c
@@ -72,7 +72,7 @@
{
ar->remaining_bits_len = remaining_bits_len;
ar->bit_offset = bit_offset;
- ar->direction = 0;
+ ar->direction = CSN_DIRECTION_ENC;
}
static const struct value_string csn1_error_names[] = {
diff --git a/src/csn1/csn1_dec.c b/src/csn1/csn1_dec.c
index 0fa09ad..c179f9b 100644
--- a/src/csn1/csn1_dec.c
+++ b/src/csn1/csn1_dec.c
@@ -483,7 +483,7 @@
remaining_bits_len -= length_len;
osmo_csn1_stream_init(&arT, bit_offset, length > 0 ? length :
remaining_bits_len);
- arT.direction = 1;
+ arT.direction = CSN_DIRECTION_DEC;
LOGPC(DLCSN1, LOGL_DEBUG, "offset = %u | ", pDescr->offset);
Status = serialize(&arT, vector, readIndex, pvDATA(data, pDescr->offset));
diff --git a/src/csn1/csn1_enc.c b/src/csn1/csn1_enc.c
index 6405525..a07caf0 100644
--- a/src/csn1/csn1_enc.c
+++ b/src/csn1/csn1_enc.c
@@ -433,7 +433,7 @@
*writeIndex += length_len;
bit_offset += length_len;
remaining_bits_len -= length_len;
- arT.direction = 0;
+ arT.direction = CSN_DIRECTION_ENC;
osmo_csn1_stream_init(&arT, bit_offset, remaining_bits_len);
Status = serialize(&arT, vector, writeIndex, pvDATA(data,
pDescr->offset));
diff --git a/src/rlcmac/csn1_ts_24_008.c b/src/rlcmac/csn1_ts_24_008.c
index d38185d..79deff3 100644
--- a/src/rlcmac/csn1_ts_24_008.c
+++ b/src/rlcmac/csn1_ts_24_008.c
@@ -281,7 +281,7 @@
static gint16 Content_Dissector(csnStream_t* ar, struct bitvec *vector, unsigned
*readIndex, void* data)
{
- if (ar->direction == 0)
+ if (ar->direction == CSN_DIRECTION_ENC)
{
return osmo_csn1_stream_encode(ar, CSNDESCR(Content_t), vector, readIndex, data);
}
@@ -305,7 +305,7 @@
static gint16 Additional_access_technologies_Dissector(csnStream_t* ar, struct bitvec
*vector, unsigned *readIndex, void* data)
{
- if (ar->direction == 0)
+ if (ar->direction == CSN_DIRECTION_ENC)
{
return osmo_csn1_stream_encode(ar, CSNDESCR(Additional_access_technologies_t),
vector, readIndex, data);
}
diff --git a/src/rlcmac/csn1_ts_44_060.c b/src/rlcmac/csn1_ts_44_060.c
index e8c03df..e3270b7 100644
--- a/src/rlcmac/csn1_ts_44_060.c
+++ b/src/rlcmac/csn1_ts_44_060.c
@@ -183,7 +183,7 @@
/*< EGPRS Ack/Nack Description IE >*/
static gint16 Egprs_Ack_Nack_Desc_w_len_Dissector(csnStream_t* ar, struct bitvec *vector,
unsigned *readIndex, void* data)
{
- if (ar->direction == 0)
+ if (ar->direction == CSN_DIRECTION_ENC)
{
return osmo_csn1_stream_encode(ar, CSNDESCR(EGPRS_AckNack_Desc_t), vector, readIndex,
data);
}
@@ -394,7 +394,7 @@
#if 0
gint16 Receive_N_PDU_Number_list_Dissector(csnStream_t* ar, struct bitvec *vector,
unsigned *readIndex, void* data)
{
- if (ar->direction == 0)
+ if (ar->direction == CSN_DIRECTION_ENC)
{
return osmo_csn1_stream_encode(ar, CSNDESCR(Receive_N_PDU_Number_t), vector,
readIndex, data);
}
--
To view, visit
https://gerrit.osmocom.org/c/libosmo-gprs/+/39783?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-gprs
Gerrit-Branch: master
Gerrit-Change-Id: I216d4d94f585dd4dcf9947324fdbdc786ab2b5c5
Gerrit-Change-Number: 39783
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>