Commit 4c100a29 authored by Rohit Gupta's avatar Rohit Gupta

add license to autotest framework + delete files not used in project

parent b481bfd9
#!/bin/bash
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
# \author Navid Nikaein, Rohit Gupta
if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then
source $OPENAIR_DIR/cmake_targets/tools/build_helper
......
#!/usr/bin/python
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
# \author Navid Nikaein, Rohit Gupta
import time
import serial
......
#!/bin/bash
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
# \author Navid Nikaein, Rohit Gupta
#Simple script to retry git clone in case of failure
......
#!/bin/bash
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
# \author Navid Nikaein, Rohit Gupta
#arg0 -> Name of executable
#args[1...N] -> arguments to be passed to executable
......
#!/bin/bash
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements. See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.0 (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# * http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# * contact@openairinterface.org
# */
# \author Navid Nikaein, Rohit Gupta
echo "This script stops exmimo2 as it might be transmitting signal by itself if lte-softmodem terminates incorrectly"
......
PLATFORM = linux-x86-32
NUM_PROC = $(shell echo `cat /proc/cpuinfo | grep processor | wc -l`)
NUM_PROC = 1
LIBS = -L/usr/local/lib -Llib -lSockets -lasn1rrc -lpthread -lssl -lcrypto -lssl -lxml2
#------------------------------------------------
# DIRS
#------------------------------------------------
UPDIR := $(shell /bin/pwd)
BIN_DIR = bin
SRC_DIR = $(UPDIR)/src
COM_DIR = $(SRC_DIR)/com
FOREIGN_DIR = $(SRC_DIR)/foreign
SOCKETS_DIR = $(FOREIGN_DIR)/sockets-2.3.9.4
TCPIP_DIR = $(FOREIGN_DIR)/tcpip
SQL_DIR = $(FOREIGN_DIR)/sql
ASN1_RRC_SPEC_DIR = $(FOREIGN_DIR)/generated_c_asn1_rrc/ASN1_files
RRC_RRM_ASN1_DIR = $(COM_DIR)/asn1
RADIO_RESOURCES_DIR = $(SRC_DIR)/radio_resources
RRC_DIR = ../RRC/LITE
TEST_DIR = $(SRC_DIR)/test
#------------------------------------------------
# INCLUDES
#------------------------------------------------
include Makefile.objs
include Makefile.Defines.$(PLATFORM)
INCLUDE = -I$(SRC_DIR) -I$(SOCKETS_DIR) -I$(SQL_DIR) -I$(COM_DIR) -I$(COM_DIR)/rrc -I$(COM_DIR)/rrm \
-I$(TCPIP_DIR) -I$(RADIO_RESOURCES_DIR) -I$(RRC_RRM_ASN1_DIR) -I$(TEST_DIR)
#------------------------------------------------
# CFLAGS
#------------------------------------------------
CPPFLAGS = $(CFLAGS)
#CPPFLAGS += -fpermissive -std=gnu++98
#------------------------------------------------
# LIBS
#------------------------------------------------
libasn1rrc: libasn1rrc.a
mv libasn1rrc.a lib
libsqlite: libsqlite.a
mv libsqlite.a lib
libSockets: libSockets.a
mv libSockets.a lib
libasn1rrc.a: $(ASN1RRC_OBJS)
ar cru $@ $^
ranlib $@
libSockets.a: $(SOCKETS_OBJS)
ar cru $@ $^
ranlib $@
libsqlite.a: $(SQLITE_OBJS)
ar cru $@ $^
ranlib $@
LDFLAGS += -rdynamic
#------------------------------------------------
# PROGS
#------------------------------------------------
PROGS = rrm_exe test_exe
gen-c-from-asn1:
#-fbless-SIZE
# Allow SIZE() constraint for INTEGER, ENUMERATED, and other types
# for which this constraint is normally prohibited by the stan-
# dard. This is a violation of ASN.1 standard, and the compiler
# may fail to produce a meaningful code.
#-fcompound-names
# Using this option prevents name collisions in the target source
# code by using complex names for target language structures.
# (Name collisions may occur if the ASN.1 module reuses the same
# identifiers in multiple contexts).
#-findirect-choice
# When generating code for a CHOICE type, compile the CHOICE mem-
# bers as indirect pointers instead of declaring them inline. Con-
# sider using this option together with -fno-include-deps to pre-
# vent circular references.
#-fknown-extern-type=<name>
# Pretend the specified type is known. The compiler will assume
# the target language source files for the given type have been
# provided manually.
#-fno-constraints
# Do not generate ASN.1 subtype constraint checking code. This may
# make a shorter executable.
#-fno-include-deps
# Do not generate courtesy #include lines for non-critical type
# dependencies. Helps prevent namespace collisions.
#-funnamed-unions
# Enable unnamed unions in the definitions of target language's
# structures.
#cd $(RRC_RRM_ASN1_DIR);asn1c -gen-PER -fcompound-names -fnative-types -fskeletons-copy $(ASN1_RRC_SPEC_DIR)/EUTRA-RRC-Definitions.asn $(RRC_RRM_ASN1_DIR)/rrc-rrm.asn; cd -
cd $(RRC_RRM_ASN1_DIR);asn1c -gen-PER -fno-include-deps -fcompound-names -fnative-types -fskeletons-copy $(ASN1_RRC_SPEC_DIR)/EUTRA-RRC-Definitions.asn $(RRC_RRM_ASN1_DIR)/rrc-rrm.asn; cd -
libs:
make -j$(NUM_PROC) libasn1rrc libsqlite libSockets
all: libs
make -j$(NUM_PROC) $(PROGS)
rrm: $(RRM_OBJS) lib/libSockets.a lib/libasn1rrc.a
g++ -o $@ $^ $(LIBS)
mv rrm $(BIN_DIR)
rrm_exe: clean_test_objs
make -j$(NUM_PROC) rrm
clean_test_objs:
find $(COM_DIR)/rrc/ -name '*Response.o' -delete -print;
find $(COM_DIR)/rrc/ -name '*Reconfiguration.o' -delete -print;
dummy_rrc: CFLAGS += -DTEST_SCENARIO=1
dummy_rrc: $(TEST_OBJS) lib/libSockets.a lib/libasn1rrc.a
g++ -o $@ $^ $(LIBS)
mv dummy_rrc $(BIN_DIR)
test_exe: clean_test_objs
make -j$(NUM_PROC) dummy_rrc
clean:
find -name '*.o' -delete -print; \
find -name '*.bak' -delete -print; \
find -name '*.d' -delete -print; \
find -name '*~' -delete -print; \
rm -f bin/*; \
rm -f lib/*
cleanrrm:
find src/com/rrc -name '*.o' -delete -print; \
find src/com/rrm -name '*.o' -delete -print; \
find src/com -name 'Message.o' -delete -print; \
find src/radio_resources -name '*.o' -delete -print; \
find src/com -name '*.bak' -delete -print; \
find src/radio_resources -name '*.bak' -delete -print; \
find src/com -name '*.d' -delete -print; \
find src/radio_resources -name '*.d' -delete -print; \
find src/com -name '*~' -delete -print; \
find src/radio_resources -name '*~' -delete -print; \
rm -f bin/*; \
-include *.d
CXX = g++-4.3
CFLAGS += -Wall -g $(INCLUDE) -MD -D_VERSION='"$(VERSION)"'
# turn off optimization if compiling with gcc 2.9.x:
#CFLAGS += -O0
#CFLAGS += -O2
CFLAGS += -DLINUX
#LG TEST REMOVECFLAGS += -fPIC
LIBS += \
-lssl -lcrypto \
-lpthread
LDFLAGSSO = -shared \
-Wl,-lssl \
-Wl,-lcrypto \
-Wl,-lxml2 \
-Wl,-lpthread \
-Wl,-h$(SONAME) \
-Wl,-call_shared
CXX = g++
CFLAGS += -Wall -g $(INCLUDE) -MD -D_VERSION='"$(VERSION)"'
# turn off optimization if compiling with gcc 2.9.x:
#CFLAGS += -O0
CFLAGS += -O2
CFLAGS += -DLINUX -m64
CFLAGS += -fPIC
LIBS += \
-lssl -lcrypto \
-lpthread
OBJS += Semaphore.o
LDFLAGSSO = -shared \
-Wl,-lssl \
-Wl,-lcrypto \
-Wl,-lxml2 \
-Wl,-lpthread \
-Wl,-h$(SONAME) \
-Wl,-call_shared
SUBDIRS = src
EXTRA_DIST = README ChangeLog AUTHORS COPYING INSTALL NEWS
rrm$(EXEEXT):
$(MAKE) -C src $@
default: all
all:
autoreconf -i
clean:
rm -r aclocal.m4 autom4te.cache/ config.* configure depcomp install-sh missing src/config.h.in ltmain.sh INSTALL ; \
find . -name Makefile.in -exec rm '{}' ';'
This diff is collapsed.
###################################
To compile rrm
###################################
cd in this directory
make libs
make rrm_exe
rrm executable is in ./bin
###################################
To compile dummy_rrc
###################################
cd in this directory
make libs
make test_exe
dummy_rrc executable is in ./bin
dnl Process this file with autoconf to produce a configure script.
AC_INIT(Radio Resource Manager, 0.1.0)
AC_CONFIG_SRCDIR(src/rrm.cpp)
AC_CANONICAL_SYSTEM
dnl create an config-header
AC_CONFIG_HEADER(src/config.h)
dnl enable automake-support
AM_INIT_AUTOMAKE([gnu dist-zip tar-ustar dist-bzip2])
AC_DEFINE([OUTPUT_ACCURACY], [2], [defines the number of digits after the comma in output])
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CPP
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
dnl enable libtool-support
dnl gives a deprecated warning for RANLIB with newer libtools
AC_PROG_RANLIB
AM_PROG_LIBTOOL
dnl Check for enable-features that shall go into config.h
dnl ... for xerces 3.0
PKG_CHECK_MODULES([XERCES], [xerces-c >= 3.0],
[AC_DEFINE([XERCES3_SIZE_t],[XMLSize_t],[Define length for Xerces 3.])],
[AC_DEFINE([XERCES3_SIZE_t],[unsigned int],[Define length for Xerces 2.])])
AM_CONDITIONAL([WITH_VERSION_H], test -f .svn/entries)
if test -f .svn/entries; then
AC_DEFINE([HAVE_VERSION_H], [1], [Define if auto-generated version.h should be used.])
else
AC_DEFINE_UNQUOTED(VERSION_STRING, "$PACKAGE_VERSION", [Defined if auto-generated version.h is unavailable.])
fi
dnl ---------------------------------------------
dnl check for libraries...
dnl - - - - - - - - - - - - - - - - - - - - - - -
dnl ... for xerces
AC_ARG_WITH([xerces], [AS_HELP_STRING([--with-xerces=DIR],[where Xerces-C is installed (libraries in DIR/lib, headers in DIR/include).])])
if test x"$with_xerces" != x; then
if test x"$with_xerces_libraries" = x; then
with_xerces_libraries=$with_xerces/lib
fi
if test x"$with_xerces_includes" = x; then
with_xerces_includes=$with_xerces/include
fi
fi
dnl ... for libs
LIB_XERCES="xerces-c"
AC_ARG_WITH([xerces-libraries], [AS_HELP_STRING([--with-xerces-libraries=DIR],[where the Xerces-C library is installed.])])
if test x"$with_xerces_libraries" = x; then
AC_CHECK_LIB([$LIB_XERCES], [main], [true],
[AC_MSG_ERROR([xerces-lib not found. Specify path with option --with-xerces-libraries=DIR.])])
else
save_ldflags=$LDFLAGS
LDFLAGS="-L$with_xerces_libraries"
export LDFLAGS
AC_CHECK_LIB([$LIB_XERCES], [main], [XERCES_LDFLAGS=$LDFLAGS],
[AC_MSG_ERROR([xerces-lib not found in "$with_xerces_libraries".])])
LDFLAGS=$save_ldflags
AC_SUBST(XERCES_LDFLAGS)
fi
AC_SUBST(LIB_XERCES)
dnl ... for includes
AC_ARG_WITH([xerces-includes], [AS_HELP_STRING([--with-xerces-includes=DIR],[where the Xerces-C includes are.])])
save_cppflags=$CPPFLAGS
if test x"$with_xerces_includes" = x; then
CPPFLAGS="$CPPFLAGS -I/usr/local/include -I/usr/include"
export CPPFLAGS
AC_CHECK_HEADER([xercesc/util/XercesVersion.hpp], [AM_CPPFLAGS="$CPPFLAGS $AM_CPPFLAGS"],
[AC_MSG_ERROR([xerces-includes not found. Specify path with option --with-xerces-includes=DIR.])])
else
CPPFLAGS="-I$with_xerces_includes"
export CPPFLAGS
AC_CHECK_HEADER([xercesc/util/XercesVersion.hpp], [AM_CPPFLAGS="$CPPFLAGS $AM_CPPFLAGS"],
[AC_MSG_ERROR([xerces-includes not found in "$with_xerces_includes".])])
fi
CPPFLAGS=$save_cppflags
AM_CPPFLAGS="-I$PWD/$srcdir/src $AM_CPPFLAGS"
AC_SUBST(AM_CPPFLAGS)
AC_SUBST(AM_CXXFLAGS)
dnl ---------------------------------------------
dnl Checks proposed by autoscan.
dnl Checks for header files.
AC_FUNC_ALLOCA
AC_HEADER_STDC
AC_CHECK_HEADERS([float.h limits.h malloc.h math.h stddef.h stdlib.h string.h sys/time.h unistd.h wchar.h])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_C_VOLATILE
dnl Checks for library functions.
AC_FUNC_ERROR_AT_LINE
AC_FUNC_MALLOC
AC_FUNC_SELECT_ARGTYPES
AC_TYPE_SIGNAL
AC_FUNC_STAT
AC_CHECK_FUNCS([floor getcwd gettimeofday memset pow select socket sqrt])
dnl ---------------------------------------------
dnl add here all your Makefiles. These will be created by configure
AC_CONFIG_FILES([
src/Makefile
src/com/Makefile
src/foreign/Makefile
src/foreign/sockets-2.3.9.4/Makefile
src/foreign/sql/Makefile
src/foreign/tcpip/Makefile
src/utils/Makefile
src/utils/options/Makefile
Makefile])
AC_OUTPUT
dnl ---------------------------------------------
dnl Summary
AC_MSG_RESULT()
This diff is collapsed.
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#ifndef _MESSAGE_H_
# define _MESSAGE_H_
# include <string>
# include <cstring>
# include "socket_include.h"
# include "storage.h"
# include "platform.h"
#define MESSAGE_DESERIALIZE_BUFFER_SIZE 2048
#define MESSAGE_SERIALIZE_BUFFER_SIZE 2048
class Message
{
public:
typedef std::pair<std::string,int> e_nodeb_internet_address_id_t;
//============ STATUS ======================
static const msg_response_status_t STATUS_CONNECTION_ACCEPTED = 1;
static const msg_response_status_t STATUS_CONNECTION_FAILED = -1;
static const msg_response_status_t STATUS_ADD_USER_SUCCESSFULL = 2;
static const msg_response_status_t STATUS_ADD_USER_FAILED = -2;
static const msg_response_status_t STATUS_REMOVE_USER_SUCCESSFULL = 3;
static const msg_response_status_t STATUS_REMOVE_USER_FAILED = -3;
static const msg_response_status_t STATUS_ADD_RADIO_ACCESS_BEARER_SUCCESSFULL = 4;
static const msg_response_status_t STATUS_ADD_RADIO_ACCESS_BEARER_FAILED = -4;
static const msg_response_status_t STATUS_REMOVE_RADIO_ACCESS_BEARER_SUCCESSFULL = 5;
static const msg_response_status_t STATUS_REMOVE_RADIO_ACCESS_BEARER_FAILED = -5;
//============ MESSAGES ======================
static const msg_type_t MESSAGE_CONNECTION_REQUEST = 0;
static const msg_type_t MESSAGE_CONNECTION_RESPONSE = 1;
static const msg_type_t MESSAGE_CONNECTION_CLOSE = 2;
static const msg_type_t MESSAGE_CONNECTION_CLOSE_ACK = 3;
static const msg_type_t MESSAGE_ADD_USER_REQUEST = 4;
static const msg_type_t MESSAGE_ADD_USER_RESPONSE = 5;
static const msg_type_t MESSAGE_ADD_USER_CONFIRM = 6;
static const msg_type_t MESSAGE_REMOVE_USER_REQUEST = 7;
static const msg_type_t MESSAGE_REMOVE_USER_RESPONSE = 8;
static const msg_type_t MESSAGE_ADD_RADIO_ACCESS_BEARER_REQUEST = 9;
static const msg_type_t MESSAGE_ADD_RADIO_ACCESS_BEARER_RESPONSE = 10;
static const msg_type_t MESSAGE_ADD_RADIO_ACCESS_BEARER_CONFIRM = 11;
static const msg_type_t MESSAGE_REMOVE_RADIO_ACCESS_BEARER_REQUEST = 12;
static const msg_type_t MESSAGE_REMOVE_RADIO_ACCESS_BEARER_RESPONSE = 13;
static const msg_type_t MESSAGE_MEASUREMENT_REQUEST = 14;
static const msg_type_t MESSAGE_L1_MEASUREMENT_RG_INTERNAL_REPORT = 15;
static const msg_type_t MESSAGE_L1_MEASUREMENT_RG_QUALITY_REPORT = 16;
static const msg_type_t MESSAGE_L1_MEASUREMENT_RG_TRAFFIC_VOLUME_REPORT = 17;
static const msg_type_t MESSAGE_L1_MEASUREMENT_RG_PHYSICAL_CHANNEL_DATA_AMP_REPORT = 18;
static const msg_type_t MESSAGE_L1_MEASUREMENT_MT_INTERNAL_REPORT = 19;
static const msg_type_t MESSAGE_L1_MEASUREMENT_MT_QUALITY_REPORT = 20;
static const msg_type_t MESSAGE_L1_MEASUREMENT_MT_TRAFFIC_VOLUME_REPORT = 21;
static const msg_type_t MESSAGE_L1_MEASUREMENT_MT_INTRA_FREQUENCY_REPORT = 22;
static const msg_type_t MESSAGE_UPLINK_PHYSICAL_CHANNEL_CONTROL = 23;
static const msg_type_t MESSAGE_CONFIG_REQUEST = 24;
static const msg_type_t MESSAGE_ACK = 25;
static const msg_type_t MESSAGE_UPDATE_DSCH = 26;
//============ REASONS ======================
static const msg_response_reason_t MSG_RESP_OK = 0;
static const msg_response_reason_t MSG_RESP_PROTOCOL_ERROR = 1;
static const msg_response_reason_t MSG_RESP_RESSOURCES_UNAVAILABLE = 2;
static const msg_response_reason_t MSG_RESP_UNKNOWN_MESSAGE = 128;
static const msg_response_reason_t MSG_RESP_INTERNAL_ERROR = 255;
static uint8_t s_buffer[MESSAGE_DESERIALIZE_BUFFER_SIZE];
Message ();
Message(tcpip::Storage&);
virtual void Serialize () {};
virtual void Forward () {};
virtual void Serialize (char *out_bufferP, size_t* size_dataP) {};
static Message *DeserializeRRCMessage(const char *in_bufferP,size_t size_dataP,struct sockaddr *sa_fromP,socklen_t sa_lenP);
static Message *DeserializeRRMMessage(const char *in_bufferP,size_t size_dataP,struct sockaddr *sa_fromP,socklen_t sa_lenP);
static Message *Deserialize (const char *in_bufferP,size_t size_dataP,struct sockaddr *sa_fromP,socklen_t sa_lenP);
void ParseIpParameters(struct sockaddr *sa_fromP,socklen_t sa_lenP);
msg_length_t GetSerializedMessageSize();
const char* GetSerializedMessageBuffer();
const int GetSrcPort() {
return m_port_src;
};
const char* GetSrcAddress() {
return m_ip_char_src;
};
virtual ~ Message ();
static std::string StatusToString(msg_response_status_t);
static std::string ReasonToString(msg_response_reason_t);
protected:
msg_type_t m_type;
bool m_is_ipv6;
struct sockaddr_in m_sockaddr_in4_src;
struct sockaddr_in6 m_sockaddr_in6_src;
std::string m_ip_str_src;
char* m_ip_char_src;
int m_port_src;
tcpip::Storage m_message_storage;
unsigned char* m_message_buffer;
msg_length_t m_msg_length;
uint8_t m_message_serialize_buffer[MESSAGE_SERIALIZE_BUFFER_SIZE];
//uint8_t m_message_serialize_buffer[MESSAGE_DESERIALIZE_BUFFER_SIZE];
};
# endif
\ No newline at end of file
RRM-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
DRB-Identity,
PhysCellId,
RadioResourceConfigDedicated,
RRCConnectionReconfiguration-r8-IEs,
RRCConnectionReconfigurationComplete-r8-IEs,