pespin has uploaded this change for review. ( 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(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-gprs refs/changes/83/39783/1
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); }