aboutsummaryrefslogtreecommitdiffstats
path: root/src/csn1.h
diff options
context:
space:
mode:
authorVadim Yanitskiy <axilirator@gmail.com>2020-01-25 01:24:59 +0700
committerVadim Yanitskiy <axilirator@gmail.com>2020-02-17 02:31:15 +0700
commit39a65056daa95d18fafc91d33a56d21c327002e6 (patch)
tree3066dbb095f90b4dd00d55ed79792154a6009e88 /src/csn1.h
parent8a87f913bdceae7987ccfa556a5805c4596ccc40 (diff)
csn1: get rid of C++ specific code, compile with GCC
The implementation of CSN.1 codec was taken from Wireshark, where it's implemented in pure C. For some reason it was mixed with C++ specific features, mostly using references in parameter declaration. Not sure what are the benefits. Change-Id: I56d8b7fbd2f9f4e0bdd6b09d0366fe7eb7aa327a
Diffstat (limited to 'src/csn1.h')
-rw-r--r--src/csn1.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/csn1.h b/src/csn1.h
index f445dd2d..b3fdc0a5 100644
--- a/src/csn1.h
+++ b/src/csn1.h
@@ -28,12 +28,7 @@
#ifndef _PACKET_CSN1_H_
#define _PACKET_CSN1_H_
-extern "C" {
#include <osmocom/core/bitvec.h>
-}
-
-#include <iostream>
-#include <cstdlib>
#define MIN(a,b) (((a)<(b))?(a):(b))
//#define max(a,b) (((a)>(b))?(a):(b))
@@ -88,7 +83,7 @@ typedef struct
gint direction; /* 0 - decode; 1 - encode */
} csnStream_t;
-typedef gint16 (*StreamSerializeFcn_t)(csnStream_t* ar, bitvec *vector, unsigned& readIndex, void* data);
+typedef gint16 (*StreamSerializeFcn_t)(csnStream_t* ar, struct bitvec *vector, unsigned *readIndex, void* data);
typedef enum
{
CSN_END = 0,
@@ -233,9 +228,9 @@ void csnStreamInit(csnStream_t* ar,gint BitOffset,gint BitCount);
* RETURNS: int Number of bits left to be unpacked. Negative Error code if failed to unpack all bits
******************************************************************************/
-gint16 csnStreamDecoder(csnStream_t* ar, const CSN_DESCR* pDescr, bitvec *vector, unsigned& readIndex, void* data);
+gint16 csnStreamDecoder(csnStream_t* ar, const CSN_DESCR* pDescr, struct bitvec *vector, unsigned *readIndex, void* data);
-gint16 csnStreamEncoder(csnStream_t* ar, const CSN_DESCR* pDescr, bitvec *vector, unsigned& readIndex, void* data);
+gint16 csnStreamEncoder(csnStream_t* ar, const CSN_DESCR* pDescr, struct bitvec *vector, unsigned *writeIndex, void* data);
/* CSN struct macro's */
#define CSN_DESCR_BEGIN(_STRUCT)\