diff options
author | Vadim Yanitskiy <axilirator@gmail.com> | 2020-01-25 01:24:59 +0700 |
---|---|---|
committer | Vadim Yanitskiy <axilirator@gmail.com> | 2020-02-17 02:31:15 +0700 |
commit | 39a65056daa95d18fafc91d33a56d21c327002e6 (patch) | |
tree | 3066dbb095f90b4dd00d55ed79792154a6009e88 /src/csn1.h | |
parent | 8a87f913bdceae7987ccfa556a5805c4596ccc40 (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.h | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -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)\ |